diff --git a/asset-manifest.json b/asset-manifest.json index 1e2af21..f1345e6 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,17 +1,17 @@ { "files": { - "main.css": "/mapfest_mapmaking_challenge_2024/static/css/main.0e3b6a81.css", - "main.js": "/mapfest_mapmaking_challenge_2024/static/js/main.fa3e58f0.js", - "static/js/453.d19fc75a.chunk.js": "/mapfest_mapmaking_challenge_2024/static/js/453.d19fc75a.chunk.js", - "static/js/879.32072918.chunk.js": "/mapfest_mapmaking_challenge_2024/static/js/879.32072918.chunk.js", - "index.html": "/mapfest_mapmaking_challenge_2024/index.html", - "main.0e3b6a81.css.map": "/mapfest_mapmaking_challenge_2024/static/css/main.0e3b6a81.css.map", - "main.fa3e58f0.js.map": "/mapfest_mapmaking_challenge_2024/static/js/main.fa3e58f0.js.map", - "453.d19fc75a.chunk.js.map": "/mapfest_mapmaking_challenge_2024/static/js/453.d19fc75a.chunk.js.map", - "879.32072918.chunk.js.map": "/mapfest_mapmaking_challenge_2024/static/js/879.32072918.chunk.js.map" + "main.css": "/peru-mobile-signal-schools/static/css/main.94294986.css", + "main.js": "/peru-mobile-signal-schools/static/js/main.37c00351.js", + "static/js/453.d19fc75a.chunk.js": "/peru-mobile-signal-schools/static/js/453.d19fc75a.chunk.js", + "static/js/879.822c6055.chunk.js": "/peru-mobile-signal-schools/static/js/879.822c6055.chunk.js", + "index.html": "/peru-mobile-signal-schools/index.html", + "main.94294986.css.map": "/peru-mobile-signal-schools/static/css/main.94294986.css.map", + "main.37c00351.js.map": "/peru-mobile-signal-schools/static/js/main.37c00351.js.map", + "453.d19fc75a.chunk.js.map": "/peru-mobile-signal-schools/static/js/453.d19fc75a.chunk.js.map", + "879.822c6055.chunk.js.map": "/peru-mobile-signal-schools/static/js/879.822c6055.chunk.js.map" }, "entrypoints": [ - "static/css/main.0e3b6a81.css", - "static/js/main.fa3e58f0.js" + "static/css/main.94294986.css", + "static/js/main.37c00351.js" ] } \ No newline at end of file diff --git a/assets/csv_file/afghanistan_education.csv.gz b/assets/csv_file/afghanistan_education.csv.gz new file mode 100644 index 0000000..cdc2c0a Binary files /dev/null and b/assets/csv_file/afghanistan_education.csv.gz differ diff --git a/assets/csv_file/afghanistan_healthcare.csv.gz b/assets/csv_file/afghanistan_healthcare.csv.gz new file mode 100644 index 0000000..2145a68 Binary files /dev/null and b/assets/csv_file/afghanistan_healthcare.csv.gz differ diff --git a/assets/csv_file/afghanistan_transport.csv.gz b/assets/csv_file/afghanistan_transport.csv.gz new file mode 100644 index 0000000..cc9910e Binary files /dev/null and b/assets/csv_file/afghanistan_transport.csv.gz differ diff --git a/assets/csv_file/laos_education.csv.gz b/assets/csv_file/laos_education.csv.gz new file mode 100644 index 0000000..d34a3d9 Binary files /dev/null and b/assets/csv_file/laos_education.csv.gz differ diff --git a/assets/csv_file/laos_healthcare.csv.gz b/assets/csv_file/laos_healthcare.csv.gz new file mode 100644 index 0000000..e570e56 Binary files /dev/null and b/assets/csv_file/laos_healthcare.csv.gz differ diff --git a/assets/csv_file/laos_transport.csv.gz b/assets/csv_file/laos_transport.csv.gz new file mode 100644 index 0000000..6d1fb7a Binary files /dev/null and b/assets/csv_file/laos_transport.csv.gz differ diff --git a/assets/csv_file/myanmar_education.csv.gz b/assets/csv_file/myanmar_education.csv.gz new file mode 100644 index 0000000..267e010 Binary files /dev/null and b/assets/csv_file/myanmar_education.csv.gz differ diff --git a/assets/csv_file/myanmar_healthcare.csv.gz b/assets/csv_file/myanmar_healthcare.csv.gz new file mode 100644 index 0000000..7e34fe3 Binary files /dev/null and b/assets/csv_file/myanmar_healthcare.csv.gz differ diff --git a/assets/csv_file/myanmar_transport.csv.gz b/assets/csv_file/myanmar_transport.csv.gz new file mode 100644 index 0000000..ba547d7 Binary files /dev/null and b/assets/csv_file/myanmar_transport.csv.gz differ diff --git a/assets/csv_file/nepal_education.csv.gz b/assets/csv_file/nepal_education.csv.gz new file mode 100644 index 0000000..0034b8d Binary files /dev/null and b/assets/csv_file/nepal_education.csv.gz differ diff --git a/assets/csv_file/nepal_healthcare.csv.gz b/assets/csv_file/nepal_healthcare.csv.gz new file mode 100644 index 0000000..55c569e Binary files /dev/null and b/assets/csv_file/nepal_healthcare.csv.gz differ diff --git a/assets/csv_file/nepal_transport.csv.gz b/assets/csv_file/nepal_transport.csv.gz new file mode 100644 index 0000000..7b2db51 Binary files /dev/null and b/assets/csv_file/nepal_transport.csv.gz differ diff --git a/assets/csv_file/pakistan_education.csv.gz b/assets/csv_file/pakistan_education.csv.gz new file mode 100644 index 0000000..53060e3 Binary files /dev/null and b/assets/csv_file/pakistan_education.csv.gz differ diff --git a/assets/csv_file/pakistan_healthcare.csv.gz b/assets/csv_file/pakistan_healthcare.csv.gz new file mode 100644 index 0000000..6e1c04a Binary files /dev/null and b/assets/csv_file/pakistan_healthcare.csv.gz differ diff --git a/assets/csv_file/pakistan_transport.csv.gz b/assets/csv_file/pakistan_transport.csv.gz new file mode 100644 index 0000000..4d3b693 Binary files /dev/null and b/assets/csv_file/pakistan_transport.csv.gz differ diff --git a/assets/csv_file/vietnam_education.csv.gz b/assets/csv_file/vietnam_education.csv.gz new file mode 100644 index 0000000..92fda47 Binary files /dev/null and b/assets/csv_file/vietnam_education.csv.gz differ diff --git a/assets/csv_file/vietnam_healthcare.csv.gz b/assets/csv_file/vietnam_healthcare.csv.gz new file mode 100644 index 0000000..81dc6f4 Binary files /dev/null and b/assets/csv_file/vietnam_healthcare.csv.gz differ diff --git a/assets/csv_file/vietnam_transport.csv.gz b/assets/csv_file/vietnam_transport.csv.gz new file mode 100644 index 0000000..0eb944f Binary files /dev/null and b/assets/csv_file/vietnam_transport.csv.gz differ diff --git a/assets/marker/bicycle_parking.svg b/assets/marker/bicycle_parking.svg new file mode 100644 index 0000000..eda9620 --- /dev/null +++ b/assets/marker/bicycle_parking.svg @@ -0,0 +1,25 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/bicycle_rental.svg b/assets/marker/bicycle_rental.svg new file mode 100644 index 0000000..afeea41 --- /dev/null +++ b/assets/marker/bicycle_rental.svg @@ -0,0 +1,25 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/bus_station.svg b/assets/marker/bus_station.svg new file mode 100644 index 0000000..8fd23de --- /dev/null +++ b/assets/marker/bus_station.svg @@ -0,0 +1,39 @@ + + + + + + image/svg+xml + + + en + + + + + + + + + + diff --git a/assets/marker/car_rental.svg b/assets/marker/car_rental.svg new file mode 100644 index 0000000..22b1d52 --- /dev/null +++ b/assets/marker/car_rental.svg @@ -0,0 +1,25 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/charging_station.svg b/assets/marker/charging_station.svg new file mode 100644 index 0000000..9f68400 --- /dev/null +++ b/assets/marker/charging_station.svg @@ -0,0 +1,38 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/clinic.svg b/assets/marker/clinic.svg new file mode 100644 index 0000000..2f2478e --- /dev/null +++ b/assets/marker/clinic.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/assets/marker/college.png b/assets/marker/college.png new file mode 100644 index 0000000..d03f897 Binary files /dev/null and b/assets/marker/college.png differ diff --git a/assets/marker/dentist.svg b/assets/marker/dentist.svg new file mode 100644 index 0000000..b69776c --- /dev/null +++ b/assets/marker/dentist.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/assets/marker/doctors.svg b/assets/marker/doctors.svg new file mode 100644 index 0000000..e26af02 --- /dev/null +++ b/assets/marker/doctors.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/assets/marker/ferry_terminal.svg b/assets/marker/ferry_terminal.svg new file mode 100644 index 0000000..185e533 --- /dev/null +++ b/assets/marker/ferry_terminal.svg @@ -0,0 +1,44 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/assets/marker/fuel.svg b/assets/marker/fuel.svg new file mode 100644 index 0000000..7732d86 --- /dev/null +++ b/assets/marker/fuel.svg @@ -0,0 +1,25 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/hospital.svg b/assets/marker/hospital.svg new file mode 100644 index 0000000..2f2478e --- /dev/null +++ b/assets/marker/hospital.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/assets/marker/kindergarten.png b/assets/marker/kindergarten.png new file mode 100644 index 0000000..d03f897 Binary files /dev/null and b/assets/marker/kindergarten.png differ diff --git a/assets/marker/language_school.png b/assets/marker/language_school.png new file mode 100644 index 0000000..d03f897 Binary files /dev/null and b/assets/marker/language_school.png differ diff --git a/assets/marker/library.svg b/assets/marker/library.svg new file mode 100644 index 0000000..f4b2a0d --- /dev/null +++ b/assets/marker/library.svg @@ -0,0 +1,45 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/assets/marker/nursing_home.svg b/assets/marker/nursing_home.svg new file mode 100644 index 0000000..e26af02 --- /dev/null +++ b/assets/marker/nursing_home.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/assets/marker/parking.svg b/assets/marker/parking.svg new file mode 100644 index 0000000..b1f8808 --- /dev/null +++ b/assets/marker/parking.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/marker/parking_entrance.svg b/assets/marker/parking_entrance.svg new file mode 100644 index 0000000..b1f8808 --- /dev/null +++ b/assets/marker/parking_entrance.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/marker/pharmacy.svg b/assets/marker/pharmacy.svg new file mode 100644 index 0000000..4803a20 --- /dev/null +++ b/assets/marker/pharmacy.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/assets/marker/public_bookcase.svg b/assets/marker/public_bookcase.svg new file mode 100644 index 0000000..f649b02 --- /dev/null +++ b/assets/marker/public_bookcase.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/assets/marker/school.png b/assets/marker/school.png new file mode 100644 index 0000000..d03f897 Binary files /dev/null and b/assets/marker/school.png differ diff --git a/assets/marker/social_facility.svg b/assets/marker/social_facility.svg new file mode 100644 index 0000000..42a719c --- /dev/null +++ b/assets/marker/social_facility.svg @@ -0,0 +1,38 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/marker/taxi.svg b/assets/marker/taxi.svg new file mode 100644 index 0000000..13e85f6 --- /dev/null +++ b/assets/marker/taxi.svg @@ -0,0 +1,25 @@ + + + + + + image/svg+xml + + + + + + + + + \ No newline at end of file diff --git a/assets/marker/university.png b/assets/marker/university.png new file mode 100644 index 0000000..d03f897 Binary files /dev/null and b/assets/marker/university.png differ diff --git a/index.html b/index.html index be556c9..e952205 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -React App
\ No newline at end of file +React App
\ No newline at end of file diff --git a/static/css/main.0e3b6a81.css.map b/static/css/main.0e3b6a81.css.map deleted file mode 100644 index 03c7c65..0000000 --- a/static/css/main.0e3b6a81.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.0e3b6a81.css","mappings":"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","sources":["../node_modules/mapbox-gl/dist/mapbox-gl.css","assets/css/index.css"],"sourcesContent":[".mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}","@tailwind base;\n@tailwind components;\n@tailwind utilities;\nhtml, body {\n height: 100%;\n margin: 0;\n}\n#app {\n display: flex;\n flex-direction: column;\n height: 100%;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/css/main.0e3b6a81.css b/static/css/main.94294986.css similarity index 91% rename from static/css/main.0e3b6a81.css rename to static/css/main.94294986.css index c9b9ec8..325472d 100644 --- a/static/css/main.0e3b6a81.css +++ b/static/css/main.94294986.css @@ -1,5 +1,5 @@ .mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y} /* ! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com -*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.bottom-2{bottom:.5rem}.right-2{right:.5rem}.right-4{right:1rem}.top-12{top:3rem}.top-3{top:.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.inline-flex{display:inline-flex}.h-screen{height:100vh}.w-1\/4{width:25%}.w-full{width:100%}.w-screen{width:100vw}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}body,html{height:100%;margin:0}#app{display:flex;flex-direction:column;height:100%}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity))}@media (prefers-color-scheme:dark){.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}} -/*# sourceMappingURL=main.0e3b6a81.css.map*/ \ No newline at end of file +*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.bottom-8{bottom:2rem}.right-2{right:.5rem}.top-4{top:1rem}.z-10{z-index:10}.mx-1{margin-left:.25rem;margin-right:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.flex{display:flex}.inline-flex{display:inline-flex}.h-4{height:1rem}.h-screen{height:100vh}.max-h-60{max-height:15rem}.w-1\/4{width:25%}.w-4{width:1rem}.w-full{width:100%}.w-screen{width:100vw}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-start{justify-content:flex-start}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.fill-current{fill:currentColor}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}body,html{height:100%;margin:0}#app{display:flex;flex-direction:column;height:100%}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-gray-100:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity))}@media (prefers-color-scheme:dark){.dark\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:focus\:ring-gray-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}} +/*# sourceMappingURL=main.94294986.css.map*/ \ No newline at end of file diff --git a/static/css/main.94294986.css.map b/static/css/main.94294986.css.map new file mode 100644 index 0000000..6cf9764 --- /dev/null +++ b/static/css/main.94294986.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.94294986.css","mappings":"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","sources":["../node_modules/mapbox-gl/dist/mapbox-gl.css","assets/css/index.css"],"sourcesContent":[".mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E\")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:transparent;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\")}}.mapboxgl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:\"\";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\"\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:\"\";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid transparent;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid transparent;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:rgba(0,0,0,.7);color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}","@tailwind base;\n@tailwind components;\n@tailwind utilities;\nhtml, body {\n height: 100%;\n margin: 0;\n}\n#app {\n display: flex;\n flex-direction: column;\n height: 100%;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/879.32072918.chunk.js b/static/js/879.32072918.chunk.js deleted file mode 100644 index 39e2801..0000000 --- a/static/js/879.32072918.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 879.32072918.chunk.js.LICENSE.txt */ -(self.webpackChunkapp=self.webpackChunkapp||[]).push([[879],{879:function(e){e.exports=function(){"use strict";var e,t,i;function r(r,n){if(e)if(t){var o="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk); self.onerror = null;",s={};e(s),i=n(s),"undefined"!==typeof window&&window&&window.URL&&window.URL.createObjectURL&&(i.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}else t=n;else e=n}return r(["exports"],(function(e){var t="3.4.0";let i;const r={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==i){const e=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{i=null!={NODE_ENV:"production",PUBLIC_URL:"/mapfest_mapmaking_challenge_2024",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_MAPBOX_ACCESS_TOKEN:"pk.eyJ1IjoianVuaWNhMTIzIiwiYSI6ImNrM2dka2p1bTAwcjIzZG81ZXpzdnR5N3IifQ.FkHKKEUvWEBCHwodD-Ld9A"}.API_URL_REGEX?new RegExp({NODE_ENV:"production",PUBLIC_URL:"/mapfest_mapmaking_challenge_2024",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_MAPBOX_ACCESS_TOKEN:"pk.eyJ1IjoianVuaWNhMTIzIiwiYSI6ImNrM2dka2p1bTAwcjIzZG81ZXpzdnR5N3IifQ.FkHKKEUvWEBCHwodD-Ld9A"}.API_URL_REGEX):e}catch(t){i=e}}return i},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!r.API_URL)return null;try{const e=new URL(r.API_URL);return"api.mapbox.cn"===e.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===e.hostname?"https://events.mapbox.com/events/v2":null}catch(e){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",RASTERARRAYS_URL_PREFIX:"rasterarrays/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,DEFAULT_STYLE:"mapbox://styles/mapbox/standard",MAX_PARALLEL_IMAGE_REQUESTS:16,DRACO_URL:"https://api.mapbox.com/mapbox-gl-js/draco_decoder_gltf_v1.5.6.wasm",MESHOPT_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_base_v0.20.wasm",MESHOPT_SIMD_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_simd_v0.20.wasm",GLYPHS_URL:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"};function n(e){return r.API_URL_REGEX.test(e)}function o(e){return 0===e.indexOf("mapbox:")}function s(e){return r.API_CDN_URL_REGEX.test(e)}function a(e){return r.API_SPRITE_REGEX.test(e)}function l(e){return r.API_STYLE_REGEX.test(e)&&!a(e)}const c={create:"create",load:"load",fullLoad:"fullLoad"};function h(e){const t=e.name.split("?")[0];return s(t)&&t.includes("mapbox-gl.js")?"javascript":s(t)&&t.includes("mapbox-gl.css")?"css":function(e){return r.API_FONTS_REGEX.test(e)}(t)?"fontRange":a(t)?"sprite":l(t)?"style":function(e){return r.API_TILEJSON_REGEX.test(e)}(t)?"tilejson":"other"}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d={},p={};Object.defineProperty(p,"__esModule",{value:!0}),p.setMatrixArrayType=function(e){p.ARRAY_TYPE=m=e},p.toRadian=function(e){return e*g},p.equals=function(e,t){return Math.abs(e-t)<=f*Math.max(1,Math.abs(e),Math.abs(t))},p.RANDOM=p.ARRAY_TYPE=p.EPSILON=void 0;var f=1e-6;p.EPSILON=f;var m="undefined"!=typeof Float32Array?Float32Array:Array;p.ARRAY_TYPE=m;var _=Math.random;p.RANDOM=_;var g=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var y={};function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}Object.defineProperty(y,"__esModule",{value:!0}),y.create=function(){var e=new v.ARRAY_TYPE(4);return v.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},y.clone=function(e){var t=new v.ARRAY_TYPE(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},y.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},y.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},y.fromValues=function(e,t,i,r){var n=new v.ARRAY_TYPE(4);return n[0]=e,n[1]=t,n[2]=i,n[3]=r,n},y.set=function(e,t,i,r,n){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e},y.transpose=function(e,t){if(e===t){var i=t[1];e[1]=t[2],e[2]=i}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},y.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*o-n*r;return s?(e[0]=o*(s=1/s),e[1]=-r*s,e[2]=-n*s,e[3]=i*s,e):null},y.adjoint=function(e,t){var i=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=i,e},y.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},y.multiply=w,y.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+o*a,e[1]=n*l+s*a,e[2]=r*-a+o*l,e[3]=n*-a+s*l,e},y.scale=function(e,t,i){var r=t[1],n=t[2],o=t[3],s=i[0],a=i[1];return e[0]=t[0]*s,e[1]=r*s,e[2]=n*a,e[3]=o*a,e},y.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=-i,e[3]=r,e},y.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e},y.str=function(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},y.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},y.LDU=function(e,t,i,r){return e[2]=r[2]/r[0],i[0]=r[0],i[1]=r[1],i[3]=r[3]-e[2]*i[1],[e,t,i]},y.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e},y.subtract=T,y.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},y.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=t[0],a=t[1],l=t[2],c=t[3];return Math.abs(i-s)<=v.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(r-a)<=v.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-l)<=v.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(o-c)<=v.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},y.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e},y.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e},y.sub=y.mul=void 0;var v=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==x(e)&&"function"!=typeof e)return{default:e};var i=b(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(b=function(e){return e?i:t})(e)}function w(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*a+o*l,e[1]=n*a+s*l,e[2]=r*c+o*h,e[3]=n*c+s*h,e}function T(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e}y.mul=w,y.sub=T;var E={};function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}Object.defineProperty(E,"__esModule",{value:!0}),E.create=function(){var e=new M.ARRAY_TYPE(6);return M.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e},E.clone=function(e){var t=new M.ARRAY_TYPE(6);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},E.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},E.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},E.fromValues=function(e,t,i,r,n,o){var s=new M.ARRAY_TYPE(6);return s[0]=e,s[1]=t,s[2]=i,s[3]=r,s[4]=n,s[5]=o,s},E.set=function(e,t,i,r,n,o,s){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e},E.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=i*o-r*n;return l?(e[0]=o*(l=1/l),e[1]=-r*l,e[2]=-n*l,e[3]=i*l,e[4]=(n*a-o*s)*l,e[5]=(r*s-i*a)*l,e):null},E.determinant=function(e){return e[0]*e[3]-e[1]*e[2]},E.multiply=I,E.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=Math.sin(i),h=Math.cos(i);return e[0]=r*h+o*c,e[1]=n*h+s*c,e[2]=r*-c+o*h,e[3]=n*-c+s*h,e[4]=a,e[5]=l,e},E.scale=function(e,t,i){var r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=i[0],c=i[1];return e[0]=t[0]*l,e[1]=r*l,e[2]=n*c,e[3]=o*c,e[4]=s,e[5]=a,e},E.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=i[0],h=i[1];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=r*c+o*h+a,e[5]=n*c+s*h+l,e},E.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=-i,e[3]=r,e[4]=0,e[5]=0,e},E.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e[4]=0,e[5]=0,e},E.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e},E.str=function(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"},E.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],1)},E.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e},E.subtract=C,E.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e},E.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e},E.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]},E.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=t[0],c=t[1],h=t[2],u=t[3],d=t[4],p=t[5];return Math.abs(i-l)<=M.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(r-c)<=M.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-h)<=M.EPSILON*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(o-u)<=M.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(s-d)<=M.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(a-p)<=M.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))},E.sub=E.mul=void 0;var M=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==S(e)&&"function"!=typeof e)return{default:e};var i=A(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function A(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(A=function(e){return e?i:t})(e)}function I(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=i[0],h=i[1],u=i[2],d=i[3],p=i[4],f=i[5];return e[0]=r*c+o*h,e[1]=n*c+s*h,e[2]=r*u+o*d,e[3]=n*u+s*d,e[4]=r*p+o*f+a,e[5]=n*p+s*f+l,e}function C(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e}E.mul=I,E.sub=C;var P={};function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}Object.defineProperty(P,"__esModule",{value:!0}),P.create=function(){var e=new D.ARRAY_TYPE(9);return D.ARRAY_TYPE!=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},P.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},P.clone=function(e){var t=new D.ARRAY_TYPE(9);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},P.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},P.fromValues=function(e,t,i,r,n,o,s,a,l){var c=new D.ARRAY_TYPE(9);return c[0]=e,c[1]=t,c[2]=i,c[3]=r,c[4]=n,c[5]=o,c[6]=s,c[7]=a,c[8]=l,c},P.set=function(e,t,i,r,n,o,s,a,l,c){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e[8]=c,e},P.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.transpose=function(e,t){if(e===t){var i=t[1],r=t[2],n=t[5];e[1]=t[3],e[2]=t[6],e[3]=i,e[5]=t[7],e[6]=r,e[7]=n}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},P.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=h*s-a*c,d=-h*o+a*l,p=c*o-s*l,f=i*u+r*d+n*p;return f?(e[0]=u*(f=1/f),e[1]=(-h*r+n*c)*f,e[2]=(a*r-n*s)*f,e[3]=d*f,e[4]=(h*i-n*l)*f,e[5]=(-a*i+n*o)*f,e[6]=p*f,e[7]=(-c*i+r*l)*f,e[8]=(s*i-r*o)*f,e):null},P.adjoint=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8];return e[0]=s*h-a*c,e[1]=n*c-r*h,e[2]=r*a-n*s,e[3]=a*l-o*h,e[4]=i*h-n*l,e[5]=n*o-i*a,e[6]=o*c-s*l,e[7]=r*l-i*c,e[8]=i*s-r*o,e},P.determinant=function(e){var t=e[3],i=e[4],r=e[5],n=e[6],o=e[7],s=e[8];return e[0]*(s*i-r*o)+e[1]*(-s*t+r*n)+e[2]*(o*t-i*n)},P.multiply=L,P.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=i[0],p=i[1];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=l,e[6]=d*r+p*s+c,e[7]=d*n+p*a+h,e[8]=d*o+p*l+u,e},P.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=Math.sin(i),p=Math.cos(i);return e[0]=p*r+d*s,e[1]=p*n+d*a,e[2]=p*o+d*l,e[3]=p*s-d*r,e[4]=p*a-d*n,e[5]=p*l-d*o,e[6]=c,e[7]=h,e[8]=u,e},P.scale=function(e,t,i){var r=i[0],n=i[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=n*t[3],e[4]=n*t[4],e[5]=n*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},P.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e},P.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=0,e[3]=-i,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.fromMat2d=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},P.fromQuat=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i+i,a=r+r,l=n+n,c=i*s,h=r*s,u=r*a,d=n*s,p=n*a,f=n*l,m=o*s,_=o*a,g=o*l;return e[0]=1-u-f,e[3]=h-g,e[6]=d+_,e[1]=h+g,e[4]=1-c-f,e[7]=p-m,e[2]=d-_,e[5]=p+m,e[8]=1-c-u,e},P.normalFromMat4=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15],y=i*a-r*s,x=i*l-n*s,v=i*c-o*s,b=r*l-n*a,w=r*c-o*a,T=n*c-o*l,E=h*m-u*f,S=h*_-d*f,M=h*g-p*f,A=u*_-d*m,I=u*g-p*m,C=d*g-p*_,P=y*C-x*I+v*A+b*M-w*S+T*E;return P?(e[0]=(a*C-l*I+c*A)*(P=1/P),e[1]=(l*M-s*C-c*S)*P,e[2]=(s*I-a*M+c*E)*P,e[3]=(n*I-r*C-o*A)*P,e[4]=(i*C-n*M+o*S)*P,e[5]=(r*M-i*I-o*E)*P,e[6]=(m*T-_*w+g*b)*P,e[7]=(_*v-f*T-g*x)*P,e[8]=(f*w-m*v+g*y)*P,e):null},P.projection=function(e,t,i){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/i,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e},P.str=function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},P.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},P.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e[6]=t[6]+i[6],e[7]=t[7]+i[7],e[8]=t[8]+i[8],e},P.subtract=k,P.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*i,e},P.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e[6]=t[6]+i[6]*r,e[7]=t[7]+i[7]*r,e[8]=t[8]+i[8]*r,e},P.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},P.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=t[0],d=t[1],p=t[2],f=t[3],m=t[4],_=t[5],g=t[6],y=t[7],x=t[8];return Math.abs(i-u)<=D.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(r-d)<=D.EPSILON*Math.max(1,Math.abs(r),Math.abs(d))&&Math.abs(n-p)<=D.EPSILON*Math.max(1,Math.abs(n),Math.abs(p))&&Math.abs(o-f)<=D.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-m)<=D.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(a-_)<=D.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(l-g)<=D.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(c-y)<=D.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(h-x)<=D.EPSILON*Math.max(1,Math.abs(h),Math.abs(x))},P.sub=P.mul=void 0;var D=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==z(e)&&"function"!=typeof e)return{default:e};var i=R(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function R(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(R=function(e){return e?i:t})(e)}function L(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=i[0],p=i[1],f=i[2],m=i[3],_=i[4],g=i[5],y=i[6],x=i[7],v=i[8];return e[0]=d*r+p*s+f*c,e[1]=d*n+p*a+f*h,e[2]=d*o+p*l+f*u,e[3]=m*r+_*s+g*c,e[4]=m*n+_*a+g*h,e[5]=m*o+_*l+g*u,e[6]=y*r+x*s+v*c,e[7]=y*n+x*a+v*h,e[8]=y*o+x*l+v*u,e}function k(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e[6]=t[6]-i[6],e[7]=t[7]-i[7],e[8]=t[8]-i[8],e}P.mul=L,P.sub=k;var O={};function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}Object.defineProperty(O,"__esModule",{value:!0}),O.create=function(){var e=new F.ARRAY_TYPE(16);return F.ARRAY_TYPE!=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},O.clone=function(e){var t=new F.ARRAY_TYPE(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},O.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},O.fromValues=function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){var _=new F.ARRAY_TYPE(16);return _[0]=e,_[1]=t,_[2]=i,_[3]=r,_[4]=n,_[5]=o,_[6]=s,_[7]=a,_[8]=l,_[9]=c,_[10]=h,_[11]=u,_[12]=d,_[13]=p,_[14]=f,_[15]=m,_},O.set=function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e[8]=c,e[9]=h,e[10]=u,e[11]=d,e[12]=p,e[13]=f,e[14]=m,e[15]=_,e},O.identity=V,O.transpose=function(e,t){if(e===t){var i=t[1],r=t[2],n=t[3],o=t[6],s=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=i,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=o,e[11]=t[14],e[12]=n,e[13]=s,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},O.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15],y=i*a-r*s,x=i*l-n*s,v=i*c-o*s,b=r*l-n*a,w=r*c-o*a,T=n*c-o*l,E=h*m-u*f,S=h*_-d*f,M=h*g-p*f,A=u*_-d*m,I=u*g-p*m,C=d*g-p*_,P=y*C-x*I+v*A+b*M-w*S+T*E;return P?(e[0]=(a*C-l*I+c*A)*(P=1/P),e[1]=(n*I-r*C-o*A)*P,e[2]=(m*T-_*w+g*b)*P,e[3]=(d*w-u*T-p*b)*P,e[4]=(l*M-s*C-c*S)*P,e[5]=(i*C-n*M+o*S)*P,e[6]=(_*v-f*T-g*x)*P,e[7]=(h*T-d*v+p*x)*P,e[8]=(s*I-a*M+c*E)*P,e[9]=(r*M-i*I-o*E)*P,e[10]=(f*w-m*v+g*y)*P,e[11]=(u*v-h*w-p*y)*P,e[12]=(a*S-s*A-l*E)*P,e[13]=(i*A-r*S+n*E)*P,e[14]=(m*x-f*b-_*y)*P,e[15]=(h*b-u*x+d*y)*P,e):null},O.adjoint=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15];return e[0]=a*(d*g-p*_)-u*(l*g-c*_)+m*(l*p-c*d),e[1]=-(r*(d*g-p*_)-u*(n*g-o*_)+m*(n*p-o*d)),e[2]=r*(l*g-c*_)-a*(n*g-o*_)+m*(n*c-o*l),e[3]=-(r*(l*p-c*d)-a*(n*p-o*d)+u*(n*c-o*l)),e[4]=-(s*(d*g-p*_)-h*(l*g-c*_)+f*(l*p-c*d)),e[5]=i*(d*g-p*_)-h*(n*g-o*_)+f*(n*p-o*d),e[6]=-(i*(l*g-c*_)-s*(n*g-o*_)+f*(n*c-o*l)),e[7]=i*(l*p-c*d)-s*(n*p-o*d)+h*(n*c-o*l),e[8]=s*(u*g-p*m)-h*(a*g-c*m)+f*(a*p-c*u),e[9]=-(i*(u*g-p*m)-h*(r*g-o*m)+f*(r*p-o*u)),e[10]=i*(a*g-c*m)-s*(r*g-o*m)+f*(r*c-o*a),e[11]=-(i*(a*p-c*u)-s*(r*p-o*u)+h*(r*c-o*a)),e[12]=-(s*(u*_-d*m)-h*(a*_-l*m)+f*(a*d-l*u)),e[13]=i*(u*_-d*m)-h*(r*_-n*m)+f*(r*d-n*u),e[14]=-(i*(a*_-l*m)-s*(r*_-n*m)+f*(r*l-n*a)),e[15]=i*(a*d-l*u)-s*(r*d-n*u)+h*(r*l-n*a),e},O.determinant=function(e){var t=e[0],i=e[1],r=e[2],n=e[3],o=e[4],s=e[5],a=e[6],l=e[7],c=e[8],h=e[9],u=e[10],d=e[11],p=e[12],f=e[13],m=e[14],_=e[15];return(t*s-i*o)*(u*_-d*m)-(t*a-r*o)*(h*_-d*f)+(t*l-n*o)*(h*m-u*f)+(i*a-r*s)*(c*_-d*p)-(i*l-n*s)*(c*m-u*p)+(r*l-n*a)*(c*f-h*p)},O.multiply=U,O.translate=function(e,t,i){var r,n,o,s,a,l,c,h,u,d,p,f,m=i[0],_=i[1],g=i[2];return t===e?(e[12]=t[0]*m+t[4]*_+t[8]*g+t[12],e[13]=t[1]*m+t[5]*_+t[9]*g+t[13],e[14]=t[2]*m+t[6]*_+t[10]*g+t[14],e[15]=t[3]*m+t[7]*_+t[11]*g+t[15]):(n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],e[0]=r=t[0],e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=l,e[6]=c,e[7]=h,e[8]=u,e[9]=d,e[10]=p,e[11]=f,e[12]=r*m+a*_+u*g+t[12],e[13]=n*m+l*_+d*g+t[13],e[14]=o*m+c*_+p*g+t[14],e[15]=s*m+h*_+f*g+t[15]),e},O.scale=function(e,t,i){var r=i[0],n=i[1],o=i[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]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},O.rotate=function(e,t,i,r){var n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I=r[0],C=r[1],P=r[2],z=Math.hypot(I,C,P);return z0?(i[0]=2*(a*s+h*r+l*o-c*n)/u,i[1]=2*(l*s+h*n+c*r-a*o)/u,i[2]=2*(c*s+h*o+a*n-l*r)/u):(i[0]=2*(a*s+h*r+l*o-c*n),i[1]=2*(l*s+h*n+c*r-a*o),i[2]=2*(c*s+h*o+a*n-l*r)),j(e,t,i),e},O.getTranslation=function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},O.getScaling=G,O.getRotation=function(e,t){var i=new F.ARRAY_TYPE(3);G(i,t);var r=1/i[0],n=1/i[1],o=1/i[2],s=t[0]*r,a=t[1]*n,l=t[2]*o,c=t[4]*r,h=t[5]*n,u=t[6]*o,d=t[8]*r,p=t[9]*n,f=t[10]*o,m=s+h+f,_=0;return m>0?(_=2*Math.sqrt(m+1),e[3]=.25*_,e[0]=(u-p)/_,e[1]=(d-l)/_,e[2]=(a-c)/_):s>h&&s>f?(_=2*Math.sqrt(1+s-h-f),e[3]=(u-p)/_,e[0]=.25*_,e[1]=(a+c)/_,e[2]=(d+l)/_):h>f?(_=2*Math.sqrt(1+h-s-f),e[3]=(d-l)/_,e[0]=(a+c)/_,e[1]=.25*_,e[2]=(u+p)/_):(_=2*Math.sqrt(1+f-s-h),e[3]=(a-c)/_,e[0]=(d+l)/_,e[1]=(u+p)/_,e[2]=.25*_),e},O.fromRotationTranslationScale=function(e,t,i,r){var n=t[0],o=t[1],s=t[2],a=t[3],l=n+n,c=o+o,h=s+s,u=n*l,d=n*c,p=n*h,f=o*c,m=o*h,_=s*h,g=a*l,y=a*c,x=a*h,v=r[0],b=r[1],w=r[2];return e[0]=(1-(f+_))*v,e[1]=(d+x)*v,e[2]=(p-y)*v,e[3]=0,e[4]=(d-x)*b,e[5]=(1-(u+_))*b,e[6]=(m+g)*b,e[7]=0,e[8]=(p+y)*w,e[9]=(m-g)*w,e[10]=(1-(u+f))*w,e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e},O.fromRotationTranslationScaleOrigin=function(e,t,i,r,n){var o=t[0],s=t[1],a=t[2],l=t[3],c=o+o,h=s+s,u=a+a,d=o*c,p=o*h,f=o*u,m=s*h,_=s*u,g=a*u,y=l*c,x=l*h,v=l*u,b=r[0],w=r[1],T=r[2],E=n[0],S=n[1],M=n[2],A=(1-(m+g))*b,I=(p+v)*b,C=(f-x)*b,P=(p-v)*w,z=(1-(d+g))*w,D=(_+y)*w,R=(f+x)*T,L=(_-y)*T,k=(1-(d+m))*T;return e[0]=A,e[1]=I,e[2]=C,e[3]=0,e[4]=P,e[5]=z,e[6]=D,e[7]=0,e[8]=R,e[9]=L,e[10]=k,e[11]=0,e[12]=i[0]+E-(A*E+P*S+R*M),e[13]=i[1]+S-(I*E+z*S+L*M),e[14]=i[2]+M-(C*E+D*S+k*M),e[15]=1,e},O.fromQuat=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i+i,a=r+r,l=n+n,c=i*s,h=r*s,u=r*a,d=n*s,p=n*a,f=n*l,m=o*s,_=o*a,g=o*l;return e[0]=1-u-f,e[1]=h+g,e[2]=d-_,e[3]=0,e[4]=h-g,e[5]=1-c-f,e[6]=p+m,e[7]=0,e[8]=d+_,e[9]=p-m,e[10]=1-c-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},O.frustum=function(e,t,i,r,n,o,s){var a=1/(i-t),l=1/(n-r),c=1/(o-s);return e[0]=2*o*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*o*l,e[6]=0,e[7]=0,e[8]=(i+t)*a,e[9]=(n+r)*l,e[10]=(s+o)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*o*2*c,e[15]=0,e},O.perspectiveNO=q,O.perspectiveZO=function(e,t,i,r,n){var o,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=n*(o=1/(r-n)),e[14]=n*r*o):(e[10]=-1,e[14]=-r),e},O.perspectiveFromFieldOfView=function(e,t,i,r){var n=Math.tan(t.upDegrees*Math.PI/180),o=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),l=2/(s+a),c=2/(n+o);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(s-a)*l*.5,e[9]=(n-o)*c*.5,e[10]=r/(i-r),e[11]=-1,e[12]=0,e[13]=0,e[14]=r*i/(i-r),e[15]=0,e},O.orthoNO=Z,O.orthoZO=function(e,t,i,r,n,o,s){var a=1/(t-i),l=1/(r-n),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+i)*a,e[13]=(n+r)*l,e[14]=o*c,e[15]=1,e},O.lookAt=function(e,t,i,r){var n,o,s,a,l,c,h,u,d,p,f=t[0],m=t[1],_=t[2],g=r[0],y=r[1],x=r[2],v=i[0],b=i[1],w=i[2];return Math.abs(f-v)0&&(h*=p=1/Math.sqrt(p),u*=p,d*=p);var f=l*d-c*u,m=c*h-a*d,_=a*u-l*h;return(p=f*f+m*m+_*_)>0&&(f*=p=1/Math.sqrt(p),m*=p,_*=p),e[0]=f,e[1]=m,e[2]=_,e[3]=0,e[4]=u*_-d*m,e[5]=d*f-h*_,e[6]=h*m-u*f,e[7]=0,e[8]=h,e[9]=u,e[10]=d,e[11]=0,e[12]=n,e[13]=o,e[14]=s,e[15]=1,e},O.str=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},O.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},O.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e[6]=t[6]+i[6],e[7]=t[7]+i[7],e[8]=t[8]+i[8],e[9]=t[9]+i[9],e[10]=t[10]+i[10],e[11]=t[11]+i[11],e[12]=t[12]+i[12],e[13]=t[13]+i[13],e[14]=t[14]+i[14],e[15]=t[15]+i[15],e},O.subtract=$,O.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12]*i,e[13]=t[13]*i,e[14]=t[14]*i,e[15]=t[15]*i,e},O.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e[6]=t[6]+i[6]*r,e[7]=t[7]+i[7]*r,e[8]=t[8]+i[8]*r,e[9]=t[9]+i[9]*r,e[10]=t[10]+i[10]*r,e[11]=t[11]+i[11]*r,e[12]=t[12]+i[12]*r,e[13]=t[13]+i[13]*r,e[14]=t[14]+i[14]*r,e[15]=t[15]+i[15]*r,e},O.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},O.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=e[9],d=e[10],p=e[11],f=e[12],m=e[13],_=e[14],g=e[15],y=t[0],x=t[1],v=t[2],b=t[3],w=t[4],T=t[5],E=t[6],S=t[7],M=t[8],A=t[9],I=t[10],C=t[11],P=t[12],z=t[13],D=t[14],R=t[15];return Math.abs(i-y)<=F.EPSILON*Math.max(1,Math.abs(i),Math.abs(y))&&Math.abs(r-x)<=F.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(n-v)<=F.EPSILON*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(o-b)<=F.EPSILON*Math.max(1,Math.abs(o),Math.abs(b))&&Math.abs(s-w)<=F.EPSILON*Math.max(1,Math.abs(s),Math.abs(w))&&Math.abs(a-T)<=F.EPSILON*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(l-E)<=F.EPSILON*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(c-S)<=F.EPSILON*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(h-M)<=F.EPSILON*Math.max(1,Math.abs(h),Math.abs(M))&&Math.abs(u-A)<=F.EPSILON*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(d-I)<=F.EPSILON*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(p-C)<=F.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(f-P)<=F.EPSILON*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(m-z)<=F.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(_-D)<=F.EPSILON*Math.max(1,Math.abs(_),Math.abs(D))&&Math.abs(g-R)<=F.EPSILON*Math.max(1,Math.abs(g),Math.abs(R))},O.sub=O.mul=O.ortho=O.perspective=void 0;var F=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==B(e)&&"function"!=typeof e)return{default:e};var i=N(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function N(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(N=function(e){return e?i:t})(e)}function V(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 U(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],m=t[12],_=t[13],g=t[14],y=t[15],x=i[0],v=i[1],b=i[2],w=i[3];return e[0]=x*r+v*a+b*u+w*m,e[1]=x*n+v*l+b*d+w*_,e[2]=x*o+v*c+b*p+w*g,e[3]=x*s+v*h+b*f+w*y,e[4]=(x=i[4])*r+(v=i[5])*a+(b=i[6])*u+(w=i[7])*m,e[5]=x*n+v*l+b*d+w*_,e[6]=x*o+v*c+b*p+w*g,e[7]=x*s+v*h+b*f+w*y,e[8]=(x=i[8])*r+(v=i[9])*a+(b=i[10])*u+(w=i[11])*m,e[9]=x*n+v*l+b*d+w*_,e[10]=x*o+v*c+b*p+w*g,e[11]=x*s+v*h+b*f+w*y,e[12]=(x=i[12])*r+(v=i[13])*a+(b=i[14])*u+(w=i[15])*m,e[13]=x*n+v*l+b*d+w*_,e[14]=x*o+v*c+b*p+w*g,e[15]=x*s+v*h+b*f+w*y,e}function j(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=r+r,l=n+n,c=o+o,h=r*a,u=r*l,d=r*c,p=n*l,f=n*c,m=o*c,_=s*a,g=s*l,y=s*c;return e[0]=1-(p+m),e[1]=u+y,e[2]=d-g,e[3]=0,e[4]=u-y,e[5]=1-(h+m),e[6]=f+_,e[7]=0,e[8]=d+g,e[9]=f-_,e[10]=1-(h+p),e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e}function G(e,t){var i=t[4],r=t[5],n=t[6],o=t[8],s=t[9],a=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(i,r,n),e[2]=Math.hypot(o,s,a),e}function q(e,t,i,r,n){var o,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=(n+r)*(o=1/(r-n)),e[14]=2*n*r*o):(e[10]=-1,e[14]=-2*r),e}function Z(e,t,i,r,n,o,s){var a=1/(t-i),l=1/(r-n),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+i)*a,e[13]=(n+r)*l,e[14]=(s+o)*c,e[15]=1,e}function $(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e[6]=t[6]-i[6],e[7]=t[7]-i[7],e[8]=t[8]-i[8],e[9]=t[9]-i[9],e[10]=t[10]-i[10],e[11]=t[11]-i[11],e[12]=t[12]-i[12],e[13]=t[13]-i[13],e[14]=t[14]-i[14],e[15]=t[15]-i[15],e}O.perspective=q,O.ortho=Z,O.mul=U,O.sub=$;var W={},Q={};function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}Object.defineProperty(Q,"__esModule",{value:!0}),Q.create=K,Q.clone=function(e){var t=new X.ARRAY_TYPE(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},Q.length=J,Q.fromValues=function(e,t,i){var r=new X.ARRAY_TYPE(3);return r[0]=e,r[1]=t,r[2]=i,r},Q.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},Q.set=function(e,t,i,r){return e[0]=t,e[1]=i,e[2]=r,e},Q.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e},Q.subtract=ee,Q.multiply=te,Q.divide=ie,Q.ceil=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},Q.floor=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},Q.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e[2]=Math.min(t[2],i[2]),e},Q.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e[2]=Math.max(t[2],i[2]),e},Q.round=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},Q.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e},Q.scaleAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e},Q.distance=re,Q.squaredDistance=ne,Q.squaredLength=oe,Q.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},Q.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},Q.normalize=function(e,t){var i=t[0],r=t[1],n=t[2],o=i*i+r*r+n*n;return o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e},Q.dot=se,Q.cross=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[0],a=i[1],l=i[2];return e[0]=n*l-o*a,e[1]=o*s-r*l,e[2]=r*a-n*s,e},Q.lerp=function(e,t,i,r){var n=t[0],o=t[1],s=t[2];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e[2]=s+r*(i[2]-s),e},Q.hermite=function(e,t,i,r,n,o){var s=o*o,a=s*(2*o-3)+1,l=s*(o-2)+o,c=s*(o-1),h=s*(3-2*o);return e[0]=t[0]*a+i[0]*l+r[0]*c+n[0]*h,e[1]=t[1]*a+i[1]*l+r[1]*c+n[1]*h,e[2]=t[2]*a+i[2]*l+r[2]*c+n[2]*h,e},Q.bezier=function(e,t,i,r,n,o){var s=1-o,a=s*s,l=o*o,c=a*s,h=3*o*a,u=3*l*s,d=l*o;return e[0]=t[0]*c+i[0]*h+r[0]*u+n[0]*d,e[1]=t[1]*c+i[1]*h+r[1]*u+n[1]*d,e[2]=t[2]*c+i[2]*h+r[2]*u+n[2]*d,e},Q.random=function(e,t){t=t||1;var i=2*X.RANDOM()*Math.PI,r=2*X.RANDOM()-1,n=Math.sqrt(1-r*r)*t;return e[0]=Math.cos(i)*n,e[1]=Math.sin(i)*n,e[2]=r*t,e},Q.transformMat4=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[3]*r+i[7]*n+i[11]*o+i[15];return e[0]=(i[0]*r+i[4]*n+i[8]*o+i[12])/(s=s||1),e[1]=(i[1]*r+i[5]*n+i[9]*o+i[13])/s,e[2]=(i[2]*r+i[6]*n+i[10]*o+i[14])/s,e},Q.transformMat3=function(e,t,i){var r=t[0],n=t[1],o=t[2];return e[0]=r*i[0]+n*i[3]+o*i[6],e[1]=r*i[1]+n*i[4]+o*i[7],e[2]=r*i[2]+n*i[5]+o*i[8],e},Q.transformQuat=function(e,t,i){var r=i[0],n=i[1],o=i[2],s=t[0],a=t[1],l=t[2],c=n*l-o*a,h=o*s-r*l,u=r*a-n*s,d=n*u-o*h,p=o*c-r*u,f=r*h-n*c,m=2*i[3];return h*=m,u*=m,p*=2,f*=2,e[0]=s+(c*=m)+(d*=2),e[1]=a+h+p,e[2]=l+u+f,e},Q.rotateX=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[0],o[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),o[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.rotateY=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),o[1]=n[1],o[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.rotateZ=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),o[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),o[2]=n[2],e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.angle=function(e,t){var i=e[0],r=e[1],n=e[2],o=t[0],s=t[1],a=t[2],l=Math.sqrt(i*i+r*r+n*n)*Math.sqrt(o*o+s*s+a*a),c=l&&se(e,t)/l;return Math.acos(Math.min(Math.max(c,-1),1))},Q.zero=function(e){return e[0]=0,e[1]=0,e[2]=0,e},Q.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},Q.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},Q.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=t[0],s=t[1],a=t[2];return Math.abs(i-o)<=X.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-s)<=X.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-a)<=X.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))},Q.forEach=Q.sqrLen=Q.len=Q.sqrDist=Q.dist=Q.div=Q.mul=Q.sub=void 0;var X=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==H(e)&&"function"!=typeof e)return{default:e};var i=Y(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function Y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(Y=function(e){return e?i:t})(e)}function K(){var e=new X.ARRAY_TYPE(3);return X.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function J(e){return Math.hypot(e[0],e[1],e[2])}function ee(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e}function te(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e}function ie(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e}function re(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2])}function ne(e,t){var i=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2];return i*i+r*r+n*n}function oe(e){var t=e[0],i=e[1],r=e[2];return t*t+i*i+r*r}function se(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}Q.sub=ee,Q.mul=te,Q.div=ie,Q.dist=re,Q.sqrDist=ne,Q.len=J,Q.sqrLen=oe;var ae,le=(ae=K(),function(e,t,i,r,n,o){var s,a;for(t||(t=3),i||(i=0),a=r?Math.min(r*t+i,e.length):e.length,s=i;s0&&(s=1/Math.sqrt(s)),e[0]=i*s,e[1]=r*s,e[2]=n*s,e[3]=o*s,e},ce.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},ce.cross=function(e,t,i,r){var n=i[0]*r[1]-i[1]*r[0],o=i[0]*r[2]-i[2]*r[0],s=i[0]*r[3]-i[3]*r[0],a=i[1]*r[2]-i[2]*r[1],l=i[1]*r[3]-i[3]*r[1],c=i[2]*r[3]-i[3]*r[2],h=t[0],u=t[1],d=t[2],p=t[3];return e[0]=u*c-d*l+p*a,e[1]=-h*c+d*s-p*o,e[2]=h*l-u*s+p*n,e[3]=-h*a+u*o-d*n,e},ce.lerp=function(e,t,i,r){var n=t[0],o=t[1],s=t[2],a=t[3];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e[2]=s+r*(i[2]-s),e[3]=a+r*(i[3]-a),e},ce.random=function(e,t){var i,r,n,o,s,a;t=t||1;do{s=(i=2*ue.RANDOM()-1)*i+(r=2*ue.RANDOM()-1)*r}while(s>=1);do{a=(n=2*ue.RANDOM()-1)*n+(o=2*ue.RANDOM()-1)*o}while(a>=1);var l=Math.sqrt((1-s)/a);return e[0]=t*i,e[1]=t*r,e[2]=t*n*l,e[3]=t*o*l,e},ce.transformMat4=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3];return e[0]=i[0]*r+i[4]*n+i[8]*o+i[12]*s,e[1]=i[1]*r+i[5]*n+i[9]*o+i[13]*s,e[2]=i[2]*r+i[6]*n+i[10]*o+i[14]*s,e[3]=i[3]*r+i[7]*n+i[11]*o+i[15]*s,e},ce.transformQuat=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[0],a=i[1],l=i[2],c=i[3],h=c*r+a*o-l*n,u=c*n+l*r-s*o,d=c*o+s*n-a*r,p=-s*r-a*n-l*o;return e[0]=h*c+p*-s+u*-l-d*-a,e[1]=u*c+p*-a+d*-s-h*-l,e[2]=d*c+p*-l+h*-a-u*-s,e[3]=t[3],e},ce.zero=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e},ce.str=function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},ce.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},ce.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=t[0],a=t[1],l=t[2],c=t[3];return Math.abs(i-s)<=ue.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(r-a)<=ue.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-l)<=ue.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(o-c)<=ue.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},ce.forEach=ce.sqrLen=ce.len=ce.sqrDist=ce.dist=ce.div=ce.mul=ce.sub=void 0;var ue=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==he(e)&&"function"!=typeof e)return{default:e};var i=de(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function de(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(de=function(e){return e?i:t})(e)}function pe(){var e=new ue.ARRAY_TYPE(4);return ue.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function fe(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e}function me(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e[3]=t[3]*i[3],e}function _e(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e[3]=t[3]/i[3],e}function ge(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2],t[3]-e[3])}function ye(e,t){var i=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2],o=t[3]-e[3];return i*i+r*r+n*n+o*o}function xe(e){return Math.hypot(e[0],e[1],e[2],e[3])}function ve(e){var t=e[0],i=e[1],r=e[2],n=e[3];return t*t+i*i+r*r+n*n}ce.sub=fe,ce.mul=me,ce.div=_e,ce.dist=ge,ce.sqrDist=ye,ce.len=xe,ce.sqrLen=ve;var be=function(){var e=pe();return function(t,i,r,n,o,s){var a,l;for(i||(i=4),r||(r=0),l=n?Math.min(n*i+r,t.length):t.length,a=r;aTe.EPSILON?(e[0]=t[0]/r,e[1]=t[1]/r,e[2]=t[2]/r):(e[0]=1,e[1]=0,e[2]=0),i},W.getAngle=function(e,t){var i=Be(e,t);return Math.acos(2*i*i-1)},W.multiply=ze,W.rotateX=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+s*a,e[1]=n*l+o*a,e[2]=o*l-n*a,e[3]=s*l-r*a,e},W.rotateY=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l-o*a,e[1]=n*l+s*a,e[2]=o*l+r*a,e[3]=s*l-n*a,e},W.rotateZ=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+n*a,e[1]=n*l-r*a,e[2]=o*l+s*a,e[3]=s*l-o*a,e},W.calculateW=function(e,t){var i=t[0],r=t[1],n=t[2];return e[0]=i,e[1]=r,e[2]=n,e[3]=Math.sqrt(Math.abs(1-i*i-r*r-n*n)),e},W.exp=De,W.ln=Re,W.pow=function(e,t,i){return Re(e,t),Oe(e,e,i),De(e,e),e},W.slerp=Le,W.random=function(e){var t=Te.RANDOM(),i=Te.RANDOM(),r=Te.RANDOM(),n=Math.sqrt(1-t),o=Math.sqrt(t);return e[0]=n*Math.sin(2*Math.PI*i),e[1]=n*Math.cos(2*Math.PI*i),e[2]=o*Math.sin(2*Math.PI*r),e[3]=o*Math.cos(2*Math.PI*r),e},W.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*i+r*r+n*n+o*o,a=s?1/s:0;return e[0]=-i*a,e[1]=-r*a,e[2]=-n*a,e[3]=o*a,e},W.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},W.fromMat3=ke,W.fromEuler=function(e,t,i,r){var n=.5*Math.PI/180;t*=n,i*=n,r*=n;var o=Math.sin(t),s=Math.cos(t),a=Math.sin(i),l=Math.cos(i),c=Math.sin(r),h=Math.cos(r);return e[0]=o*l*h-s*a*c,e[1]=s*a*h+o*l*c,e[2]=s*l*c-o*a*h,e[3]=s*l*h+o*a*c,e},W.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},W.setAxes=W.sqlerp=W.rotationTo=W.equals=W.exactEquals=W.normalize=W.sqrLen=W.squaredLength=W.len=W.length=W.lerp=W.dot=W.scale=W.mul=W.add=W.set=W.copy=W.fromValues=W.clone=void 0;var Te=Ie(p),Ee=Ie(P),Se=Ie(Q),Me=Ie(ce);function Ae(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(Ae=function(e){return e?i:t})(e)}function Ie(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==we(e)&&"function"!=typeof e)return{default:e};var i=Ae(t);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}function Ce(){var e=new Te.ARRAY_TYPE(4);return Te.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Pe(e,t,i){i*=.5;var r=Math.sin(i);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(i),e}function ze(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*h+s*a+n*c-o*l,e[1]=n*h+s*l+o*a-r*c,e[2]=o*h+s*c+r*l-n*a,e[3]=s*h-r*a-n*l-o*c,e}function De(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=Math.sqrt(i*i+r*r+n*n),a=Math.exp(o),l=s>0?a*Math.sin(s)/s:0;return e[0]=i*l,e[1]=r*l,e[2]=n*l,e[3]=a*Math.cos(s),e}function Re(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=Math.sqrt(i*i+r*r+n*n),a=s>0?Math.atan2(s,o)/s:0;return e[0]=i*a,e[1]=r*a,e[2]=n*a,e[3]=.5*Math.log(i*i+r*r+n*n+o*o),e}function Le(e,t,i,r){var n,o,s,a,l,c=t[0],h=t[1],u=t[2],d=t[3],p=i[0],f=i[1],m=i[2],_=i[3];return(o=c*p+h*f+u*m+d*_)<0&&(o=-o,p=-p,f=-f,m=-m,_=-_),1-o>Te.EPSILON?(n=Math.acos(o),s=Math.sin(n),a=Math.sin((1-r)*n)/s,l=Math.sin(r*n)/s):(a=1-r,l=r),e[0]=a*c+l*p,e[1]=a*h+l*f,e[2]=a*u+l*m,e[3]=a*d+l*_,e}function ke(e,t){var i,r=t[0]+t[4]+t[8];if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,e[0]=(t[5]-t[7])*(i=.5/i),e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var n=0;t[4]>t[0]&&(n=1),t[8]>t[3*n+n]&&(n=2);var o=(n+1)%3,s=(n+2)%3;i=Math.sqrt(t[3*n+n]-t[3*o+o]-t[3*s+s]+1),e[n]=.5*i,e[3]=(t[3*o+s]-t[3*s+o])*(i=.5/i),e[o]=(t[3*o+n]+t[3*n+o])*i,e[s]=(t[3*s+n]+t[3*n+s])*i}return e}W.clone=Me.clone,W.fromValues=Me.fromValues,W.copy=Me.copy,W.set=Me.set,W.add=Me.add,W.mul=ze;var Oe=Me.scale;W.scale=Oe;var Be=Me.dot;W.dot=Be,W.lerp=Me.lerp;var Fe=Me.length;W.length=Fe,W.len=Fe;var Ne=Me.squaredLength;W.squaredLength=Ne,W.sqrLen=Ne;var Ve=Me.normalize;W.normalize=Ve,W.exactEquals=Me.exactEquals,W.equals=Me.equals;var Ue,je,Ge,qe=(Ue=Se.create(),je=Se.fromValues(1,0,0),Ge=Se.fromValues(0,1,0),function(e,t,i){var r=Se.dot(t,i);return r<-.999999?(Se.cross(Ue,je,t),Se.len(Ue)<1e-6&&Se.cross(Ue,Ge,t),Se.normalize(Ue,Ue),Pe(e,Ue,Math.PI),e):r>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(Se.cross(Ue,t,i),e[0]=Ue[0],e[1]=Ue[1],e[2]=Ue[2],e[3]=1+r,Ve(e,e))});W.rotationTo=qe;var Ze,$e,We=(Ze=Ce(),$e=Ce(),function(e,t,i,r,n,o){return Le(Ze,t,n,o),Le($e,i,r,o),Le(e,Ze,$e,2*o*(1-o)),e});W.sqlerp=We;var Qe,He=(Qe=Ee.create(),function(e,t,i,r){return Qe[0]=i[0],Qe[3]=i[1],Qe[6]=i[2],Qe[1]=r[0],Qe[4]=r[1],Qe[7]=r[2],Qe[2]=-t[0],Qe[5]=-t[1],Qe[8]=-t[2],Ve(e,ke(e,Qe))});W.setAxes=He;var Xe={};function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.create=function(){var e=new Ke.ARRAY_TYPE(8);return Ke.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0),e[3]=1,e},Xe.clone=function(e){var t=new Ke.ARRAY_TYPE(8);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},Xe.fromValues=function(e,t,i,r,n,o,s,a){var l=new Ke.ARRAY_TYPE(8);return l[0]=e,l[1]=t,l[2]=i,l[3]=r,l[4]=n,l[5]=o,l[6]=s,l[7]=a,l},Xe.fromRotationTranslationValues=function(e,t,i,r,n,o,s){var a=new Ke.ARRAY_TYPE(8);a[0]=e,a[1]=t,a[2]=i,a[3]=r;var l=.5*n,c=.5*o,h=.5*s;return a[4]=l*r+c*i-h*t,a[5]=c*r+h*e-l*i,a[6]=h*r+l*t-c*e,a[7]=-l*e-c*t-h*i,a},Xe.fromRotationTranslation=rt,Xe.fromTranslation=function(e,t){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=.5*t[0],e[5]=.5*t[1],e[6]=.5*t[2],e[7]=0,e},Xe.fromRotation=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=0,e[5]=0,e[6]=0,e[7]=0,e},Xe.fromMat4=function(e,t){var i=Je.create();et.getRotation(i,t);var r=new Ke.ARRAY_TYPE(3);return et.getTranslation(r,t),rt(e,i,r),e},Xe.copy=nt,Xe.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e},Xe.set=function(e,t,i,r,n,o,s,a,l){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e},Xe.getDual=function(e,t){return e[0]=t[4],e[1]=t[5],e[2]=t[6],e[3]=t[7],e},Xe.setDual=function(e,t){return e[4]=t[0],e[5]=t[1],e[6]=t[2],e[7]=t[3],e},Xe.getTranslation=function(e,t){var i=t[4],r=t[5],n=t[6],o=t[7],s=-t[0],a=-t[1],l=-t[2],c=t[3];return e[0]=2*(i*c+o*s+r*l-n*a),e[1]=2*(r*c+o*a+n*s-i*l),e[2]=2*(n*c+o*l+i*a-r*s),e},Xe.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=.5*i[0],l=.5*i[1],c=.5*i[2],h=t[4],u=t[5],d=t[6],p=t[7];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=s*a+n*c-o*l+h,e[5]=s*l+o*a-r*c+u,e[6]=s*c+r*l-n*a+d,e[7]=-r*a-n*l-o*c+p,e},Xe.rotateX=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateX(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateY=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateY(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateZ=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateZ(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateByQuatAppend=function(e,t,i){var r=i[0],n=i[1],o=i[2],s=i[3],a=t[0],l=t[1],c=t[2],h=t[3];return e[0]=a*s+h*r+l*o-c*n,e[1]=l*s+h*n+c*r-a*o,e[2]=c*s+h*o+a*n-l*r,e[3]=h*s-a*r-l*n-c*o,e[4]=(a=t[4])*s+(h=t[7])*r+(l=t[5])*o-(c=t[6])*n,e[5]=l*s+h*n+c*r-a*o,e[6]=c*s+h*o+a*n-l*r,e[7]=h*s-a*r-l*n-c*o,e},Xe.rotateByQuatPrepend=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*h+s*a+n*c-o*l,e[1]=n*h+s*l+o*a-r*c,e[2]=o*h+s*c+r*l-n*a,e[3]=s*h-r*a-n*l-o*c,e[4]=r*(h=i[7])+s*(a=i[4])+n*(c=i[6])-o*(l=i[5]),e[5]=n*h+s*l+o*a-r*c,e[6]=o*h+s*c+r*l-n*a,e[7]=s*h-r*a-n*l-o*c,e},Xe.rotateAroundAxis=function(e,t,i,r){if(Math.abs(r)0){i=Math.sqrt(i);var r=t[0]/i,n=t[1]/i,o=t[2]/i,s=t[3]/i,a=t[4],l=t[5],c=t[6],h=t[7],u=r*a+n*l+o*c+s*h;e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=(a-r*u)/i,e[5]=(l-n*u)/i,e[6]=(c-o*u)/i,e[7]=(h-s*u)/i}return e},Xe.str=function(e){return"quat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+")"},Xe.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]},Xe.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=t[0],u=t[1],d=t[2],p=t[3],f=t[4],m=t[5],_=t[6],g=t[7];return Math.abs(i-h)<=Ke.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-u)<=Ke.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-d)<=Ke.EPSILON*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(o-p)<=Ke.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-f)<=Ke.EPSILON*Math.max(1,Math.abs(s),Math.abs(f))&&Math.abs(a-m)<=Ke.EPSILON*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(l-_)<=Ke.EPSILON*Math.max(1,Math.abs(l),Math.abs(_))&&Math.abs(c-g)<=Ke.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))},Xe.sqrLen=Xe.squaredLength=Xe.len=Xe.length=Xe.dot=Xe.mul=Xe.setReal=Xe.getReal=void 0;var Ke=it(p),Je=it(W),et=it(O);function tt(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(tt=function(e){return e?i:t})(e)}function it(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==Ye(e)&&"function"!=typeof e)return{default:e};var i=tt(t);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}function rt(e,t,i){var r=.5*i[0],n=.5*i[1],o=.5*i[2],s=t[0],a=t[1],l=t[2],c=t[3];return e[0]=s,e[1]=a,e[2]=l,e[3]=c,e[4]=r*c+n*l-o*a,e[5]=n*c+o*s-r*l,e[6]=o*c+r*a-n*s,e[7]=-r*s-n*a-o*l,e}function nt(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}function ot(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[4],l=i[5],c=i[6],h=i[7],u=t[4],d=t[5],p=t[6],f=t[7],m=i[0],_=i[1],g=i[2],y=i[3];return e[0]=r*y+s*m+n*g-o*_,e[1]=n*y+s*_+o*m-r*g,e[2]=o*y+s*g+r*_-n*m,e[3]=s*y-r*m-n*_-o*g,e[4]=r*h+s*a+n*c-o*l+u*y+f*m+d*g-p*_,e[5]=n*h+s*l+o*a-r*c+d*y+f*_+p*m-u*g,e[6]=o*h+s*c+r*l-n*a+p*y+f*g+u*_-d*m,e[7]=s*h-r*a-n*l-o*c+f*y-u*m-d*_-p*g,e}Xe.getReal=Je.copy,Xe.setReal=Je.copy,Xe.mul=ot;var st=Je.dot;Xe.dot=st;var at=Je.length;Xe.length=at,Xe.len=at;var lt=Je.squaredLength;Xe.squaredLength=lt,Xe.sqrLen=lt;var ct={};function ht(e){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ht(e)}Object.defineProperty(ct,"__esModule",{value:!0}),ct.create=pt,ct.clone=function(e){var t=new ut.ARRAY_TYPE(2);return t[0]=e[0],t[1]=e[1],t},ct.fromValues=function(e,t){var i=new ut.ARRAY_TYPE(2);return i[0]=e,i[1]=t,i},ct.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},ct.set=function(e,t,i){return e[0]=t,e[1]=i,e},ct.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e},ct.subtract=ft,ct.multiply=mt,ct.divide=_t,ct.ceil=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e},ct.floor=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e},ct.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e},ct.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e},ct.round=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e},ct.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e},ct.scaleAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e},ct.distance=gt,ct.squaredDistance=yt,ct.length=xt,ct.squaredLength=vt,ct.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},ct.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e},ct.normalize=function(e,t){var i=t[0],r=t[1],n=i*i+r*r;return n>0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e},ct.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},ct.cross=function(e,t,i){var r=t[0]*i[1]-t[1]*i[0];return e[0]=e[1]=0,e[2]=r,e},ct.lerp=function(e,t,i,r){var n=t[0],o=t[1];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e},ct.random=function(e,t){t=t||1;var i=2*ut.RANDOM()*Math.PI;return e[0]=Math.cos(i)*t,e[1]=Math.sin(i)*t,e},ct.transformMat2=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[2]*n,e[1]=i[1]*r+i[3]*n,e},ct.transformMat2d=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[2]*n+i[4],e[1]=i[1]*r+i[3]*n+i[5],e},ct.transformMat3=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[3]*n+i[6],e[1]=i[1]*r+i[4]*n+i[7],e},ct.transformMat4=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[4]*n+i[12],e[1]=i[1]*r+i[5]*n+i[13],e},ct.rotate=function(e,t,i,r){var n=t[0]-i[0],o=t[1]-i[1],s=Math.sin(r),a=Math.cos(r);return e[0]=n*a-o*s+i[0],e[1]=n*s+o*a+i[1],e},ct.angle=function(e,t){var i=e[0],r=e[1],n=t[0],o=t[1],s=Math.sqrt(i*i+r*r)*Math.sqrt(n*n+o*o);return Math.acos(Math.min(Math.max(s&&(i*n+r*o)/s,-1),1))},ct.zero=function(e){return e[0]=0,e[1]=0,e},ct.str=function(e){return"vec2("+e[0]+", "+e[1]+")"},ct.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ct.equals=function(e,t){var i=e[0],r=e[1],n=t[0],o=t[1];return Math.abs(i-n)<=ut.EPSILON*Math.max(1,Math.abs(i),Math.abs(n))&&Math.abs(r-o)<=ut.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))},ct.forEach=ct.sqrLen=ct.sqrDist=ct.dist=ct.div=ct.mul=ct.sub=ct.len=void 0;var ut=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ht(e)&&"function"!=typeof e)return{default:e};var i=dt(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function dt(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(dt=function(e){return e?i:t})(e)}function pt(){var e=new ut.ARRAY_TYPE(2);return ut.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0),e}function ft(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e}function mt(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e}function _t(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e}function gt(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1])}function yt(e,t){var i=t[0]-e[0],r=t[1]-e[1];return i*i+r*r}function xt(e){return Math.hypot(e[0],e[1])}function vt(e){var t=e[0],i=e[1];return t*t+i*i}ct.len=xt,ct.sub=ft,ct.mul=mt,ct.div=_t,ct.dist=gt,ct.sqrDist=yt,ct.sqrLen=vt;var bt=function(){var e=pt();return function(t,i,r,n,o,s){var a,l;for(i||(i=2),r||(r=0),l=n?Math.min(n*i+r,t.length):t.length,a=r;a1)return 1;for(var i=e,r=0;r<8;r++){var n=this.sampleCurveX(i)-e;if(Math.abs(n)n?s=i:a=i,i=.5*(a-s)+s;return i},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var Bt=u(kt),Ft=Nt;function Nt(e,t){this.x=e,this.y=t}Nt.prototype={clone:function(){return new Nt(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,i=e.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),i=Math.sin(e),r=i*this.x+t*this.y;return this.x=t*this.x-i*this.y,this.y=r,this},_rotateAround:function(e,t){var i=Math.cos(e),r=Math.sin(e),n=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=t.x+i*(this.x-t.x)-r*(this.y-t.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Nt.convert=function(e){return e instanceof Nt?e:Array.isArray(e)?new Nt(e[0],e[1]):e};var Vt=u(Ft);const Ut=Math.PI/180,jt=180/Math.PI;function Gt(e){return e*Ut}function qt(e){return e*jt}const Zt=[[0,0],[1,0],[1,1],[0,1]];function $t(e){if(e<=0)return 0;if(e>=1)return 1;const t=e*e,i=t*e;return 4*(e<.5?i:3*(e-t)+i-.75)}function Wt(e,t,i,r){const n=new Bt(e,t,i,r);return function(e){return n.solve(e)}}const Qt=Wt(.25,.1,.25,1);function Ht(e,t,i){return Math.min(i,Math.max(t,e))}function Xt(e,t,i){return(i=Ht((i-e)/(t-e),0,1))*i*(3-2*i)}function Yt(e,t,i){const r=i-t,n=((e-t)%r+r)%r+t;return n===t?i:n}function Kt(e,t,i){if(!e.length)return i(null,[]);let r=e.length;const n=new Array(e.length);let o=null;e.forEach(((e,s)=>{t(e,((e,t)=>{e&&(o=e),n[s]=t,0==--r&&i(o,n)}))}))}function Jt(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r>t/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function ri(e){return e<=1?1:Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function ni(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function oi(e,t){e.forEach((e=>{t[e]&&(t[e]=t[e].bind(t))}))}function si(e,t){return-1!==e.indexOf(t,e.length-t.length)}function ai(e,t,i){const r={};for(const n in e)r[n]=t.call(this,e[n],n,e);return r}function li(e,t,i){const r={};for(const n in e)t.call(this,e[n],n,e)&&(r[n]=e[n]);return r}function ci(e){return Array.isArray(e)?e.map(ci):"object"==typeof e&&e?ai(e,ci):e}const hi={};function ui(e){hi[e]||("undefined"!=typeof console&&console.warn(e),hi[e]=!0)}function di(e,t,i){return(i.y-e.y)*(t.x-e.x)>(t.y-e.y)*(i.x-e.x)}function pi(e){let t=0;for(let i,r,n=0,o=e.length,s=o-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,i,r,n)=>{const o=r||n;return t[i]=!o||o.toLowerCase(),""})),t["max-age"]){const e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t}let gi,yi,xi,vi,bi,wi,Ti=null;function Ei(e){try{const t=self[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(e){return!1}}function Si(e,t){return[e[4*t],e[4*t+1],e[4*t+2],e[4*t+3]]}function Mi(e,t,i,r){for(;t>1;e[n]>1;e[n]<=r?t=n+1:i=n}return t}function Ii(e){return e>0?1/(1.001-e):1+e}function Ci(e){return e>0?1-1/(1.001-e):-e}function Pi(){return null==gi&&(gi=self.OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),gi}const zi={now:()=>void 0!==vi?vi:performance.now(),setNow(e){vi=e},restoreNow(){vi=void 0},frame(e){const t=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(t)}},getImageData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const{width:i,height:r}=e;bi||(bi=document.createElement("canvas"));const n=bi.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("failed to create canvas 2d context");return(i>bi.width||r>bi.height)&&(bi.width=i,bi.height=r),n.clearRect(-t,-t,i+2*t,r+2*t),n.drawImage(e,0,0,i,r),n.getImageData(-t,-t,i+2*t,r+2*t)},resolveURL:e=>(yi||(yi=document.createElement("a")),yi.href=e,yi.href),get devicePixelRatio(){return window.devicePixelRatio},get prefersReducedMotion(){return!!window.matchMedia&&(null==xi&&(xi=window.matchMedia("(prefers-reduced-motion: reduce)")),xi.matches)},hasCanvasFingerprintNoise(){if(void 0!==wi)return wi;if(!Pi())return wi=!1,!1;const e=new OffscreenCanvas(85,1),t=e.getContext("2d",{willReadFrequently:!0});let i=0;for(let n=0;n1&&void 0!==arguments[1]?arguments[1]:{persistentParams:[]};const i=e.indexOf("?");if(i<0)return e;const r=new URLSearchParams,n=new URLSearchParams(e.slice(i));for(const s of t.persistentParams){const e=n.get(s);e&&r.set(s,e)}const o=r.toString();return`${e.slice(0,i)}${o.length>0?`?${o}`:""}`}const Li="mapbox-tiles";let ki,Oi,Bi=500,Fi=50;function Ni(){try{return caches}catch(e){}}function Vi(){const e=Ni();e&&!ki&&(ki=e.open(Li))}let Ui=1/0;const ji={supported:!1,testSupport:function(e){!Zi&&qi&&($i?Qi(e):Gi=e)}};let Gi,qi,Zi=!1,$i=!1;const Wi="undefined"!=typeof self?self:{};function Qi(e){const t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,qi),e.isContextLost())return;ji.supported=!0}catch(e){}e.deleteTexture(t),Zi=!0}Wi.document&&(qi=Wi.document.createElement("img"),qi.onload=function(){Gi&&Qi(Gi),Gi=null,$i=!0},qi.onerror=function(){Zi=!0,Gi=null},qi.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const Hi={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image",Model:"Model"};"function"==typeof Object.freeze&&Object.freeze(Hi);class Xi extends Error{constructor(e,t,i){401===t&&n(i)&&(e+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(e),this.status=t,this.url=i}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const Yi=mi()?()=>self.worker&&self.worker.referrer:()=>("blob:"===location.protocol?parent:self).location.href,Ki=function(e,t){if(!(/^file:/.test(i=e.url)||/^file:/.test(Yi())&&!/^\w+:/.test(i))){if(self.fetch&&self.Request&&self.AbortController&&Request.prototype.hasOwnProperty("signal"))return function(e,t){const i=new AbortController,r=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:Yi(),referrerPolicy:e.referrerPolicy,signal:i.signal});let o=!1,s=!1;const a=(l=r.url).indexOf("sku=")>0&&n(l);var l;"json"===e.type&&r.headers.set("Accept","application/json");const c=(i,n,o)=>{if(s)return;if(i&&"SecurityError"!==i.message&&ui(i.toString()),n&&o)return h(n);const l=Date.now();fetch(r).then((i=>{if(i.ok){const e=a?i.clone():null;return h(i,e,l)}return t(new Xi(i.statusText,i.status,e.url))})).catch((i=>{"AbortError"!==i.name&&t(new Error(`${i.message} ${e.url}`))}))},h=(i,n,a)=>{("arrayBuffer"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text()).then((e=>{s||(n&&a&&function(e,t,i){if(Vi(),!ki)return;const r=_i(t.headers.get("Cache-Control")||"");if(r["no-store"])return;const n={status:t.status,statusText:t.statusText,headers:new Headers};t.headers.forEach(((e,t)=>n.headers.set(t,e))),r["max-age"]&&n.headers.set("Expires",new Date(i+1e3*r["max-age"]).toUTCString());const o=n.headers.get("Expires");if(!o)return;if(new Date(o).getTime()-i<42e4)return;let s=Ri(e.url,{persistentParams:["language","worldview"]});if(206===t.status){const t=e.headers.get("Range");if(!t)return;n.status=200,s=Di(s,{range:t})}!function(e,t){if(void 0===Oi)try{new Response(new ReadableStream),Oi=!0}catch(e){Oi=!1}Oi?t(e.body):e.blob().then(t)}(t,(e=>{const t=new Response(e,n);Vi(),ki&&ki.then((e=>e.put(s,t))).catch((e=>ui(e.message)))}))}(r,n,a),o=!0,t(null,e,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((e=>{s||t(new Error(e.message))}))};return a?function(e,t){if(Vi(),!ki)return t(null);ki.then((i=>{let r=Ri(e.url,{persistentParams:["language","worldview"]});const n=e.headers.get("Range");n&&(r=Di(r,{range:n})),i.match(r).then((e=>{const n=function(e){if(!e)return!1;const t=new Date(e.headers.get("Expires")||0),i=_i(e.headers.get("Cache-Control")||"");return t>Date.now()&&!i["no-cache"]}(e);i.delete(r),n&&i.put(r,e.clone()),t(null,e,n)})).catch(t)})).catch(t)}(r,c):c(null,null),{cancel:()=>{s=!0,o||i.abort()}}}(e,t);if(mi()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}var i;return function(e,t){const i=new XMLHttpRequest;i.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(i.responseType="arraybuffer");for(const r in e.headers)i.setRequestHeader(r,e.headers[r]);return"json"===e.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===e.credentials,i.onerror=()=>{t(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===e.type)try{r=JSON.parse(i.response)}catch(e){return t(e)}t(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else t(new Xi(i.statusText,i.status,e.url))},i.send(e.body),{cancel:()=>i.abort()}}(e,t)},Ji=function(e,t){return Ki(Jt(e,{type:"arrayBuffer"}),t)};function er(e){const t=document.createElement("a");return t.href=e,t.protocol===location.protocol&&t.host===location.host}const tr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let ir,rr;ir=[],rr=0;const nr=function(e,t){if(ji.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),rr>=r.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:e,callback:t,cancelled:!1,cancel(){this.cancelled=!0}};return ir.push(i),i}rr++;let i=!1;const n=()=>{if(!i)for(i=!0,rr--;ir.length&&rr{n(),e?t(e):i&&(self.createImageBitmap?function(e,t){const i=new Blob([new Uint8Array(e)],{type:"image/png"});createImageBitmap(i).then((e=>{t(null,e)})).catch((e=>{t(new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(i,((e,i)=>t(e,i,r,o))):function(e,t){const i=new Image;i.onload=()=>{t(null,i),URL.revokeObjectURL(i.src),i.onload=null,requestAnimationFrame((()=>{i.src=tr}))},i.onerror=()=>t(new 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."));const r=new Blob([new Uint8Array(e)],{type:"image/png"});i.src=e.byteLength?URL.createObjectURL(r):tr}(i,((e,i)=>t(e,i,r,o))))}));return{cancel:()=>{o.cancel(),n()}}},or="01",sr="NO_ACCESS_TOKEN",ar=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function lr(e){const t=e.match(ar);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function cr(e){const t=e.params.length?`?${e.params.join("&")}`:"";return`${e.protocol}://${e.authority}${e.path}${t}`}const hr="mapbox.eventData";function ur(e){if(!e)return null;const t=e.split(".");if(!t||3!==t.length)return null;try{return JSON.parse(decodeURIComponent(atob(t[1]).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(e){return null}}class dr{constructor(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(e){const t=ur(r.ACCESS_TOKEN);let i="";return i=t&&t.u?btoa(encodeURIComponent(t.u).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(Number("0x"+t))))):r.ACCESS_TOKEN||"",e?`${hr}.${e}:${i}`:`${hr}:${i}`}fetchEventData(){const e=Ei("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid");if(e)try{const e=localStorage.getItem(t);e&&(this.eventData=JSON.parse(e));const r=localStorage.getItem(i);r&&(this.anonId=r)}catch(e){ui("Unable to read from LocalStorage")}}saveEventData(){const e=Ei("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid"),r=this.anonId;if(e&&r)try{localStorage.setItem(i,r),Object.keys(this.eventData).length>=1&&localStorage.setItem(t,JSON.stringify(this.eventData))}catch(e){ui("Unable to write to LocalStorage")}}processRequests(e){}postEvent(e,t,i,n){if(!r.EVENTS_URL)return;const o=lr(r.EVENTS_URL);o.params.push(`access_token=${n||r.ACCESS_TOKEN||""}`);const s={event:this.type,created:new Date(e).toISOString()},a=t?Jt(s,t):s,l={url:cr(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([a])};this.pendingRequest=function(e,t){return Ki(Jt(e,{method:"POST"}),t)}(l,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(n)}))}queueRequest(e,t){this.queue.push(e),this.processRequests(t)}}const pr=new class extends dr{constructor(e){super("appUserTurnstile"),this._customAccessToken=e}postTurnstileEvent(e,t){r.EVENTS_URL&&r.ACCESS_TOKEN&&Array.isArray(e)&&e.some((e=>o(e)||n(e)))&&this.queueRequest(Date.now(),t)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const i=ur(r.ACCESS_TOKEN),n=i?i.u:r.ACCESS_TOKEN;let o=n!==this.eventData.tokenU;ni(this.anonId)||(this.anonId=ii(),o=!0);const s=this.queue.shift();if(this.eventData.lastSuccess){const e=new Date(this.eventData.lastSuccess),t=new Date(s),i=(s-this.eventData.lastSuccess)/864e5;o=o||i>=1||i<-1||e.getDate()!==t.getDate()}else o=!0;o?this.postEvent(s,{sdkIdentifier:"mapbox-gl-js",sdkVersion:t,skuId:or,"enabled.telemetry":!1,userId:this.anonId},(e=>{e||(this.eventData.lastSuccess=s,this.eventData.tokenU=n)}),e):this.processRequests()}},fr=pr.postTurnstileEvent.bind(pr),mr=new class extends dr{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(e,t,i,n){this.skuToken=t,this.errorCb=n,r.EVENTS_URL&&(i||r.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(sr)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:i,timestamp:r}=this.queue.shift();i&&this.success[i]||(this.anonId||this.fetchEventData(),ni(this.anonId)||(this.anonId=ii()),this.postEvent(r,{sdkIdentifier:"mapbox-gl-js",sdkVersion:t,skuId:or,skuToken:this.skuToken,userId:this.anonId},(e=>{e?this.errorCb(e):i&&(this.success[i]=!0)}),e))}remove(){this.errorCb=null}},_r=mr.postMapLoadEvent.bind(mr),gr=new class extends dr{constructor(){super("style.load"),this.eventIdPerMapInstanceMap=new Map,this.mapInstanceIdMap=new WeakMap}getMapInstanceId(e){let t=this.mapInstanceIdMap.get(e);return t||(t=ii(),this.mapInstanceIdMap.set(e,t)),t}getEventId(e){const t=this.eventIdPerMapInstanceMap.get(e)||0;return this.eventIdPerMapInstanceMap.set(e,t+1),t}postStyleLoadEvent(e,t){const{map:i,style:n,importedStyles:o}=t;if(!r.EVENTS_URL||!e&&!r.ACCESS_TOKEN)return;const s=this.getMapInstanceId(i),a={mapInstanceId:s,eventId:this.getEventId(s),style:n};o.length&&(a.importedStyles=o),this.queueRequest({timestamp:Date.now(),payload:a},e)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:t,payload:i}=this.queue.shift();this.postEvent(t,i,(()=>{}),e)}},yr=gr.postStyleLoadEvent.bind(gr),xr=new class extends dr{constructor(){super("gljs.performance")}postPerformanceEvent(e,t){r.EVENTS_URL&&(e||r.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:t},e)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:i,performanceData:r}=this.queue.shift(),n=function(e){const i=performance.getEntriesByType("resource"),r=performance.getEntriesByType("mark"),n=function(e){const t={};if(e)for(const i in e)if("other"!==i)for(const r of e[i]){const e=`${i}ResolveRangeMin`,n=`${i}ResolveRangeMax`,o=`${i}RequestCount`,s=`${i}RequestCachedCount`;t[e]=Math.min(t[e]||1/0,r.startTime),t[n]=Math.max(t[n]||-1/0,r.responseEnd);const a=e=>{void 0===t[e]&&(t[e]=0),++t[e]};void 0!==r.transferSize&&0===r.transferSize&&a(s),a(o)}return t}(function(e,t){const i={};if(e)for(const r of e){const e=t(r);void 0===i[e]&&(i[e]=[]),i[e].push(r)}return i}(i,h)),o=window.devicePixelRatio,s=navigator.connection||navigator.mozConnection||navigator.webkitConnection,a=s?s.effectiveType:void 0,u={counters:[],metadata:[],attributes:[]},d=(e,t,i)=>{null!=i&&e.push({name:t,value:i.toString()})};for(const t in n)d(u.counters,t,n[t]);if(e.interactionRange[0]!==1/0&&e.interactionRange[1]!==-1/0&&(d(u.counters,"interactionRangeMin",e.interactionRange[0]),d(u.counters,"interactionRangeMax",e.interactionRange[1])),r)for(const t of Object.keys(c)){const e=c[t],i=r.find((t=>t.name===e));i&&d(u.counters,e,i.startTime)}return d(u.counters,"visibilityHidden",e.visibilityHidden),d(u.attributes,"style",function(e){if(e)for(const t of e){const e=t.name.split("?")[0];if(l(e)){const t=e.split("/").slice(-2);if(2===t.length)return`mapbox://styles/${t[0]}/${t[1]}`}}}(i)),d(u.attributes,"terrainEnabled",e.terrainEnabled?"true":"false"),d(u.attributes,"fogEnabled",e.fogEnabled?"true":"false"),d(u.attributes,"projection",e.projection),d(u.attributes,"zoom",e.zoom),d(u.metadata,"devicePixelRatio",o),d(u.metadata,"connectionEffectiveType",a),d(u.metadata,"navigatorUserAgent",navigator.userAgent),d(u.metadata,"screenWidth",window.screen.width),d(u.metadata,"screenHeight",window.screen.height),d(u.metadata,"windowWidth",window.innerWidth),d(u.metadata,"windowHeight",window.innerHeight),d(u.metadata,"mapWidth",e.width/o),d(u.metadata,"mapHeight",e.height/o),d(u.metadata,"webglRenderer",e.renderer),d(u.metadata,"webglVendor",e.vendor),d(u.metadata,"sdkVersion",t),d(u.metadata,"sdkIdentifier","mapbox-gl-js"),u}(r);for(const t of n.metadata);for(const t of n.counters);for(const t of n.attributes);this.postEvent(i,n,(()=>{}),e)}},vr=xr.postPerformanceEvent.bind(xr),br=new class extends dr{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(e,t,i,n){if(!r.API_URL||!r.SESSION_PATH)return;const o=lr(r.API_URL+r.SESSION_PATH);o.params.push(`sku=${t||""}`),o.params.push(`access_token=${n||r.ACCESS_TOKEN||""}`);const s={url:cr(o),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(e,t){return Ki(Jt(e,{method:"GET"}),t)}(s,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(n)}))}getSessionAPI(e,t,i,n){this.skuToken=t,this.errorCb=n,r.SESSION_PATH&&r.API_URL&&(i||r.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(sr)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:i}=this.queue.shift();t&&this.success[t]||this.getSession(i,this.skuToken,(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e)}remove(){this.errorCb=null}},wr=br.getSessionAPI.bind(br),Tr=new Set;var Er={exports:{}},Sr={exports:{}};Sr.exports=function(e,t){var i,r,n,o,s,a,l,c;for(r=e.length-(i=3&e.length),n=t,s=3432918353,a=461845907,c=0;c>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(o>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return n^=e.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0};var Mr=Sr.exports,Ar={exports:{}};Ar.exports=function(e,t){for(var i,r=e.length,n=t^r,o=0;r>=4;)i=1540483477*(65535&(i=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(i>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),r-=4,++o;switch(r){case 3:n^=(255&e.charCodeAt(o+2))<<16;case 2:n^=(255&e.charCodeAt(o+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(o)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var Ir=Mr,Cr=Ar.exports;Er.exports=Ir,Er.exports.murmur3=Ir,Er.exports.murmur2=Cr;var Pr=u(Er.exports);function zr(e,t,i){i[e]&&-1!==i[e].indexOf(t)||(i[e]=i[e]||[],i[e].push(t))}function Dr(e,t,i){if(i&&i[e]){const r=i[e].indexOf(t);-1!==r&&i[e].splice(r,1)}}class Rr{constructor(e){Jt(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),this.type=e}}class Lr extends Rr{constructor(e){super("error",Jt({error:e},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}}class kr{on(e,t){return this._listeners=this._listeners||{},zr(e,t,this._listeners),this}off(e,t){return Dr(e,t,this._listeners),Dr(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},zr(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new Rr(e,t||{}));const i=e.type;if(this.listens(i)){e.target=this;const t=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of t)i.call(this,e);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const o of r)Dr(i,o,this._oneTimeListeners),o.call(this,e);const n=this._eventedParent;n&&(Jt(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(e))}else e instanceof Lr&&console.error(e.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}e.z=void 0;var Or={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Br(e){return(e=Math.round(e))<0?0:e>255?255:e}function Fr(e){return Br("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function Nr(e){return(t="%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))<0?0:t>1?1:t;var t}function Vr(e,t,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?e+(t-e)*i*6:2*i<1?t:3*i<2?e+(t-e)*(2/3-i)*6:e}try{e.z={}.parseCSSColor=function(e){var t,i=e.replace(/ /g,"").toLowerCase();if(i in Or)return Or[i].slice();if("#"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var o=i.substr(0,r),s=i.substr(r+1,n-(r+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Nr(s.pop());case"rgb":return 3!==s.length?null:[Fr(s[0]),Fr(s[1]),Fr(s[2]),a];case"hsla":if(4!==s.length)return null;a=Nr(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Nr(s[1]),h=Nr(s[2]),u=h<=.5?h*(c+1):h+c-h*c,d=2*h-u;return[Br(255*Vr(d,u,l+1/3)),Br(255*Vr(d,u,l)),Br(255*Vr(d,u,l-1/3)),a];default:return null}}return null}}catch(e){}class Ur{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.r=e,this.g=t,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Ur)return t;if("string"!=typeof t)return;const i=e.z(t);return i?new Ur(i[0]/255*i[3],i[1]/255*i[3],i[2]/255*i[3],i[3]):void 0}toString(){const[e,t,i,r]=this.toArray();return`rgba(${Math.round(e)},${Math.round(t)},${Math.round(i)},${r})`}toArray(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*e/r,255*t/r,255*i/r,r]}toArray01(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[e/r,t/r,i/r,r]}toArray01Scaled(e){const{r:t,g:i,b:r,a:n}=this;return 0===n?[0,0,0]:[t/n*e,i/n*e,r/n*e]}toArray01PremultipliedAlpha(){const{r:e,g:t,b:i,a:r}=this;return[e,t,i,r]}toArray01Linear(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[Math.pow(e/r,2.2),Math.pow(t/r,2.2),Math.pow(i/r,2.2),r]}}function jr(e,t,i){return e*(1-i)+t*i}function Gr(e,t,i){return e.map(((e,r)=>jr(e,t[r],i)))}Ur.black=new Ur(0,0,0,1),Ur.white=new Ur(1,1,1,1),Ur.transparent=new Ur(0,0,0,0),Ur.red=new Ur(1,0,0,1),Ur.blue=new Ur(0,0,1,1);var qr=Object.freeze({__proto__:null,array:Gr,color:function(e,t,i){return new Ur(jr(e.r,t.r,i),jr(e.g,t.g,i),jr(e.b,t.b,i),jr(e.a,t.a,i))},number:jr});function Zr(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:[];this.parent=e,this.bindings={};for(const[i,r]of t)this.bindings[i]=r}concat(e){return new Wr(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const Qr={kind:"null"},Hr={kind:"number"},Xr={kind:"string"},Yr={kind:"boolean"},Kr={kind:"color"},Jr={kind:"object"},en={kind:"value"},tn={kind:"collator"},rn={kind:"formatted"},nn={kind:"resolvedImage"};function on(e,t){return{kind:"array",itemType:e,N:t}}function sn(e){if("array"===e.kind){const t=sn(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const an=[Qr,Hr,Xr,Yr,Kr,rn,Jr,on(en),nn];function ln(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!ln(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of an)if(!ln(e,t))return null}return`Expected ${sn(e)} but found ${sn(t)} instead.`}function cn(e,t){return t.some((t=>t.kind===e.kind))}function hn(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}class un{constructor(e,t,i){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=i,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}}class dn{constructor(e,t,i,r,n){this.text=e.normalize?e.normalize():e,this.image=t,this.scale=i,this.fontStack=r,this.textColor=n}}class pn{constructor(e){this.sections=e}static fromString(e){return new pn([new dn(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.namePrimary.length))}static factory(e){return e instanceof pn?e:pn.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}serialize(){const e=["format"];for(const t of this.sections){if(t.image){e.push(["image",t.image.namePrimary]);continue}e.push(t.text);const i={};t.fontStack&&(i["text-font"]=["literal",t.fontStack.split(",")]),t.scale&&(i["font-scale"]=t.scale),t.textColor&&(i["text-color"]=["rgba"].concat(t.textColor.toArray())),e.push(i)}return e}}class fn{constructor(e){this.namePrimary=e.namePrimary,e.nameSecondary&&(this.nameSecondary=e.nameSecondary),this.available=e.available}toString(){return this.nameSecondary?`[${this.namePrimary},${this.nameSecondary}]`:this.namePrimary}static fromString(e,t){return e?new fn({namePrimary:e,nameSecondary:t,available:!1}):null}serialize(){return this.nameSecondary?["image",this.namePrimary,this.nameSecondary]:["image",this.namePrimary]}}function mn(e,t,i,r){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function _n(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Ur)return!0;if(e instanceof un)return!0;if(e instanceof pn)return!0;if(e instanceof fn)return!0;if(Array.isArray(e)){for(const t of e)if(!_n(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!_n(e[t]))return!1;return!0}return!1}function gn(e){if(null===e)return Qr;if("string"==typeof e)return Xr;if("boolean"==typeof e)return Yr;if("number"==typeof e)return Hr;if(e instanceof Ur)return Kr;if(e instanceof un)return tn;if(e instanceof pn)return rn;if(e instanceof fn)return nn;if(Array.isArray(e)){const t=e.length;let i;for(const r of e){const e=gn(r);if(i){if(i===e)continue;i=en;break}i=e}return on(i||en,t)}return Jr}function yn(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Ur||e instanceof pn||e instanceof fn?e.toString():JSON.stringify(e)}class xn{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!_n(e[1]))return t.error("invalid value");const i=e[1];let r=gn(i);const n=t.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new xn(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Ur?["rgba"].concat(this.value.toArray()):this.value instanceof pn?this.value.serialize():this.value}}class vn{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const bn={string:Xr,number:Hr,boolean:Yr,object:Jr};class wn{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let i,r=1;const n=e[0];if("array"===n){let n,o;if(e.length>2){const i=e[1];if("string"!=typeof i||!(i in bn)||"object"===i)return t.error('The item type argument of "array" must be one of string, number, boolean',1);n=bn[i],r++}else n=en;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],r++}i=on(n,o)}else i=bn[n];const o=[];for(;re.outputDefined()))}serialize(){const e=this.type,t=[e.kind];if("array"===e.kind){const i=e.itemType;if("string"===i.kind||"number"===i.kind||"boolean"===i.kind){t.push(i.kind);const r=e.N;("number"==typeof r||this.args.length>1)&&t.push(r)}}return t.concat(this.args.map((e=>e.serialize())))}}class Tn{constructor(e){this.type=rn,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[1];if(!Array.isArray(i)&&"object"==typeof i)return t.error("First argument must be an image or text section.");const r=[];let n=!1;for(let o=1;o<=e.length-1;++o){const i=e[o];if(n&&"object"==typeof i&&!Array.isArray(i)){n=!1;let e=null;if(i["font-scale"]&&(e=t.parse(i["font-scale"],1,Hr),!e))return null;let o=null;if(i["text-font"]&&(o=t.parse(i["text-font"],1,on(Xr)),!o))return null;let s=null;if(i["text-color"]&&(s=t.parse(i["text-color"],1,Kr),!s))return null;const a=r[r.length-1];a.scale=e,a.font=o,a.textColor=s}else{const i=t.parse(e[o],1,en);if(!i)return null;const s=i.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:i,scale:null,font:null,textColor:null})}}return new Tn(r)}evaluate(e){return new pn(this.sections.map((t=>{const i=t.content.evaluate(e);return gn(i)===nn?new dn("",i,null,null,null):new dn(yn(i),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const t of this.sections){e.push(t.content.serialize());const i={};t.scale&&(i["font-scale"]=t.scale.serialize()),t.font&&(i["text-font"]=t.font.serialize()),t.textColor&&(i["text-color"]=t.textColor.serialize()),e.push(i)}return e}}class En{constructor(e,t){this.type=nn,this.inputPrimary=e,this.inputSecondary=t}static parse(e,t){if(e.length<2)return t.error("Expected two or more arguments.");const i=t.parse(e[1],1,Xr);if(!i)return t.error("No image name provided.");if(2===e.length)return new En(i);const r=t.parse(e[2],1,Xr);return r?new En(i,r):t.error("Secondary image variant is not a string.")}evaluate(e){const t=fn.fromString(this.inputPrimary.evaluate(e),this.inputSecondary?this.inputSecondary.evaluate(e):void 0);return t&&e.availableImages&&(t.available=e.availableImages.indexOf(t.namePrimary)>-1,t.nameSecondary&&t.available&&e.availableImages&&(t.available=e.availableImages.indexOf(t.nameSecondary)>-1)),t}eachChild(e){e(this.inputPrimary),this.inputSecondary&&e(this.inputSecondary)}outputDefined(){return!1}serialize(){return this.inputSecondary?["image",this.inputPrimary.serialize(),this.inputSecondary.serialize()]:["image",this.inputPrimary.serialize()]}}function Sn(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}const Mn={"to-boolean":Yr,"to-color":Kr,"to-number":Hr,"to-string":Xr};class An{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[0],r=[];let n=Qr;if("to-array"===i){if(!Array.isArray(e[1]))return null;const i=e[1].length;if(t.expectedType){if("array"!==t.expectedType.kind)return t.error(`Expected ${t.expectedType.kind} but found array.`);n=on(t.expectedType.itemType,i)}else{if(!(i>0&&_n(e[1][0])))return null;n=on(gn(e[1][0]),i)}for(let o=0;o4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:mn(t[0],t[1],t[2],t[3]),!i))return new Ur(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new vn(i||`Could not parse color from value '${"string"==typeof t?t:String(JSON.stringify(t))}'`)}if("number"===this.type.kind){let t=null;for(const i of this.args){if(t=i.evaluate(e),null===t)return 0;const r=Number(t);if(!isNaN(r))return r}throw new vn(`Could not convert ${JSON.stringify(t)} to number.`)}return"formatted"===this.type.kind?pn.fromString(yn(this.args[0].evaluate(e))):"resolvedImage"===this.type.kind?fn.fromString(yn(this.args[0].evaluate(e))):"array"===this.type.kind?this.args.map((t=>t.evaluate(e))):yn(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new Tn([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new En(this.args[0]).serialize();const e="array"===this.type.kind?[]:[`to-${this.type.kind}`];return this.eachChild((t=>{e.push(t.serialize())})),e}}const In=["Unknown","Point","LineString","Polygon"];class Cn{constructor(e,t){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null,this.scope=e,this.options=t}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?In[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||{}}measureLight(e){return this.globals.brightness||0}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,t=this.featureDistanceData.scale,{x:i,y:r}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(i*t-e[0])+this.featureDistanceData.bearing[1]*(r*t-e[1])}return 0}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Ur.parse(e)),t}getConfig(e){return this.options?this.options.get(e):null}}class Pn{constructor(e,t,i,r,n){this.name=e,this.type=t,this._evaluate=i,this.args=r,this._overloadIndex=n}evaluate(e){if(!this._evaluate){const e=Pn.definitions[this.name];this._evaluate=Array.isArray(e)?e[2]:e.overloads[this._overloadIndex][1]}return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((e=>e.serialize())))}static parse(e,t){const i=e[0],r=Pn.definitions[i];if(!r)return t.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,o=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,s=[];let a=null,l=-1;for(const[c,h]of o){if(Array.isArray(c)&&c.length!==e.length-1)continue;s.push(c),l++,a=new qo(t.registry,t.path,null,t.scope,void 0,t._scope,t.options);const r=[];let o=!1;for(let t=1;t{let[t]=e;return t}))).map(zn).join(" | "),r=[];for(let n=1;nn;){if(o-n>600){var a=o-n+1,l=r-n+1,c=Math.log(a),h=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*h*(a-h)/a)*(l-a/2<0?-1:1);e(i,r,Math.max(n,Math.floor(r-l*h/a+u)),Math.min(o,Math.floor(r+(a-l)*h/a+u)),s)}var d=i[r],p=n,f=o;for(t(i,n,r),s(i[o],d)>0&&t(i,n,o);p0;)f--}0===s(i[n],d)?t(i,n,f):t(i,++f,o),f<=r&&(n=f+1),r<=f&&(o=f-1)}}function t(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function i(e,t){return et?1:0}return function(t,r,n,o,s){e(t,r,n||0,o||t.length-1,s||i)}}();var Ln=u(Rn.exports);function kn(e){let t=0;for(let i,r,n=0,o=e.length,s=o-1;n=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Fn(e,t,i){const r=e[0]-t[0],n=e[1]-t[1],o=e[0]-i[0],s=e[1]-i[1];return r*s-o*n==0&&r*o<=0&&n*s<=0}function Nn(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1;for(let a=0,l=t.length;a(n=e)[1]!=(s=h)[1]>n[1]&&n[0]<(s[0]-o[0])*(n[1]-o[1])/(s[1]-o[1])+o[0]&&(r=!r)}}var n,o,s;return r}function Vn(e,t,i,r){const n=r[0]-i[0],o=r[1]-i[1],s=(e[0]-i[0])*o-n*(e[1]-i[1]),a=(t[0]-i[0])*o-n*(t[1]-i[1]);return s>0&&a<0||s<0&&a>0}function Un(e,t,i,r){return 0!=(n=[r[0]-i[0],r[1]-i[1]])[0]*(o=[t[0]-e[0],t[1]-e[1]])[1]-n[1]*o[0]&&!(!Vn(e,t,i,r)||!Vn(i,r,e,t));var n,o}const jn=8192;function Gn(e,t){const i=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,n=Math.pow(2,t.z);return[Math.round(i*n*jn),Math.round(r*n*jn)]}function qn(e,t){for(let i=0;ii[2]){const t=.5*r;let n=e[0]-i[0]>t?-r:i[0]-e[0]>t?r:0;0===n&&(n=e[0]-i[2]>t?-r:i[2]-e[0]>t?r:0),e[0]+=n}On(t,e)}function Yn(e,t,i,r){const n=Math.pow(2,r.z)*jn,o=[r.x*jn,r.y*jn],s=[];if(!e)return s;for(const a of e)for(const e of a){const r=[e.x+o[0],e.y+o[1]];Xn(r,t,i,n),s.push(r)}return s}function Kn(e,t,i,r){const n=Math.pow(2,r.z)*jn,o=[r.x*jn,r.y*jn],s=[];if(!e)return s;for(const l of e){const e=[];for(const i of l){const r=[i.x+o[0],i.y+o[1]];On(t,r),e.push(r)}s.push(e)}if(t[2]-t[0]<=n/2){(a=t)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const e of s)for(const r of e)Xn(r,t,i,n)}var a;return s}class Jn{constructor(e,t){this.type=Yr,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(_n(e[1])){const t=e[1];if("FeatureCollection"===t.type)for(let e=0;e180;)e-=360;return e}return n.fromTile=function(e,t,i){var o=Math.PI*(1-2*(e+.5)/Math.pow(2,t)),s=Math.atan(.5*(Math.exp(o)-Math.exp(-o)))/r;return new n(s,i)},o.units.get=function(){return e},n.prototype.distance=function(e,t){var i=l(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(i*i+r*r)},n.prototype.bearing=function(e,t){var i=l(t[0]-e[0])*this.kx;return Math.atan2(i,(t[1]-e[1])*this.ky)/r},n.prototype.destination=function(e,t,i){var n=i*r;return this.offset(e,Math.sin(n)*t,Math.cos(n)*t)},n.prototype.offset=function(e,t,i){return[e[0]+t/this.kx,e[1]+i/this.ky]},n.prototype.lineDistance=function(e){for(var t=0,i=0;it)return a(n,o,(t-(i-s))/s)}return e[e.length-1]},n.prototype.pointToSegmentDistance=function(e,t,i){var r=t[0],n=t[1],o=l(i[0]-r)*this.kx,s=(i[1]-n)*this.ky,a=0;return 0===o&&0===s||((a=(l(e[0]-r)*this.kx*o+(e[1]-n)*this.ky*s)/(o*o+s*s))>1?(r=i[0],n=i[1]):a>0&&(r+=o/this.kx*a,n+=s/this.ky*a)),o=l(e[0]-r)*this.kx,s=(e[1]-n)*this.ky,Math.sqrt(o*o+s*s)},n.prototype.pointOnLine=function(e,t){for(var i,r,n,o,s=1/0,a=0;a1?(c=e[a+1][0],h=e[a+1][1]):p>0&&(c+=u/this.kx*p,h+=d/this.ky*p));var f=(u=l(t[0]-c)*this.kx)*u+(d=(t[1]-h)*this.ky)*d;fn.index||r.index===n.index&&r.t>n.t){var o=r;r=n,n=o}var a=[r.point],l=r.index+1,c=n.index;!s(i[l],a[0])&&l<=c&&a.push(i[l]);for(var h=l+1;h<=c;h++)a.push(i[h]);return s(i[c],n.point)||a.push(n.point),a},n.prototype.lineSliceAlong=function(e,t,i){for(var r=0,n=[],o=0;oe&&0===n.length&&n.push(a(s,l,(e-(r-c))/c)),r>=t)return n.push(a(s,l,(t-(r-c))/c)),n;r>e&&n.push(l)}return n},n.prototype.bufferPoint=function(e,t){var i=t/this.ky,r=t/this.kx;return[e[0]-r,e[1]-i,e[0]+r,e[1]+i]},n.prototype.bufferBBox=function(e,t){var i=t/this.ky,r=t/this.kx;return[e[0]-r,e[1]-i,e[2]+r,e[3]+i]},n.prototype.insideBBox=function(e,t){return l(e[0]-t[0])>=0&&l(e[0]-t[2])<=0&&e[1]>=t[1]&&e[1]<=t[3]},Object.defineProperties(n,o),n}()}(eo);var to=u(eo.exports),io={exports:{}};!function(e,t){e.exports=function(){var e=function(e,i){if(void 0===e&&(e=[]),void 0===i&&(i=t),this.data=e,this.length=this.data.length,this.compare=i,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function t(e,t){return et?1:0}return e.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(e){for(var t=this.data,i=this.compare,r=t[e];e>0;){var n=e-1>>1,o=t[n];if(i(r,o)>=0)break;t[e]=o,e=n}t[e]=r},e.prototype._down=function(e){for(var t=this.data,i=this.compare,r=this.length>>1,n=t[e];e=0)break;t[e]=s,e=o}t[e]=n},e}()}(io);var ro=u(io.exports),no=8192;function oo(e,t){return t.dist-e.dist}const so=100,ao=50;function lo(e){const t=[1/0,1/0,-1/0,-1/0];if(t.length!==e.length)return!1;for(let i=0;i=e[0]&&e[1]e[1])return[null,null];const i=co(e);if(t){if(2===i)return[e,null];const t=Math.floor(i/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}{if(1===i)return[e,null];const t=Math.floor(i/2)-1;return[[e[0],e[0]+t],[e[0]+t+1,e[1]]]}}function po(e,t){const i=[1/0,1/0,-1/0,-1/0];if(!ho(t,e.length))return i;for(let r=t[0];r<=t[1];++r)On(i,e[r]);return i}function fo(e){const t=[1/0,1/0,-1/0,-1/0];for(let i=0;it[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(n=e[1]-t[3]),e[3]3&&void 0!==arguments[3]?arguments[3]:1/0;const n=fo(e),o=fo(t);if(r!==1/0&&mo(n,o,i)>=r)return r;if(Bn(n,o)){if(Ao(e,t))return 0}else if(Ao(t,e))return 0;let s=r;for(const a of e)for(let e=0,r=a.length,n=r-1;e4&&void 0!==arguments[4]?arguments[4]:1/0,o=Math.min(r.distance(e[0],i[0][0]),n);if(0===o)return o;const s=new ro([{dist:0,range1:[0,e.length-1],range2:[0,0]}],oo),a=t?ao:so,l=fo(i);for(;s.length;){const n=s.pop();if(n.dist>=o)continue;const c=n.range1;if(co(c)<=a){if(!ho(c,e.length))return NaN;if(t){const t=Mo(e,c,i,r);if(0===(o=Math.min(o,t)))return o}else for(let t=c[0];t<=c[1];++t){const n=So(e[t],i,r);if(0===(o=Math.min(o,n)))return o}}else{const i=uo(c,t);if(null!==i[0]){const t=mo(po(e,i[0]),l,r);t5&&void 0!==arguments[5]?arguments[5]:1/0,s=Math.min(o,n.distance(e[0],i[0]));if(0===s)return s;const a=new ro([{dist:0,range1:[0,e.length-1],range2:[0,i.length-1]}],oo),l=t?ao:so,c=r?ao:so;for(;a.length;){const o=a.pop();if(o.dist>=s)continue;const h=o.range1,u=o.range2;if(co(h)<=l&&co(u)<=c){if(!ho(h,e.length)||!ho(u,i.length))return NaN;if(t&&r?s=Math.min(s,To(e,h,i,u,n)):t||r?t&&!r?s=Math.min(s,bo(i,u,e,h,n)):!t&&r&&(s=Math.min(s,bo(e,h,i,u,n))):s=Math.min(s,Eo(e,h,i,u,n)),0===s)return s}else{const o=uo(h,t),l=uo(u,r);Co(a,s,n,e,i,o[0],l[0]),Co(a,s,n,e,i,o[0],l[1]),Co(a,s,n,e,i,o[1],l[0]),Co(a,s,n,e,i,o[1],l[1])}}return s}function Do(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0;const o=po(e,[0,e.length-1]);for(const s of i)if(!(n!==1/0&&mo(o,po(s,[0,s.length-1]),r)>=n)&&(n=Math.min(n,zo(e,t,s,!0,r,n)),0===n))return n;return n}function Ro(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0;const o=po(e,[0,e.length-1]);for(const s of i){if(n!==1/0&&mo(o,fo(s),r)>=n)continue;const i=Po(e,t,s,r,n);if(isNaN(i))return i;if(0===(n=Math.min(n,i)))return n}return n}function Lo(e){return"Point"===e||"MultiPoint"===e||"LineString"===e||"MultiLineString"===e||"Polygon"===e||"MultiPolygon"===e}class ko{constructor(e,t){this.type=Hr,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires either one argument, but found ' ${e.length-1} instead.`);if(_n(e[1])){const t=e[1];if("FeatureCollection"===t.type){for(let e=0;ei&&(e=i),e}class Fo{constructor(e,t,i){this.type=e,this.key=t,this.scope=i}static parse(e,t){let i=t.expectedType;if(null==i&&(i=en),e.length<2||e.length>3)return t.error("Invalid number of arguments for 'config' expression.");const r=t.parse(e[1],1);if(!(r instanceof xn))return t.error("Key name of 'config' expression must be a string literal.");if(e.length>=3){const n=t.parse(e[2],2);return n instanceof xn?new Fo(i,yn(r.value),yn(n.value)):t.error("Scope of 'config' expression must be a string literal.")}return new Fo(i,yn(r.value))}evaluate(e){const t=[this.key,this.scope,e.scope].filter(Boolean).join("\x1f"),i=e.getConfig(t);if(!i)return null;const{type:r,value:n,values:o,minValue:s,maxValue:a,stepValue:l}=i,c=i.default.evaluate(e);let h=c;if(n){const t=e.scope;e.scope=(t||"").split("\x1f").slice(1).join("\x1f"),h=n.evaluate(e),e.scope=t}return r&&(h=Oo(r,h)),void 0===h||void 0===s&&void 0===a&&void 0===l||("number"==typeof h?h=Bo(h,s,a,l):Array.isArray(h)&&(h=h.map((e=>"number"==typeof e?Bo(e,s,a,l):e)))),void 0!==n&&void 0!==h&&o&&!o.includes(h)&&(h=c,r&&(h=Oo(r,h))),(r&&r!==this.type||void 0!==h&&gn(h)!==this.type)&&(h=Oo(this.type.kind,h)),h}eachChild(){}outputDefined(){return!1}serialize(){const e=["config",this.key];return this.scope&&e.concat(this.key),e}}function No(e){if(e instanceof Pn){if("get"===e.name&&1===e.args.length)return!1;if("feature-state"===e.name)return!1;if("has"===e.name&&1===e.args.length)return!1;if("properties"===e.name||"geometry-type"===e.name||"id"===e.name)return!1;if(/^filter-/.test(e.name))return!1}if(e instanceof Jn)return!1;if(e instanceof ko)return!1;let t=!0;return e.eachChild((e=>{t&&!No(e)&&(t=!1)})),t}function Vo(e){if(e instanceof Pn&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!Vo(e)&&(t=!1)})),t}function Uo(e){if(e instanceof Fo)return!1;let t=!0;return e.eachChild((e=>{t&&!Uo(e)&&(t=!1)})),t}function jo(e,t){if(e instanceof Pn&&t.indexOf(e.name)>=0)return!1;let i=!0;return e.eachChild((e=>{i&&!jo(e,t)&&(i=!1)})),i}class Go{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const i=e[1];return t.scope.has(i)?new Go(i,t.scope.get(i)):t.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}class qo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Wr,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0;this.registry=e,this.path=t,this.key=t.map((e=>`[${e}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i,this._scope=o,this.options=s}parse(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return t||i?this.concat(t,i,r)._parse(e,n):this._parse(e,n)}_parse(e,t){function i(e,t,i){return"assert"===i?new wn(t,[e]):"coerce"===i?new An(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r="string"==typeof e[0]?this.registry[e[0]]:void 0;if(r){let n=r.parse(e,this);if(!n)return null;if(this.expectedType){const e=this.expectedType,r=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==r.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==r.kind&&"string"!==r.kind){if(this.checkSubtype(e,r))return null}else n=i(n,e,t.typeAnnotation||"coerce");else n=i(n,e,t.typeAnnotation||"assert")}if(!(n instanceof xn)&&"resolvedImage"!==n.type.kind&&Zo(n)){const t=new Cn(this._scope,this.options);try{n=new xn(n.type,n.evaluate(t))}catch(e){return this.error(e.message),null}}return n}return An.parse(["to-array",e],this)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,i){const r="number"==typeof e?this.path.concat(e):this.path,n=i?this.scope.concat(i):this.scope;return new qo(this.registry,r,t||null,n,this.errors,this._scope,this.options)}error(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r`[${e}]`)).join("")}`;this.errors.push(new $r(n,e))}checkSubtype(e,t){const i=ln(e,t);return i&&this.error(i),i}}function Zo(e){if(e instanceof Go)return Zo(e.boundExpression);if(e instanceof Pn&&"error"===e.name)return!1;if(e instanceof Dn)return!1;if(e instanceof Jn)return!1;if(e instanceof ko)return!1;if(e instanceof Fo)return!1;const t=e instanceof An||e instanceof wn;let i=!0;return e.eachChild((e=>{i=t?i&&Zo(e):i&&e instanceof xn})),!!i&&No(e)&&jo(e,["zoom","heatmap-density","line-progress","raster-value","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center","measure-light","raster-particle-speed"])}function $o(e,t){const i=e.length-1;let r,n,o=0,s=i,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),r=e[a],n=e[a+1],r<=t){if(a===i||tt))throw new vn("Input is not a number.");s=a-1}return 0}class Wo{constructor(e,t,i){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[r,n]of i)this.labels.push(r),this.outputs.push(n)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const i=t.parse(e[1],1,Hr);if(!i)return null;const r=[];let n=null;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(let o=1;o=i)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=t.parse(s,l,n);if(!c)return null;n=n||c.type,r.push([i,c])}return new Wo(n,i,r)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;return r>=t[n-1]?i[n-1].evaluate(e):i[$o(t,r)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){const e=["step",this.input.serialize()];for(let t=0;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e}}const Qo=.95047,Ho=1.08883,Xo=4/29,Yo=6/29,Ko=3*Yo*Yo,Jo=Yo*Yo*Yo,es=Math.PI/180,ts=180/Math.PI;function is(e){return e>Jo?Math.pow(e,1/3):e/Ko+Xo}function rs(e){return e>Yo?e*e*e:Ko*(e-Xo)}function ns(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function os(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function ss(e){const t=os(e.r),i=os(e.g),r=os(e.b),n=is((.4124564*t+.3575761*i+.1804375*r)/Qo),o=is((.2126729*t+.7151522*i+.072175*r)/1);return{l:116*o-16,a:500*(n-o),b:200*(o-is((.0193339*t+.119192*i+.9503041*r)/Ho)),alpha:e.a}}function as(e){let t=(e.l+16)/116,i=isNaN(e.a)?t:t+e.a/500,r=isNaN(e.b)?t:t-e.b/200;return t=1*rs(t),i=Qo*rs(i),r=Ho*rs(r),new Ur(ns(3.2404542*i-1.5371385*t-.4985314*r),ns(-.969266*i+1.8760108*t+.041556*r),ns(.0556434*i-.2040259*t+1.0572252*r),e.alpha)}function ls(e,t,i){const r=t-e;return e+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const cs={forward:ss,reverse:as,interpolate:function(e,t,i){return{l:jr(e.l,t.l,i),a:jr(e.a,t.a,i),b:jr(e.b,t.b,i),alpha:jr(e.alpha,t.alpha,i)}}},hs={forward:function(e){const{l:t,a:i,b:r}=ss(e),n=Math.atan2(r,i)*ts;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:t,alpha:e.a}},reverse:function(e){const t=e.h*es,i=e.c;return as({l:e.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:e.alpha})},interpolate:function(e,t,i){return{h:ls(e.h,t.h,i),c:jr(e.c,t.c,i),l:jr(e.l,t.l,i),alpha:jr(e.alpha,t.alpha,i)}}};var us=Object.freeze({__proto__:null,hcl:hs,lab:cs});class ds{constructor(e,t,i,r,n){this.type=e,this.operator=t,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[o,s]of n)this.labels.push(o),this.outputs.push(s)}static interpolationFactor(e,t,i,r){let n=0;if("exponential"===e.name)n=ps(t,e.base,i,r);else if("linear"===e.name)n=ps(t,1,i,r);else if("cubic-bezier"===e.name){const o=e.controlPoints;n=new Bt(o[0],o[1],o[2],o[3]).solve(ps(t,1,i,r))}return n}static parse(e,t){let[i,r,n,...o]=e;if(!Array.isArray(r)||0===r.length)return t.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const e=r[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:e}}else{if("cubic-bezier"!==r[0])return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const e=r.slice(1);if(4!==e.length||e.some((e=>"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(n=t.parse(n,2,Hr),!n)return null;const s=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=Kr:t.expectedType&&"value"!==t.expectedType.kind&&(a=t.expectedType);for(let l=0;l=e)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=t.parse(i,n,a);if(!c)return null;a=a||c.type,s.push([e,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new ds(a,i,r,n,s):t.error(`Type ${sn(a)} is not interpolatable.`)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;if(r>=t[n-1])return i[n-1].evaluate(e);const o=$o(t,r),s=ds.interpolationFactor(this.interpolation,r,t[o],t[o+1]),a=i[o].evaluate(e),l=i[o+1].evaluate(e);return"interpolate"===this.operator?qr[this.type.kind.toLowerCase()](a,l,s):"interpolate-hcl"===this.operator?hs.reverse(hs.interpolate(hs.forward(a),hs.forward(l),s)):cs.reverse(cs.interpolate(cs.forward(a),cs.forward(l),s))}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){let e;e="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const t=[this.operator,e,this.input.serialize()];for(let i=0;iln(r,e.type)));return new fs(o?en:i,n)}evaluate(e){let t,i=null,r=0;for(const n of this.args){if(r++,i=n.evaluate(e),i&&i instanceof fn&&!i.available&&(t||(t=i),i=null,r===this.args.length))return t;if(null!==i)break}return i}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=["coalesce"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class ms{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new vn(`Array index out of bounds: ${t} > ${i.length-1}.`);if(t!==Math.floor(t))throw new vn(`Array index must be an integer, but found ${t} instead.`);return i[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}class gs{constructor(e,t){this.type=Yr,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,en);return i&&r?cn(i.type,[Yr,Xr,Hr,Qr,en])?new gs(i,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${sn(i.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(null==i)return!1;if(!hn(t,["boolean","string","number","null"]))throw new vn(`Expected first argument to be of type boolean, string, number or null, but found ${sn(gn(t))} instead.`);if(!hn(i,["string","array"]))throw new vn(`Expected second argument to be of type array or string, but found ${sn(gn(i))} instead.`);return i.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}class ys{constructor(e,t,i){this.type=Hr,this.needle=e,this.haystack=t,this.fromIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,en);if(!i||!r)return null;if(!cn(i.type,[Yr,Xr,Hr,Qr,en]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${sn(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Hr);return n?new ys(i,r,n):null}return new ys(i,r)}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(!hn(t,["boolean","string","number","null"]))throw new vn(`Expected first argument to be of type boolean, string, number or null, but found ${sn(gn(t))} instead.`);if(!hn(i,["string","array"]))throw new vn(`Expected second argument to be of type array or string, but found ${sn(gn(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(e);return i.indexOf(t,r)}return i.indexOf(t)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}class xs{constructor(e,t,i,r,n,o){this.inputType=e,this.type=t,this.input=i,this.cases=r,this.outputs=n,this.otherwise=o}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let i,r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);const n={},o=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,gn(e)))return null}else i=gn(e);if(void 0!==n[String(e)])return c.error("Branch labels must be unique.");n[String(e)]=o.length}const h=t.parse(a,l,r);if(!h)return null;r=r||h.type,o.push(h)}const s=t.parse(e[1],1,en);if(!s)return null;const a=t.parse(e[e.length-1],e.length-1,r);return a?"value"!==s.type.kind&&t.concat(1).checkSubtype(i,s.type)?null:new xs(i,r,s,n,o,a):null}evaluate(e){const t=this.input.evaluate(e);return(gn(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()}serialize(){const e=["match",this.input.serialize()],t=Object.keys(this.cases).sort(),i=[],r={};for(const o of t){const e=r[this.cases[o]];void 0===e?(r[this.cases[o]]=i.length,i.push([this.cases[o],[o]])):i[e][1].push(o)}const n=e=>"number"===this.inputType.kind?Number(e):e;for(const[o,s]of i)e.push(1===s.length?n(s[0]):s.map(n)),e.push(this.outputs[o].serialize());return e.push(this.otherwise.serialize()),e}}class vs{constructor(e,t,i){this.type=e,this.branches=t,this.otherwise=i}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const r=[];for(let o=1;o{let[t,i]=e;return i.outputDefined()}))&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class bs{constructor(e,t,i,r){this.type=e,this.input=t,this.beginIndex=i,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,Hr);if(!i||!r)return null;if(!cn(i.type,[on(en),Xr,en]))return t.error(`Expected first argument to be of type array or string, but found ${sn(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Hr);return n?new bs(i.type,i,r,n):null}return new bs(i.type,i,r)}evaluate(e){const t=this.input.evaluate(e),i=this.beginIndex.evaluate(e);if(!hn(t,["string","array"]))throw new vn(`Expected first argument to be of type array or string, but found ${sn(gn(t))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(e);return t.slice(i,r)}return t.slice(i)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}function ws(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function Ts(e,t,i,r){return 0===r.compare(t,i)}function Es(e,t,i){const r="=="!==e&&"!="!==e;return class n{constructor(e,t,i){this.type=Yr,this.lhs=e,this.rhs=t,this.collator=i,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const i=e[0];let o=t.parse(e[1],1,en);if(!o)return null;if(!ws(i,o.type))return t.concat(1).error(`"${i}" comparisons are not supported for type '${sn(o.type)}'.`);let s=t.parse(e[2],2,en);if(!s)return null;if(!ws(i,s.type))return t.concat(2).error(`"${i}" comparisons are not supported for type '${sn(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error(`Cannot compare types '${sn(o.type)}' and '${sn(s.type)}'.`);r&&("value"===o.type.kind&&"value"!==s.type.kind?o=new wn(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new wn(o.type,[s])));let a=null;if(4===e.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error("Cannot use collator to compare non-string types.");if(a=t.parse(e[3],3,tn),!a)return null}return new n(o,s,a)}evaluate(n){const o=this.lhs.evaluate(n),s=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const t=gn(o),i=gn(s);if(t.kind!==i.kind||"string"!==t.kind&&"number"!==t.kind)throw new vn(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const e=gn(o),i=gn(s);if("string"!==e.kind||"string"!==i.kind)return t(n,o,s)}return this.collator?i(n,o,s,this.collator.evaluate(n)):t(n,o,s)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}serialize(){const t=[e];return this.eachChild((e=>{t.push(e.serialize())})),t}}}const Ss=Es("==",(function(e,t,i){return t===i}),Ts),Ms=Es("!=",(function(e,t,i){return t!==i}),(function(e,t,i,r){return!Ts(0,t,i,r)})),As=Es("<",(function(e,t,i){return t",(function(e,t,i){return t>i}),(function(e,t,i,r){return r.compare(t,i)>0})),Cs=Es("<=",(function(e,t,i){return t<=i}),(function(e,t,i,r){return r.compare(t,i)<=0})),Ps=Es(">=",(function(e,t,i){return t>=i}),(function(e,t,i,r){return r.compare(t,i)>=0}));class zs{constructor(e,t,i,r,n,o){this.type=Xr,this.number=e,this.locale=t,this.currency=i,this.unit=r,this.minFractionDigits=n,this.maxFractionDigits=o}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const i=t.parse(e[1],1,Hr);if(!i)return null;const r=e[2];if("object"!=typeof r||Array.isArray(r))return t.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=t.parse(r.locale,1,Xr),!n))return null;let o=null;if(r.currency&&(o=t.parse(r.currency,1,Xr),!o))return null;let s=null;if(r.unit&&(s=t.parse(r.unit,1,Xr),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=t.parse(r["min-fraction-digits"],1,Hr),!a))return null;let l=null;return r["max-fraction-digits"]&&(l=t.parse(r["max-fraction-digits"],1,Hr),!l)?null:new zs(i,n,o,s,a,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}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class Ds{constructor(e){this.type=Hr,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const i=t.parse(e[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?t.error(`Expected argument of type string or array, but found ${sn(i.type)} instead.`):new Ds(i):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new vn(`Expected value to be of type string or array, but found ${sn(gn(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild((t=>{e.push(t.serialize())})),e}}function Rs(e){return function(){e=1831565813+(e|=0)|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}const Ls={"==":Ss,"!=":Ms,">":Is,"<":As,">=":Ps,"<=":Cs,array:wn,at:_s,boolean:wn,case:vs,coalesce:fs,collator:Dn,format:Tn,image:En,in:gs,"index-of":ys,interpolate:ds,"interpolate-hcl":ds,"interpolate-lab":ds,length:Ds,let:ms,literal:xn,match:xs,number:wn,"number-format":zs,object:wn,slice:bs,step:Wo,string:wn,"to-boolean":An,"to-color":An,"to-number":An,"to-string":An,var:Go,within:Jn,distance:ko,config:Fo};function ks(e,t){let[i,r,n,o]=t;i=i.evaluate(e),r=r.evaluate(e),n=n.evaluate(e);const s=o?o.evaluate(e):1,a=mn(i,r,n,s);if(a)throw new vn(a);return new Ur(i/255*s,r/255*s,n/255*s,s)}function Os(e,t){let[i,r,n,o]=t;i=i.evaluate(e),r=r.evaluate(e),n=n.evaluate(e);const s=o?o.evaluate(e):1,a=function(e,t,i,r){return"number"==typeof e&&e>=0&&e<=360?"number"==typeof t&&t>=0&&t<=100&&"number"==typeof i&&i>=0&&i<=100?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid hsla value [${[e,t,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid hsla value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 's', and 'l' must be between 0 and 100.`:`Invalid hsla value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 'h' must be between 0 and 360.`}(i,r,n,s);if(a)throw new vn(a);const l=`hsla(${i}, ${r}%, ${n}%, ${s})`,c=Ur.parse(l);if(!c)throw new vn(`Failed to parse HSLA color: ${l}`);return c}function Bs(e,t){return e in t}function Fs(e,t){const i=t[e];return void 0===i?null:i}function Ns(e){return{type:e}}function Vs(e){return{result:"success",value:e}}function Us(e){return{result:"error",value:e}}function js(e,t){return!!e&&!!e.parameters&&e.parameters.indexOf(t)>-1}function Gs(e){return"data-driven"===e["property-type"]}function qs(e){return js(e.expression,"measure-light")}function Zs(e){return js(e.expression,"zoom")}function $s(e){return!!e.expression&&e.expression.interpolated}function Ws(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Qs(e){return e}function Hs(e,t){const i="color"===t.type,r=e.stops&&"object"==typeof e.stops[0][0],n=r||!(r||void 0!==e.property),o=e.type||($s(t)?"exponential":"interval");if(i&&((e=Zr({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],Ur.parse(e[1])]))),e.default=Ur.parse(e.default?e.default:t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!us[e.colorSpace])throw new Error(`Unknown color space: ${e.colorSpace}`);let s,a,l;if("exponential"===o)s=Js;else if("interval"===o)s=Ks;else if("categorical"===o){s=Ys,a=Object.create(null);for(const t of e.stops)a[t[0]]=t[1];l=typeof e.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);s=ea}if(r){const i={},r=[];for(let t=0;te[0])),evaluate:(i,r)=>{let{zoom:o}=i;return Js({stops:n,base:e.base},t,o).evaluate(o,r)}}}if(n){const i="exponential"===o?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:ds.interpolationFactor.bind(void 0,i),zoomStops:e.stops.map((e=>e[0])),evaluate:i=>{let{zoom:r}=i;return s(e,t,r,a,l)}}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[e.property]:void 0;return void 0===n?Xs(e.default,t.default):s(e,t,n,a,l)}}}function Xs(e,t,i){return void 0!==e?e:void 0!==t?t:void 0!==i?i:void 0}function Ys(e,t,i,r,n){return Xs(typeof i===n?r[i]:void 0,e.default,t.default)}function Ks(e,t,i){if("number"!==Sn(i))return Xs(e.default,t.default);const r=e.stops.length;if(1===r)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[r-1][0])return e.stops[r-1][1];const n=$o(e.stops.map((e=>e[0])),i);return e.stops[n][1]}function Js(e,t,i){const r=void 0!==e.base?e.base:1;if("number"!==Sn(i))return Xs(e.default,t.default);const n=e.stops.length;if(1===n)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[n-1][0])return e.stops[n-1][1];const o=$o(e.stops.map((e=>e[0])),i),s=function(e,t,i,r){const n=r-i,o=e-i;return 0===n?0:1===t?o/n:(Math.pow(t,o)-1)/(Math.pow(t,n)-1)}(i,r,e.stops[o][0],e.stops[o+1][0]),a=e.stops[o][1],l=e.stops[o+1][1];let c=qr[t.type]||Qs;if(e.colorSpace&&"rgb"!==e.colorSpace){const t=us[e.colorSpace];c=(e,i)=>t.reverse(t.interpolate(t.forward(e),t.forward(i),s))}return"function"==typeof a.evaluate?{evaluate(){for(var e=arguments.length,t=new Array(e),i=0;i{let[i]=t;throw new vn(i.evaluate(e))}],typeof:[Xr,[en],(e,t)=>{let[i]=t;return sn(gn(i.evaluate(e)))}],"to-rgba":[on(Hr,4),[Kr],(e,t)=>{let[i]=t;return i.evaluate(e).toArray()}],rgb:[Kr,[Hr,Hr,Hr],ks],rgba:[Kr,[Hr,Hr,Hr,Hr],ks],hsl:[Kr,[Hr,Hr,Hr],Os],hsla:[Kr,[Hr,Hr,Hr,Hr],Os],has:{type:Yr,overloads:[[[Xr],(e,t)=>{let[i]=t;return Bs(i.evaluate(e),e.properties())}],[[Xr,Jr],(e,t)=>{let[i,r]=t;return Bs(i.evaluate(e),r.evaluate(e))}]]},get:{type:en,overloads:[[[Xr],(e,t)=>{let[i]=t;return Fs(i.evaluate(e),e.properties())}],[[Xr,Jr],(e,t)=>{let[i,r]=t;return Fs(i.evaluate(e),r.evaluate(e))}]]},"feature-state":[en,[Xr],(e,t)=>{let[i]=t;return Fs(i.evaluate(e),e.featureState||{})}],properties:[Jr,[],e=>e.properties()],"geometry-type":[Xr,[],e=>e.geometryType()],id:[en,[],e=>e.id()],zoom:[Hr,[],e=>e.globals.zoom],pitch:[Hr,[],e=>e.globals.pitch||0],"distance-from-center":[Hr,[],e=>e.distanceFromCenter()],"measure-light":[Hr,[Xr],(e,t)=>{let[i]=t;return e.measureLight(i.evaluate(e))}],"heatmap-density":[Hr,[],e=>e.globals.heatmapDensity||0],"line-progress":[Hr,[],e=>e.globals.lineProgress||0],"raster-value":[Hr,[],e=>e.globals.rasterValue||0],"raster-particle-speed":[Hr,[],e=>e.globals.rasterParticleSpeed||0],"sky-radial-progress":[Hr,[],e=>e.globals.skyRadialProgress||0],accumulated:[en,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[Hr,Ns(Hr),(e,t)=>{let i=0;for(const r of t)i+=r.evaluate(e);return i}],"*":[Hr,Ns(Hr),(e,t)=>{let i=1;for(const r of t)i*=r.evaluate(e);return i}],"-":{type:Hr,overloads:[[[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)-r.evaluate(e)}],[[Hr],(e,t)=>{let[i]=t;return-i.evaluate(e)}]]},"/":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)/r.evaluate(e)}],"%":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)%r.evaluate(e)}],ln2:[Hr,[],()=>Math.LN2],pi:[Hr,[],()=>Math.PI],e:[Hr,[],()=>Math.E],"^":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return Math.pow(i.evaluate(e),r.evaluate(e))}],sqrt:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.sqrt(i.evaluate(e))}],log10:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN10}],ln:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))}],log2:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN2}],sin:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.sin(i.evaluate(e))}],cos:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.cos(i.evaluate(e))}],tan:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.tan(i.evaluate(e))}],asin:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.asin(i.evaluate(e))}],acos:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.acos(i.evaluate(e))}],atan:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.atan(i.evaluate(e))}],min:[Hr,Ns(Hr),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[Hr,Ns(Hr),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.abs(i.evaluate(e))}],round:[Hr,[Hr],(e,t)=>{let[i]=t;const r=i.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.floor(i.evaluate(e))}],ceil:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.ceil(i.evaluate(e))}],"filter-==":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;return e.properties()[i.value]===r.value}],"filter-id-==":[Yr,[en],(e,t)=>{let[i]=t;return e.id()===i.value}],"filter-type-==":[Yr,[Xr],(e,t)=>{let[i]=t;return e.geometryType()===i.value}],"filter-<":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>o}],"filter-id->":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>n}],"filter-<=":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n<=o}],"filter-id-<=":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r<=n}],"filter->=":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>=o}],"filter-id->=":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>=n}],"filter-has":[Yr,[en],(e,t)=>{let[i]=t;return i.value in e.properties()}],"filter-has-id":[Yr,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[Yr,[on(Xr)],(e,t)=>{let[i]=t;return i.value.indexOf(e.geometryType())>=0}],"filter-id-in":[Yr,[on(en)],(e,t)=>{let[i]=t;return i.value.indexOf(e.id())>=0}],"filter-in-small":[Yr,[Xr,on(en)],(e,t)=>{let[i,r]=t;return r.value.indexOf(e.properties()[i.value])>=0}],"filter-in-large":[Yr,[Xr,on(en)],(e,t)=>{let[i,r]=t;return function(e,t,i,r){for(;i<=r;){const n=i+r>>1;if(t[n]===e)return!0;t[n]>e?r=n-1:i=n+1}return!1}(e.properties()[i.value],r.value,0,r.value.length-1)}],all:{type:Yr,overloads:[[[Yr,Yr],(e,t)=>{let[i,r]=t;return i.evaluate(e)&&r.evaluate(e)}],[Ns(Yr),(e,t)=>{for(const i of t)if(!i.evaluate(e))return!1;return!0}]]},any:{type:Yr,overloads:[[[Yr,Yr],(e,t)=>{let[i,r]=t;return i.evaluate(e)||r.evaluate(e)}],[Ns(Yr),(e,t)=>{for(const i of t)if(i.evaluate(e))return!0;return!1}]]},"!":[Yr,[Yr],(e,t)=>{let[i]=t;return!i.evaluate(e)}],"is-supported-script":[Yr,[Xr],(e,t)=>{let[i]=t;const r=e.globals&&e.globals.isSupportedScript;return!r||r(i.evaluate(e))}],upcase:[Xr,[Xr],(e,t)=>{let[i]=t;return i.evaluate(e).toUpperCase()}],downcase:[Xr,[Xr],(e,t)=>{let[i]=t;return i.evaluate(e).toLowerCase()}],concat:[Xr,Ns(en),(e,t)=>t.map((t=>yn(t.evaluate(e)))).join("")],"resolved-locale":[Xr,[tn],(e,t)=>{let[i]=t;return i.evaluate(e).resolvedLocale()}],random:[Hr,[Hr,Hr,en],(e,t)=>{const[i,r,n]=t.map((t=>t.evaluate(e)));if(i>r)return i;if(i===r)return i;let o;if("string"==typeof n)o=function(e){let t=0;if(0===e.length)return t;for(let i=0;iJSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function ia(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Ls}function ra(e,t,i,r){const n=new qo(Ls,[],t?function(e){const t={color:Kr,string:Xr,number:Hr,enum:Xr,boolean:Yr,formatted:rn,resolvedImage:nn};return"array"===e.type?on(t[e.value]||en,e.length):t[e.type]}(t):void 0,void 0,void 0,i,r),o=n.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return o?Vs(new ta(o,t,i,r)):Us(n.errors)}class na{constructor(e,t,i){this.kind=e,this._styleExpression=t,this.isLightConstant=i,this.isStateDependent="constant"!==e&&!Vo(t.expression),this.isConfigDependent=!Uo(t.expression)}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}}class oa{constructor(e,t,i,r,n){this.kind=e,this.zoomStops=i,this._styleExpression=t,this.isStateDependent="camera"!==e&&!Vo(t.expression),this.isLightConstant=n,this.isConfigDependent=!Uo(t.expression),this.interpolationType=r}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}interpolationFactor(e,t,i){return this.interpolationType?ds.interpolationFactor(this.interpolationType,e,t,i):0}}function sa(e,t,i,r){if("error"===(e=ra(e,t,i,r)).result)return e;const n=e.value.expression,o=No(n);if(!o&&!Gs(t))return Us([new $r("","data expressions not supported")]);const s=jo(n,["zoom","pitch","distance-from-center"]);if(!s&&!Zs(t))return Us([new $r("","zoom expressions not supported")]);const a=jo(n,["measure-light"]);if(!a&&!qs(t))return Us([new $r("","measure-light expression not supported")]);const l=t.expression&&t.expression.relaxZoomRestriction,c=la(n);return c||s||l?c instanceof $r?Us([c]):c instanceof ds&&!$s(t)?Us([new $r("",'"interpolate" expressions cannot be used with this property')]):Vs(c?new oa(o?"camera":"composite",e.value,c.labels,c instanceof ds?c.interpolation:void 0,a):new na(o?"constant":"source",e.value,a)):Us([new $r("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression, or in the properties of atmosphere.')])}class aa{constructor(e,t){this._parameters=e,this._specification=t,Zr(this,Hs(this._parameters,this._specification))}static deserialize(e){return new aa(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function la(e){let t=null;if(e instanceof ms)t=la(e.result);else if(e instanceof fs){for(const i of e.args)if(t=la(i),t)break}else(e instanceof Wo||e instanceof ds)&&e.input instanceof Pn&&"zoom"===e.input.name&&(t=e);return t instanceof $r||e.eachChild((e=>{const i=la(e);i instanceof $r?t=i:t&&i&&t!==i&&(t=new $r("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}var ca=ua,ha=3;function ua(e,t,i){var r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;var n=new Int32Array(this.arrayBuffer);e=n[0],this.d=(t=n[1])+2*(i=n[2]);for(var o=0;o=h[p+0]&&r>=h[p+1])?(s[d]=!0,o.push(c[d])):s[d]=!1}}},ua.prototype._forEachCell=function(e,t,i,r,n,o,s,a){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r),d=l;d<=h;d++)for(var p=c;p<=u;p++){var f=this.d*p+d;if((!a||a(this._convertFromCellCoord(d),this._convertFromCellCoord(p),this._convertFromCellCoord(d+1),this._convertFromCellCoord(p+1)))&&n.call(this,e,t,i,r,f,o,s,a))return}},ua.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},ua.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},ua.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=ha+this.cells.length+1+1,i=0,r=0;r2&&void 0!==arguments[2]?arguments[2]:{};Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),pa[t]={klass:e,omit:i.omit||[]}}fa(Object,"Object"),da.serialize=function(e,t){const i=e.toArrayBuffer();return t&&t.add(i),{buffer:i}},da.deserialize=function(e){return new da(e.buffer)},Object.defineProperty(da,"name",{value:"Grid"}),fa(da,"Grid"),fa(Ur,"Color"),fa(Error,"Error"),fa(pn,"Formatted"),fa(dn,"FormattedSection"),fa(Xi,"AJAXError"),fa(fn,"ResolvedImage"),fa(aa,"StylePropertyFunction"),fa(ta,"StyleExpression",{omit:["_evaluator"]}),fa(oa,"ZoomDependentExpression"),fa(na,"ZoomConstantExpression"),fa(Pn,"CompoundExpression",{omit:["_evaluate"]});for(const mv in Ls)pa[Ls[mv]._classRegistryKey]||fa(Ls[mv],`Expression${mv}`);function ma(e){return e&&"undefined"!=typeof ArrayBuffer&&(e instanceof ArrayBuffer||e.constructor&&"ArrayBuffer"===e.constructor.name)}function _a(e){return self.ImageBitmap&&e instanceof ImageBitmap}function ga(e,t){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(ma(e)||_a(e))return t&&t.add(e),e;if(ArrayBuffer.isView(e)){const i=e;return t&&t.add(i.buffer),i}if(e instanceof ImageData)return t&&t.add(e.data.buffer),e;if(Array.isArray(e)){const i=[];for(const r of e)i.push(ga(r,t));return i}if(e instanceof Map){const t={$name:"Map"};for(const[i,r]of e.entries())t[i]=ga(r);return t}if("object"==typeof e){const i=e.constructor,r=i._classRegistryKey;if(!r)throw new Error(`can't serialize object of unregistered class ${r}`);const n=i.serialize?i.serialize(e,t):{};if(!i.serialize){for(const i in e)e.hasOwnProperty(i)&&(pa[r].omit.indexOf(i)>=0||(n[i]=ga(e[i],t)));e instanceof Error&&(n.message=e.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof e)}function ya(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||ma(e)||_a(e)||ArrayBuffer.isView(e)||e instanceof ImageData)return e;if(Array.isArray(e))return e.map(ya);if("object"==typeof e){const t=e.$name||"Object";if("Map"===t){const t=new Map;for(const i of Object.keys(e))"$name"!==i&&t.set(i,ya(e[i]));return t}const{klass:i}=pa[t];if(!i)throw new Error(`can't deserialize unregistered class ${t}`);if(i.deserialize)return i.deserialize(e);const r=Object.create(i.prototype);for(const n of Object.keys(e))"$name"!==n&&(r[n]=ya(e[n]));return r}throw new Error("can't deserialize object of type "+typeof e)}const xa={"Latin-1 Supplement":e=>e>=128&&e<=255,Arabic:e=>e>=1536&&e<=1791,"Arabic Supplement":e=>e>=1872&&e<=1919,"Arabic Extended-A":e=>e>=2208&&e<=2303,"Hangul Jamo":e=>e>=4352&&e<=4607,"Unified Canadian Aboriginal Syllabics":e=>e>=5120&&e<=5759,Khmer:e=>e>=6016&&e<=6143,"Unified Canadian Aboriginal Syllabics Extended":e=>e>=6320&&e<=6399,"General Punctuation":e=>e>=8192&&e<=8303,"Letterlike Symbols":e=>e>=8448&&e<=8527,"Number Forms":e=>e>=8528&&e<=8591,"Miscellaneous Technical":e=>e>=8960&&e<=9215,"Control Pictures":e=>e>=9216&&e<=9279,"Optical Character Recognition":e=>e>=9280&&e<=9311,"Enclosed Alphanumerics":e=>e>=9312&&e<=9471,"Geometric Shapes":e=>e>=9632&&e<=9727,"Miscellaneous Symbols":e=>e>=9728&&e<=9983,"Miscellaneous Symbols and Arrows":e=>e>=11008&&e<=11263,"CJK Radicals Supplement":e=>e>=11904&&e<=12031,"Kangxi Radicals":e=>e>=12032&&e<=12255,"Ideographic Description Characters":e=>e>=12272&&e<=12287,"CJK Symbols and Punctuation":e=>e>=12288&&e<=12351,Hiragana:e=>e>=12352&&e<=12447,Katakana:e=>e>=12448&&e<=12543,Bopomofo:e=>e>=12544&&e<=12591,"Hangul Compatibility Jamo":e=>e>=12592&&e<=12687,Kanbun:e=>e>=12688&&e<=12703,"Bopomofo Extended":e=>e>=12704&&e<=12735,"CJK Strokes":e=>e>=12736&&e<=12783,"Katakana Phonetic Extensions":e=>e>=12784&&e<=12799,"Enclosed CJK Letters and Months":e=>e>=12800&&e<=13055,"CJK Compatibility":e=>e>=13056&&e<=13311,"CJK Unified Ideographs Extension A":e=>e>=13312&&e<=19903,"Yijing Hexagram Symbols":e=>e>=19904&&e<=19967,"CJK Unified Ideographs":e=>e>=19968&&e<=40959,"Yi Syllables":e=>e>=40960&&e<=42127,"Yi Radicals":e=>e>=42128&&e<=42191,"Hangul Jamo Extended-A":e=>e>=43360&&e<=43391,"Hangul Syllables":e=>e>=44032&&e<=55215,"Hangul Jamo Extended-B":e=>e>=55216&&e<=55295,"Private Use Area":e=>e>=57344&&e<=63743,"CJK Compatibility Ideographs":e=>e>=63744&&e<=64255,"Arabic Presentation Forms-A":e=>e>=64336&&e<=65023,"Vertical Forms":e=>e>=65040&&e<=65055,"CJK Compatibility Forms":e=>e>=65072&&e<=65103,"Small Form Variants":e=>e>=65104&&e<=65135,"Arabic Presentation Forms-B":e=>e>=65136&&e<=65279,"Halfwidth and Fullwidth Forms":e=>e>=65280&&e<=65519,"CJK Unified Ideographs Extension B":e=>e>=131072&&e<=173791};function va(e){for(const t of e)if(Ta(t.charCodeAt(0)))return!0;return!1}function ba(e){for(const t of e)if(!wa(t.charCodeAt(0)))return!1;return!0}function wa(e){return!(xa.Arabic(e)||xa["Arabic Supplement"](e)||xa["Arabic Extended-A"](e)||xa["Arabic Presentation Forms-A"](e)||xa["Arabic Presentation Forms-B"](e))}function Ta(e){return!(746!==e&&747!==e&&(e<4352||!(xa["Bopomofo Extended"](e)||xa.Bopomofo(e)||xa["CJK Compatibility Forms"](e)&&!(e>=65097&&e<=65103)||xa["CJK Compatibility Ideographs"](e)||xa["CJK Compatibility"](e)||xa["CJK Radicals Supplement"](e)||xa["CJK Strokes"](e)||!(!xa["CJK Symbols and Punctuation"](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||xa["CJK Unified Ideographs Extension A"](e)||xa["CJK Unified Ideographs"](e)||xa["Enclosed CJK Letters and Months"](e)||xa["Hangul Compatibility Jamo"](e)||xa["Hangul Jamo Extended-A"](e)||xa["Hangul Jamo Extended-B"](e)||xa["Hangul Jamo"](e)||xa["Hangul Syllables"](e)||xa.Hiragana(e)||xa["Ideographic Description Characters"](e)||xa.Kanbun(e)||xa["Kangxi Radicals"](e)||xa["Katakana Phonetic Extensions"](e)||xa.Katakana(e)&&12540!==e||!(!xa["Halfwidth and Fullwidth Forms"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!xa["Small Form Variants"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||xa["Unified Canadian Aboriginal Syllabics"](e)||xa["Unified Canadian Aboriginal Syllabics Extended"](e)||xa["Vertical Forms"](e)||xa["Yijing Hexagram Symbols"](e)||xa["Yi Syllables"](e)||xa["Yi Radicals"](e))))}function Ea(e){return!(Ta(e)||function(e){return!!(xa["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||xa["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||xa["Letterlike Symbols"](e)||xa["Number Forms"](e)||xa["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||xa["Control Pictures"](e)&&9251!==e||xa["Optical Character Recognition"](e)||xa["Enclosed Alphanumerics"](e)||xa["Geometric Shapes"](e)||xa["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||xa["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||xa["CJK Symbols and Punctuation"](e)||xa.Katakana(e)||xa["Private Use Area"](e)||xa["CJK Compatibility Forms"](e)||xa["Small Form Variants"](e)||xa["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function Sa(e){return e>=1424&&e<=2303||xa["Arabic Presentation Forms-A"](e)||xa["Arabic Presentation Forms-B"](e)}function Ma(e,t){return!(!t&&Sa(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||xa.Khmer(e))}function Aa(e){for(const t of e)if(Sa(t.charCodeAt(0)))return!0;return!1}const Ia="deferred",Ca="loading",Pa="loaded";let za=null,Da="unavailable",Ra=null;const La=function(e){e&&"string"==typeof e&&e.indexOf("NetworkError")>-1&&(Da="error"),za&&za(e)};function ka(){Oa.fire(new Rr("pluginStateChange",{pluginStatus:Da,pluginURL:Ra}))}const Oa=new kr,Ba=function(){return Da},Fa=function(){if(Da!==Ia||!Ra)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Da=Ca,ka(),Ra&&Ji({url:Ra},(e=>{e?La(e):(Da=Pa,ka())}))},Na={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Da===Pa||null!=Na.applyArabicShaping,isLoading:()=>Da===Ca,setState(e){Da=e.pluginStatus,Ra=e.pluginURL},isParsed:()=>null!=Na.applyArabicShaping&&null!=Na.processBidirectionalText&&null!=Na.processStyledBidirectionalText,getPluginURL:()=>Ra};class Va{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.transition=t.transition,this.pitch=t.pitch,this.brightness=t.brightness):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0,this.brightness=0)}isSupportedScript(e){return function(e,t){for(const i of e)if(!Ma(i.charCodeAt(0),t))return!1;return!0}(e,Na.isLoaded())}}class Ua{constructor(e,t,i,r){this.property=e,this.value=t,this.expression=function(e,t,i,r){if(Ws(e))return new aa(e,t);if(ia(e)||Array.isArray(e)&&e.length>0){const n=sa(e,t,i,r);if("error"===n.result)throw new Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return n.value}{let i=e;return"string"==typeof e&&"color"===t.type&&(i=Ur.parse(e)),{kind:"constant",isConfigDependent:!1,evaluate:()=>i}}}(void 0===t?e.specification.default:t,e.specification,i,r)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,i){return this.property.possiblyEvaluate(this,e,t,i)}}class ja{constructor(e,t,i){this.property=e,this.value=new Ua(e,void 0,t,i)}transitioned(e,t){return new qa(this.property,this.value,t,Jt({},e.transition,this.transition),e.now)}untransitioned(){return new qa(this.property,this.value,null,{},0)}}class Ga{constructor(e,t,i){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._scope=t,this._options=i,this.isConfigDependent=!1}getValue(e){return ci(this._values[e].value.value)}setValue(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new ja(this._values[e].property,this._scope,this._options)),this._values[e].value=new Ua(this._values[e].property,null===t?void 0:ci(t),this._scope,this._options),this.isConfigDependent=this.isConfigDependent||this._values[e].value.expression.isConfigDependent}setTransitionOrValue(e,t){t&&(this._options=t);const i=this._properties.properties;if(e)for(const r in e){const t=e[r];if(si(r,"-transition")){const e=r.slice(0,-11);i[e]&&this.setTransition(e,t)}else i[r]&&this.setValue(r,t)}}getTransition(e){return ci(this._values[e].transition)}setTransition(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new ja(this._values[e].property)),this._values[e].transition=ci(t)||void 0}serialize(){const e={};for(const t of Object.keys(this._values)){const i=this.getValue(t);void 0!==i&&(e[t]=i);const r=this.getTransition(t);void 0!==r&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){const i=new Za(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(e,t._values[r]);return i}untransitioned(){const e=new Za(this._properties);for(const t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class qa{constructor(e,t,i,r,n){const o=r.delay||0,s=r.duration||0;n=n||0,this.property=e,this.value=t,this.begin=n+o,this.end=this.begin+s,e.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(e,t,i){const r=e.now||0,n=this.value.possiblyEvaluate(e,t,i),o=this.prior;if(o){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r":1,">=":1,"<":1,"<=":1,"in":1,"!in":1,"all":1,"any":1,"none":1,"has":1,"!has":1}},"geometry_type":{"type":"enum","values":{"Point":1,"LineString":1,"Polygon":1}},"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":1,"exponential":1,"interval":1,"categorical":1},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":1,"lab":1,"hcl":1},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vertical-range":{"type":"array","default":[0,0],"minimum":0,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}}},"camera":{"camera-projection":{"type":"enum","values":{"perspective":1,"orthographic":1},"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"default":"perspective","property-type":"data-constant"}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"property-type":"data-constant","expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":1,"equalEarth":1,"equirectangular":1,"lambertConformalConic":1,"mercator":1,"naturalEarth":1,"winkelTripel":1,"globe":1},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky","paint_model"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-wall-radius":{"property-type":"data-constant","type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-radius":{"property-type":"data-constant","type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-attenuation":{"property-type":"data-constant","type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-flood-light-color":{"property-type":"data-constant","type":"color","default":"#ffffff","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-intensity":{"property-type":"data-constant","type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-attenuation":{"property-type":"data-constant","type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-vertical-scale":{"property-type":"data-constant","type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-rounded-roof":{"property-type":"data-constant","type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"fill-extrusion-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"property-type":"constant"},"line-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"line-border-width":{"type":"number","private":true,"default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-border-color":{"type":"color","private":true,"default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"text-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"icon-image-cross-fade":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"transition":true},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"icon-color-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-color":{"type":"color","expression":{"interpolated":true,"parameters":["raster-value"]},"property-type":"color-ramp"},"raster-color-mix":{"type":"array","default":[0.2126,0.7152,0.0722,0],"length":4,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color-range":{"type":"array","length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":1,"nearest":1},"default":"linear","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"raster-array-band":{"type":"string","required":false,"property-type":"data-constant"},"raster-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster-particle":{"raster-particle-array-band":{"type":"string","required":false,"property-type":"data-constant"},"raster-particle-count":{"type":"number","default":512,"minimum":1,"property-type":"data-constant"},"raster-particle-color":{"type":"color","expression":{"interpolated":true,"parameters":["raster-particle-speed"]},"property-type":"color-ramp"},"raster-particle-max-speed":{"type":"number","default":1,"minimum":1,"property-type":"data-constant"},"raster-particle-speed-factor":{"type":"number","default":0.2,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-particle-fade-opacity-factor":{"type":"number","default":0.98,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-particle-reset-rate-factor":{"type":"number","default":0.8,"minimum":0,"maximum":1,"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":1,"atmosphere":1},"default":"atmosphere","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","default":10,"minimum":0,"maximum":100,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","value":"number","default":[0,0],"length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","default":90,"minimum":0,"maximum":180,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_model":{"model-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"model-rotation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-scale":{"type":"array","value":"number","length":3,"default":[1,1,1],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-translation":{"type":"array","value":"number","length":3,"default":[0,0,0],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-color":{"type":"color","default":"#ffffff","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light","zoom"]},"transition":true},"model-color-mix-intensity":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-type":{"type":"enum","values":{"common-3d":1,"location-indicator":1},"default":"common-3d","property-type":"data-constant"},"model-cast-shadows":{"type":"boolean","default":true,"expression":{},"property-type":"data-constant"},"model-receive-shadows":{"type":"boolean","default":true,"expression":{},"property-type":"data-constant"},"model-ambient-occlusion-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant","transition":true},"model-emissive-strength":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-roughness":{"type":"number","default":1,"minimum":0,"maximum":1,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state"]},"transition":true},"model-height-based-emissive-strength-multiplier":{"type":"array","default":[1,1,1,1,0],"length":5,"value":"number","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"model-front-cutoff":{"type":"array","private":true,"value":"number","property-type":"data-constant","expression":{"interpolated":true,"parameters":["zoom"]},"length":3,"default":[0,0,1],"minimum":[0,0,0],"maximum":[1,1,1]}},"transition":{"duration":{"type":"number","default":300,"minimum":0},"delay":{"type":"number","default":0,"minimum":0}},"property-type":{"data-driven":{"type":"property-type"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function il(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!il(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}function rl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fill";if(null==e)return{filter:()=>!0,needGeometry:!1,needFeature:!1};il(e)||(e=hl(e));const i=e;let r=!0;try{r=function(e){if(!sl(e))return e;let t=el(e);return ol(t),t=nl(t),t}(i)}catch(e){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(i,null,2)}\n `)}const n=tl[`filter_${t}`],o=ra(r,n);let s=null;if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));s=(e,t,i)=>o.value.evaluate(e,t,{},i);let a=null,l=null;if(r!==i){const e=ra(i,n);if("error"===e.result)throw new Error(e.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a=(t,i,r,n,o)=>e.value.evaluate(t,i,{},r,void 0,void 0,n,o),l=!No(e.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:cl(r),needFeature:!!l}}function nl(e){if(!Array.isArray(e))return e;const t=function(e){if(al.has(e[0]))for(let t=1;tnl(e)))}function ol(e){let t=!1;const i=[];if("case"===e[0]){for(let r=1;r",">=","<","<=","to-boolean"]);function ll(e,t){return et?1:0}function cl(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?ul(e[1],e[2],t):"any"===t?(i=e.slice(1),["any"].concat(i.map(hl))):"all"===t?["all"].concat(e.slice(1).map(hl)):"none"===t?["all"].concat(e.slice(1).map(hl).map(fl)):"in"===t?dl(e[1],e.slice(2)):"!in"===t?fl(dl(e[1],e.slice(2))):"has"===t?pl(e[1]):"!has"!==t||fl(pl(e[1]));var i}function ul(e,t,i){switch(e){case"$type":return[`filter-type-${i}`,t];case"$id":return[`filter-id-${i}`,t];default:return[`filter-${i}`,e,t]}}function dl(e,t){if(0===t.length)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(ll)]]:["filter-in-small",e,["literal",t]]}}function pl(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function fl(e){return["!",e]}const ml="\x1f";function _l(e,t){return t?`${e}${ml}${t}`:e}const gl="-transition",yl=new Set(["fill","line","background","hillshade","raster"]);class xl extends kr{constructor(e,t,i,r){if(super(),this.id=e.id,this.fqid=_l(this.id,i),this.type=e.type,this.scope=i,this.options=r,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,this.isConfigDependent=!1,"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&"sky"!==e.type&&"slot"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),e.slot&&(this.slot=e.slot),t.layout&&(this._unevaluatedLayout=new $a(t.layout,this.scope,r),this.isConfigDependent=this.isConfigDependent||this._unevaluatedLayout.isConfigDependent),t.paint)){this._transitionablePaint=new Ga(t.paint,this.scope,r);for(const t in e.paint)this.setPaintProperty(t,e.paint[t]);for(const t in e.layout)this.setLayoutProperty(t,e.layout[t]);this.isConfigDependent=this.isConfigDependent||this._transitionablePaint.isConfigDependent,this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Qa(t.paint)}}onAdd(e){}onRemove(e){}isDraped(e){return yl.has(this.type)}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t){if("custom"===this.type&&"visibility"===e)return void(this.visibility=t);const i=this._unevaluatedLayout;i._properties.properties[e]&&(i.setValue(e,t),this.isConfigDependent=this.isConfigDependent||i.isConfigDependent,"visibility"===e&&this.possiblyEvaluateVisibility())}possiblyEvaluateVisibility(){this.visibility=this._unevaluatedLayout._values.visibility.possiblyEvaluate({zoom:0})}getPaintProperty(e){return si(e,gl)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t){const i=this._transitionablePaint,r=i._properties.properties;if(si(e,gl)){const n=e.slice(0,-11);return r[n]&&i.setTransition(n,t||void 0),!1}if(!r[e])return!1;const n=i._values[e],o=n.value.isDataDriven(),s=n.value;i.setValue(e,t),this.isConfigDependent=this.isConfigDependent||i.isConfigDependent,this._handleSpecialPaintPropertyUpdate(e);const a=i._values[e].value,l=a.isDataDriven(),c=si(e,"pattern")||"line-dasharray"===e;return l||o||c||this._handleOverridablePaintPropertyUpdate(e,s,a)}_handleSpecialPaintPropertyUpdate(e){}getProgramIds(){return null}getDefaultProgramParams(e,t){return null}_handleOverridablePaintPropertyUpdate(e,t,i){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){return li({id:this.id,type:this.type,slot:this.slot,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()},((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}hasShadowPass(){return!1}canCastShadows(){return!1}hasLightBeamPass(){return!1}cutoffRange(){return 0}tileCoverLift(){return 0}resize(){}isStateDependent(){for(const e in this.paint._values){const t=this.paint.get(e);if(t instanceof Wa&&Gs(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=rl(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}getLayerRenderingStats(){return this._stats}resetLayerRenderingStats(e){this._stats&&("shadow"===e.renderPass?this._stats.numRenderedVerticesInShadowPass=0:this._stats.numRenderedVerticesInTransparentPass=0)}queryRadius(e){}queryIntersectsFeature(e,t,i,r,n,o,s,a,l){}queryIntersectsMatchingFeature(e,t,i,r){}}const vl={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class bl{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class wl{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.add(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){const t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("StructArray#_refreshViews() must be implemented by each concrete StructArray layout")}emplace(){throw new Error("StructArray#emplace() must be implemented by each concrete StructArray layout")}emplaceBack(){throw new Error("StructArray#emplaceBack() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function Tl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=0,r=0;return{members:e.map((e=>{const n=vl[e.type].BYTES_PER_ELEMENT,o=i=El(i,Math.max(t,n)),s=e.components||1;return r=Math.max(r,n),i+=n*s,{name:e.name,type:e.type,components:s,offset:o}})),size:El(i,Math.max(r,t)),alignment:t}}function El(e,t){return Math.ceil(e/t)*t}class Sl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.int16[r+0]=t,this.int16[r+1]=i,e}}Sl.prototype.bytesPerElement=4,fa(Sl,"StructArrayLayout2i4");class Ml extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.int16[n+0]=t,this.int16[n+1]=i,this.int16[n+2]=r,e}}Ml.prototype.bytesPerElement=6,fa(Ml,"StructArrayLayout3i6");class Al extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.int16[o+0]=t,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,e}}Al.prototype.bytesPerElement=8,fa(Al,"StructArrayLayout4i8");class Il extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=5*e;return this.int16[s+0]=t,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=o,e}}Il.prototype.bytesPerElement=10,fa(Il,"StructArrayLayout5i10");class Cl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=6*e,c=12*e,h=3*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.uint8[c+4]=r,this.uint8[c+5]=n,this.uint8[c+6]=o,this.uint8[c+7]=s,this.float32[h+2]=a,e}}Cl.prototype.bytesPerElement=12,fa(Cl,"StructArrayLayout2i4ub1f12");class Pl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.float32[o+0]=t,this.float32[o+1]=i,this.float32[o+2]=r,this.float32[o+3]=n,e}}Pl.prototype.bytesPerElement=16,fa(Pl,"StructArrayLayout4f16");class zl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.float32[r+0]=t,this.float32[r+1]=i,e}}zl.prototype.bytesPerElement=8,fa(zl,"StructArrayLayout2f8");class Dl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=6*e,a=3*e;return this.uint16[s+0]=t,this.uint16[s+1]=i,this.uint16[s+2]=r,this.uint16[s+3]=n,this.float32[a+2]=o,e}}Dl.prototype.bytesPerElement=12,fa(Dl,"StructArrayLayout4ui1f12");class Rl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.uint16[o+0]=t,this.uint16[o+1]=i,this.uint16[o+2]=r,this.uint16[o+3]=n,e}}Rl.prototype.bytesPerElement=8,fa(Rl,"StructArrayLayout4ui8");class Ll extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=6*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=o,this.int16[a+5]=s,e}}Ll.prototype.bytesPerElement=12,fa(Ll,"StructArrayLayout6i12");class kl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u){const d=this.length;return this.resize(d+1),this.emplace(d,e,t,i,r,n,o,s,a,l,c,h,u)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=12*e;return this.int16[p+0]=t,this.int16[p+1]=i,this.int16[p+2]=r,this.int16[p+3]=n,this.uint16[p+4]=o,this.uint16[p+5]=s,this.uint16[p+6]=a,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=h,this.int16[p+10]=u,this.int16[p+11]=d,e}}kl.prototype.bytesPerElement=24,fa(kl,"StructArrayLayout4i4ui4i24");class Ol extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=10*e,l=5*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.float32[l+2]=n,this.float32[l+3]=o,this.float32[l+4]=s,e}}Ol.prototype.bytesPerElement=20,fa(Ol,"StructArrayLayout3i3f20");class Bl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}Bl.prototype.bytesPerElement=4,fa(Bl,"StructArrayLayout1ul4");class Fl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=i,e}}Fl.prototype.bytesPerElement=4,fa(Fl,"StructArrayLayout2ui4");class Nl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=this.length;return this.resize(p+1),this.emplace(p,e,t,i,r,n,o,s,a,l,c,h,u,d)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p){const f=20*e,m=10*e;return this.int16[f+0]=t,this.int16[f+1]=i,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=o,this.float32[m+3]=s,this.float32[m+4]=a,this.float32[m+5]=l,this.float32[m+6]=c,this.int16[f+14]=h,this.uint32[m+8]=u,this.uint16[f+18]=d,this.uint16[f+19]=p,e}}Nl.prototype.bytesPerElement=40,fa(Nl,"StructArrayLayout5i4f1i1ul2ui40");class Vl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=8*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.int16[l+2]=r,this.int16[l+4]=n,this.int16[l+5]=o,this.int16[l+6]=s,this.int16[l+7]=a,e}}Vl.prototype.bytesPerElement=16,fa(Vl,"StructArrayLayout3i2i2i16");class Ul extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=4*e,a=8*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.int16[a+6]=n,this.int16[a+7]=o,e}}Ul.prototype.bytesPerElement=16,fa(Ul,"StructArrayLayout2f1f2i16");class jl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=12*e,s=3*e;return this.uint8[o+0]=t,this.uint8[o+1]=i,this.float32[s+1]=r,this.float32[s+2]=n,e}}jl.prototype.bytesPerElement=12,fa(jl,"StructArrayLayout2ub2f12");class Gl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.uint16[n+0]=t,this.uint16[n+1]=i,this.uint16[n+2]=r,e}}Gl.prototype.bytesPerElement=6,fa(Gl,"StructArrayLayout3ui6");class ql extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v){const b=this.length;return this.resize(b+1),this.emplace(b,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b){const w=30*e,T=15*e,E=60*e;return this.int16[w+0]=t,this.int16[w+1]=i,this.int16[w+2]=r,this.float32[T+2]=n,this.float32[T+3]=o,this.uint16[w+8]=s,this.uint16[w+9]=a,this.uint32[T+5]=l,this.uint32[T+6]=c,this.uint32[T+7]=h,this.uint16[w+16]=u,this.uint16[w+17]=d,this.uint16[w+18]=p,this.float32[T+10]=f,this.float32[T+11]=m,this.uint8[E+48]=_,this.uint8[E+49]=g,this.uint8[E+50]=y,this.uint32[T+13]=x,this.int16[w+28]=v,this.uint8[E+58]=b,e}}ql.prototype.bytesPerElement=60,fa(ql,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class Zl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z){const D=this.length;return this.resize(D+1),this.emplace(D,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z,D){const R=20*e,L=40*e,k=80*e;return this.float32[R+0]=t,this.float32[R+1]=i,this.int16[L+4]=r,this.int16[L+5]=n,this.int16[L+6]=o,this.int16[L+7]=s,this.int16[L+8]=a,this.int16[L+9]=l,this.int16[L+10]=c,this.int16[L+11]=h,this.int16[L+12]=u,this.uint16[L+13]=d,this.uint16[L+14]=p,this.uint16[L+15]=f,this.uint16[L+16]=m,this.uint16[L+17]=_,this.uint16[L+18]=g,this.uint16[L+19]=y,this.uint16[L+20]=x,this.uint16[L+21]=v,this.uint16[L+22]=b,this.uint16[L+23]=w,this.uint16[L+24]=T,this.uint16[L+25]=E,this.uint16[L+26]=S,this.uint16[L+27]=M,this.uint32[R+14]=A,this.float32[R+15]=I,this.float32[R+16]=C,this.float32[R+17]=P,this.float32[R+18]=z,this.uint8[k+76]=D,e}}Zl.prototype.bytesPerElement=80,fa(Zl,"StructArrayLayout2f9i15ui1ul4f1ub80");class $l extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}$l.prototype.bytesPerElement=4,fa($l,"StructArrayLayout1f4");class Wl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=5*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,this.float32[s+4]=o,e}}Wl.prototype.bytesPerElement=20,fa(Wl,"StructArrayLayout5f20");class Ql extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=7*e;return this.float32[l+0]=t,this.float32[l+1]=i,this.float32[l+2]=r,this.float32[l+3]=n,this.float32[l+4]=o,this.float32[l+5]=s,this.float32[l+6]=a,e}}Ql.prototype.bytesPerElement=28,fa(Ql,"StructArrayLayout7f28");class Hl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=6*e;return this.uint32[3*e+0]=t,this.uint16[o+2]=i,this.uint16[o+3]=r,this.uint16[o+4]=n,e}}Hl.prototype.bytesPerElement=12,fa(Hl,"StructArrayLayout1ul3ui12");class Xl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Xl.prototype.bytesPerElement=2,fa(Xl,"StructArrayLayout1ui2");class Yl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.float32[n+0]=t,this.float32[n+1]=i,this.float32[n+2]=r,e}}Yl.prototype.bytesPerElement=12,fa(Yl,"StructArrayLayout3f12");class Kl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=this.length;return this.resize(_+1),this.emplace(_,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_){const g=16*e;return this.float32[g+0]=t,this.float32[g+1]=i,this.float32[g+2]=r,this.float32[g+3]=n,this.float32[g+4]=o,this.float32[g+5]=s,this.float32[g+6]=a,this.float32[g+7]=l,this.float32[g+8]=c,this.float32[g+9]=h,this.float32[g+10]=u,this.float32[g+11]=d,this.float32[g+12]=p,this.float32[g+13]=f,this.float32[g+14]=m,this.float32[g+15]=_,e}}Kl.prototype.bytesPerElement=64,fa(Kl,"StructArrayLayout16f64");class Jl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=10*e,c=5*e;return this.uint16[l+0]=t,this.uint16[l+1]=i,this.uint16[l+2]=r,this.uint16[l+3]=n,this.float32[c+2]=o,this.float32[c+3]=s,this.float32[c+4]=a,e}}Jl.prototype.bytesPerElement=20,fa(Jl,"StructArrayLayout4ui3f20");class ec extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.int16[1*e+0]=t,e}}ec.prototype.bytesPerElement=2,fa(ec,"StructArrayLayout1i2");class tc extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint8[1*e+0]=t,e}}tc.prototype.bytesPerElement=1,fa(tc,"StructArrayLayout1ub1");class ic extends bl{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ic.prototype.size=40;class rc extends Nl{get(e){return new ic(this,e)}}fa(rc,"CollisionBoxArray");class nc extends bl{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(e){this._structArray.uint8[this._pos1+49]=e}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(e){this._structArray.uint8[this._pos1+50]=e}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(e){this._structArray.uint32[this._pos4+13]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(e){this._structArray.uint8[this._pos1+58]=e}}nc.prototype.size=60;class oc extends ql{get(e){return new nc(this,e)}}fa(oc,"PlacedSymbolArray");class sc extends bl{get tileAnchorX(){return this._structArray.float32[this._pos4+0]}get tileAnchorY(){return this._structArray.float32[this._pos4+1]}get projectedAnchorX(){return this._structArray.int16[this._pos2+4]}get projectedAnchorY(){return this._structArray.int16[this._pos2+5]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+6]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+7]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+11]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get key(){return this._structArray.uint16[this._pos2+13]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+14]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+15]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+17]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+19]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+21]}get featureIndex(){return this._structArray.uint16[this._pos2+22]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+23]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numIconVertices(){return this._structArray.uint16[this._pos2+25]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+26]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+27]}get crossTileID(){return this._structArray.uint32[this._pos4+14]}set crossTileID(e){this._structArray.uint32[this._pos4+14]=e}get textOffset0(){return this._structArray.float32[this._pos4+15]}get textOffset1(){return this._structArray.float32[this._pos4+16]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+17]}get zOffset(){return this._structArray.float32[this._pos4+18]}set zOffset(e){this._structArray.float32[this._pos4+18]=e}get hasIconTextFit(){return this._structArray.uint8[this._pos1+76]}}sc.prototype.size=80;class ac extends Zl{get(e){return new sc(this,e)}}fa(ac,"SymbolInstanceArray");class lc extends $l{getoffsetX(e){return this.float32[1*e+0]}}fa(lc,"GlyphOffsetArray");class cc extends Sl{getx(e){return this.int16[2*e+0]}gety(e){return this.int16[2*e+1]}}fa(cc,"SymbolLineVertexArray");class hc extends bl{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]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}hc.prototype.size=12;class uc extends Hl{get(e){return new hc(this,e)}}fa(uc,"FeatureIndexArray");class dc extends Fl{geta_centroid_pos0(e){return this.uint16[2*e+0]}geta_centroid_pos1(e){return this.uint16[2*e+1]}}fa(dc,"FillExtrusionCentroidArray");const pc=Tl([{name:"a_pos",components:2,type:"Int16"}],4),fc=Tl([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class mc{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.segments=e}_prepareSegment(e,t,i,r){let n=this.segments[this.segments.length-1];return e>mc.MAX_VERTEX_ARRAY_LENGTH&&ui(`Max vertices per segment is ${mc.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!n||n.vertexLength+e>mc.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:t,primitiveOffset:i,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}prepareSegment(e,t,i,r){return this._prepareSegment(e,t.length,i.length,r)}get(){return this.segments}destroy(){for(const e of this.segments)for(const t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,i,r){return new mc([{vertexOffset:e,primitiveOffset:t,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function _c(e,t){return 256*(e=Ht(Math.floor(e),0,255))+Ht(Math.floor(t),0,255)}mc.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,fa(mc,"SegmentVector");const gc=Tl([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),yc=Tl([{name:"a_dash",components:4,type:"Uint16"}]);class xc{constructor(){this.ids=[],this.uniqueIds=[],this.positions=[],this.indexed=!1}add(e,t,i,r){this.ids.push(vc(e)),this.positions.push(t,i,r)}eachPosition(e,t){const i=vc(e);let r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=i?n=e:r=e+1}for(;this.ids[r]===i;)t(this.positions[3*r],this.positions[3*r+1],this.positions[3*r+2]),r++}static serialize(e,t){const i=new Float64Array(e.ids),r=new Uint32Array(e.positions);return bc(i,r,0,i.length-1),t&&(t.add(i.buffer),t.add(r.buffer)),{ids:i,positions:r}}static deserialize(e){const t=new xc;let i;t.ids=e.ids,t.positions=e.positions;for(const r of t.ids)r!==i&&t.uniqueIds.push(r),i=r;return t.indexed=!0,t}}function vc(e){const t=+e;return!isNaN(t)&&Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER?t:Pr(String(e))}function bc(e,t,i,r){for(;i>1];let o=i-1,s=r+1;for(;;){do{o++}while(e[o]n);if(o>=s)break;wc(e,o,s),wc(t,3*o,3*s),wc(t,3*o+1,3*s+1),wc(t,3*o+2,3*s+2)}s-i`u_${e}`)),this.type=i}setUniform(e,t,i,r,n){t.set(e,n,r.constantOr(this.value))}getBinding(e,t){return"color"===this.type?new Cc(e):new Sc(e)}}class Bc{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(e){this.pixelRatio=e.pixelRatio||1,this.pattern=e.tl.concat(e.br)}setUniform(e,t,i,r,n){const o="u_pattern"===n||"u_dash"===n?this.pattern:"u_pixel_ratio"===n?this.pixelRatio:null;o&&t.set(e,n,o)}getBinding(e,t){return"u_pattern"===t||"u_dash"===t?new Ic(e):new Sc(e)}}class Fc{constructor(e,t,i,r){this.expression=e,this.type=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,i,r,n,o,s){const a=this.paintVertexArray.length,l=this.expression.evaluate(new Va(0,{brightness:o}),t,{},n,r,s);this.paintVertexArray.resize(e),this._setPaintValue(a,e,l)}updatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate({zoom:0,brightness:s},i,r,void 0,n);this._setPaintValue(e,t,a)}_setPaintValue(e,t,i){if("color"===this.type){const r=kc(i);for(let i=e;i`u_${e}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new o}populatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate(new Va(this.zoom,{brightness:o}),t,{},n,r,s),l=this.expression.evaluate(new Va(this.zoom+1,{brightness:o}),t,{},n,r,s),c=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(c,e,a,l)}updatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate({zoom:this.zoom,brightness:s},i,r,void 0,n),l=this.expression.evaluate({zoom:this.zoom+1,brightness:s},i,r,void 0,n);this._setPaintValue(e,t,a,l)}_setPaintValue(e,t,i,r){if("color"===this.type){const n=kc(i),o=kc(r);for(let i=e;i2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.binders={},this._buffers=[];const r=[];for(const n in e.paint._values){const o=e.paint.get(n);if(!i(n))continue;if(!(o instanceof Wa&&Gs(o.property.specification)))continue;const s=qc(n,e.type),a=o.value,l=o.property.specification.type,c=!!o.property.useIntegerZoom,h="line-dasharray"===n||n.endsWith("pattern"),u="line-dasharray"===n&&"constant"!==e.layout.get("line-cap").value.kind;if("constant"!==a.kind||u)if("source"===a.kind||u||h){const t=Wc(n,l,"source");this.binders[n]=h?new Vc(a,s,l,t,e.id):new Fc(a,s,l,t),r.push(`/a_${n}`)}else{const e=Wc(n,l,"composite");this.binders[n]=new Nc(a,s,l,c,t,e),r.push(`/z_${n}`)}else this.binders[n]=h?new Bc(a.value,s):new Oc(a.value,s,l),r.push(`/u_${n}`)}this.cacheKey=r.sort().join("")}getMaxValue(e){const t=this.binders[e];return t instanceof Fc||t instanceof Nc?t.maxValue:0}populatePaintArrays(e,t,i,r,n,o,s){for(const a in this.binders){const l=this.binders[a];(l instanceof Fc||l instanceof Nc||l instanceof Vc)&&l.populatePaintArray(e,t,i,r,n,o,s)}}setConstantPatternPositions(e){for(const t in this.binders){const i=this.binders[t];i instanceof Bc&&i.setConstantPatternPositions(e)}}updatePaintArrays(e,t,i,r,n,o,s,a){let l=!1;const c=Object.keys(e),h=0!==c.length,u=h?c:t.uniqueIds;for(const d in this.binders){const c=this.binders[d];if((c instanceof Fc||c instanceof Nc||c instanceof Vc)&&(!0===c.expression.isStateDependent||!1===c.expression.isLightConstant)){const p=n.paint.get(d);c.expression=p.value;for(const i of u){const n=e[i.toString()];t.eachPosition(i,((e,t,i)=>{const l=r.feature(e);c.updatePaintArray(t,i,l,n,o,s,a)}))}if(!h)for(const t of i.uniqueIds){const n=e[t.toString()];i.eachPosition(t,((e,t,i)=>{const l=r.feature(e);c.updatePaintArray(t,i,l,n,o,s,a)}))}l=!0}}return l}defines(){const e=[];for(const t in this.binders){const i=this.binders[t];(i instanceof Oc||i instanceof Bc)&&e.push(...i.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){const e=[];for(const t in this.binders){const i=this.binders[t];if(i instanceof Fc||i instanceof Nc||i instanceof Vc)for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.programConfigurations={};for(const r of e)this.programConfigurations[r.id]=new Uc(r,t,i);this.needsUpload=!1,this._featureMap=new xc,this._featureMapWithoutIds=new xc,this._bufferOffset=0,this._idlessCounter=0}populatePaintArrays(e,t,i,r,n,o,s,a){for(const l in this.programConfigurations)this.programConfigurations[l].populatePaintArrays(e,t,r,n,o,s,a);void 0!==t.id?this._featureMap.add(t.id,i,this._bufferOffset,e):(this._featureMapWithoutIds.add(this._idlessCounter,i,this._bufferOffset,e),this._idlessCounter+=1),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,i,r,n,o){for(const s of i)this.needsUpload=this.programConfigurations[s.id].updatePaintArrays(e,this._featureMap,this._featureMapWithoutIds,t,s,r,n,o||0)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}const Gc={"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-emissive-strength":["emissive_strength"],"icon-emissive-strength":["emissive_strength"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function qc(e,t){return Gc[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}const Zc={"line-pattern":{source:Dl,composite:Dl},"fill-pattern":{source:Dl,composite:Dl},"fill-extrusion-pattern":{source:Dl,composite:Dl},"line-dasharray":{source:Rl,composite:Rl}},$c={color:{source:zl,composite:Pl},number:{source:$l,composite:zl}};function Wc(e,t,i){const r=Zc[e];return r&&r[i]||$c[t][i]}fa(Oc,"ConstantBinder"),fa(Bc,"PatternConstantBinder"),fa(Fc,"SourceExpressionBinder"),fa(Vc,"PatternCompositeBinder"),fa(Nc,"CompositeExpressionBinder"),fa(Uc,"ProgramConfiguration",{omit:["_buffers"]}),fa(jc,"ProgramConfigurationSet");const Qc=no/Math.PI/2,Hc=5,Xc=6,Yc=16383,Kc=64,Jc=[Kc,32,16],eh=-Qc,th=Qc;function ih(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Qc;return i=Gt(i),[e*Math.sin(i)*r,-t*r,e*Math.cos(i)*r]}function rh(e,t,i){return ih(Math.cos(Gt(e)),Math.sin(Gt(e)),t,i)}const nh=6371008.8,oh=2*Math.PI*nh;class sh{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new sh(Yt(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const t=Math.PI/180,i=this.lat*t,r=e.lat*t,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return nh*Math.acos(Math.min(n,1))}toBounds(){const e=360*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)/40075017,t=e/Math.cos(Math.PI/180*this.lat);return new ah({lng:this.lng-t,lat:this.lat-e},{lng:this.lng+t,lat:this.lat+e})}toEcef(e){return rh(this.lat,this.lng,Qc+e*Qc/nh)}static convert(e){if(e instanceof sh)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new sh(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new sh(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}class ah{constructor(e,t){if(e)if(t)this.setSouthWest(e).setNorthEast(t);else if(4===e.length){const t=e;this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]])}else{const t=e;this.setSouthWest(t[0]).setNorthEast(t[1])}}setNorthEast(e){return this._ne=e instanceof sh?new sh(e.lng,e.lat):sh.convert(e),this}setSouthWest(e){return this._sw=e instanceof sh?new sh(e.lng,e.lat):sh.convert(e),this}extend(e){const t=this._sw,i=this._ne;let r,n;if(e instanceof sh)r=e,n=e;else{if(!(e instanceof ah))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(ah.convert(e)):this.extend(sh.convert(e)):"object"==typeof e&&null!==e&&e.hasOwnProperty("lat")&&(e.hasOwnProperty("lon")||e.hasOwnProperty("lng"))?this.extend(sh.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return t||i?(t.lng=Math.min(r.lng,t.lng),t.lat=Math.min(r.lat,t.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new sh(r.lng,r.lat),this._ne=new sh(n.lng,n.lat)),this}getCenter(){return new sh((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new sh(this.getWest(),this.getNorth())}getSouthEast(){return new sh(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:t,lat:i}=sh.convert(e);let r=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=t&&t>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(e){return!e||e instanceof ah?e:new ah(e)}}var lh={};!function(e,t){!function(e){function t(e,t,r){var n=i(256*e,256*(t=Math.pow(2,r)-t-1),r),o=i(256*(e+1),256*(t+1),r);return n[0]+","+n[1]+","+o[0]+","+o[1]}function i(e,t,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=function(e,i,r,n,o,s){return s=s||{},e+"?"+["bbox="+t(r,n,o),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+i].join("&")},e.getTileBBox=t,e.getMercCoords=i,Object.defineProperty(e,"__esModule",{value:!0})}(t)}(0,lh);var ch=lh;class hh{constructor(e,t,i){this.z=e,this.x=t,this.y=i,this.key=ph(0,e,e,t,i)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t){const i=ch.getTileBBox(this.x,this.y,this.z),r=function(e,t,i){let r,n="";for(let o=e;o>0;o--)r=1<this.canonical.z?new dh(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new dh(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.overscaledZ===e&&t)return this.key;if(e>this.canonical.z)return ph(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y);{const i=this.canonical.z-e;return ph(this.wrap*+t,e,e,this.canonical.x>>i,this.canonical.y>>i)}}isChildOf(e){if(e.wrap!==this.wrap)return!1;const t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new dh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const t=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new dh(t,this.wrap,t,i,r),new dh(t,this.wrap,t,i+1,r),new dh(t,this.wrap,t,i,r+1),new dh(t,this.wrap,t,i+1,r+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.y{let t=e.canonical.x-1,i=e.wrap;return t<0&&(t=(1<{let t=e.canonical.x+1,i=e.wrap;return t===1<new dh(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,(0===e.canonical.y?1<new dh(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y===(1<1&&void 0!==arguments[1]?arguments[1]:0;const i=Math.exp(Math.PI*(1-(e.y+t/no)/(1<2&&void 0!==arguments[2]?arguments[2]:0;this.x=+e,this.y=+t,this.z=+i}static fromLngLat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=sh.convert(e);return new Ch(yh(i.lng),xh(i.lat),vh(t,i.lat))}toLngLat(){return new sh(bh(this.x),wh(this.y))}toAltitude(){return Th(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/oh*Ah(wh(this.y))}}function Ph(e,t,i,r,n,o,s,a,l){const c=(t+r)/2,h=(i+n)/2,u=new Vt(c,h);a(u),function(e,t,i,r,n,o){const s=i-n,a=r-o;return Math.abs((r-t)*s-(i-e)*a)/Math.hypot(s,a)}(u.x,u.y,o.x,o.y,s.x,s.y)>=l?(Ph(e,t,i,c,h,o,u,a,l),Ph(e,c,h,r,n,u,s,a,l)):e.push(s)}function zh(e,t,i){let r=e[0],n=r.x,o=r.y;t(r);const s=[r];for(let a=1;ae.x+1||re.y+1)&&ui("Geometry exceeds allowed extent, reduce your vector tile buffer size"),e}function Bh(e,t,i){const r=e.loadGeometry(),n=e.extent,o=no/n;if(t&&i&&i.projection.isReprojectedInTileSpace){const o=1<{const i=bh((t.x+e.x/n)/o),r=wh((t.y+e.y/n)/o),h=c.project(i,r);e.x=(h.x*s-a)*n,e.y=(h.y*s-l)*n};for(let t=0;t=n||i.y<0||i.y>=n||(h(i),e.push(i));r[t]=e}}for(const s of r)for(const e of s)Oh(e,o);return r}function Fh(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Bh(e):[]}}function Nh(e,t,i,r,n){e.emplaceBack(2*t+(r+1)/2,2*i+(n+1)/2)}function Vh(e,t,i){const r=16384;e.emplaceBack(t.x,t.y,t.z,i[0]*r,i[1]*r,i[2]*r)}class Uh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=e.index,this.hasPattern=!1,this.projection=e.projection,this.layoutVertexArray=new Sl,this.indexArray=new Gl,this.segments=new mc,this.programConfigurations=new jc(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){const n=this.layers[0],o=[];let s=null;"circle"===n.type&&(s=n.layout.get("circle-sort-key"));for(const{feature:l,id:c,index:h,sourceLayerIndex:u}of e){const e=this.layers[0]._featureFilter.needGeometry,t=Fh(l,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),t,i))continue;const n=s?s.evaluate(t,{},i):void 0,a={id:c,properties:l.properties,type:l.type,sourceLayerIndex:u,index:h,geometry:e?t.geometry:Bh(l,i,r),patterns:{},sortKey:n};o.push(a)}s&&o.sort(((e,t)=>e.sortKey-t.sortKey));let a=null;"globe"===r.projection.name&&(this.globeExtVertexArray=new Ll,a=r.projection);for(const l of o){const{geometry:r,index:n,sourceLayerIndex:o}=l,s=e[n].feature;this.addFeature(l,r,n,t.availableImages,i,a,t.brightness),t.featureIndex.insert(s,r,n,o,this.index)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,pc.members),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,fc.members))),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(e,t,i,r,n,o,s){for(const a of t)for(const t of a){const i=t.x,r=t.y;if(i<0||i>=no||r<0||r>=no)continue;if(o){const e=o.projectTilePoint(i,r,n),t=o.upVector(n,i,r),s=this.globeExtVertexArray;Vh(s,e,t),Vh(s,e,t),Vh(s,e,t),Vh(s,e,t)}const s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=s.vertexLength;Nh(this.layoutVertexArray,i,r,-1,-1),Nh(this.layoutVertexArray,i,r,1,-1),Nh(this.layoutVertexArray,i,r,1,1),Nh(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+2,a+3),s.vertexLength+=4,s.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,{},r,n,s)}}function jh(e,t){for(let i=0;i1){if($h(e,t))return!0;for(let r=0;r1?i:i.sub(t)._mult(n)._add(t))}function Xh(e,t){let i,r,n,o=!1;for(let s=0;st.y!=n.y>t.y&&t.x<(n.x-r.x)*(t.y-r.y)/(n.y-r.y)+r.x&&(o=!o)}return o}function Yh(e,t){let i=!1;for(let r=0,n=e.length-1;rt.y!=s.y>t.y&&t.x<(s.x-o.x)*(t.y-o.y)/(s.y-o.y)+o.x&&(i=!i)}return i}function Kh(e,t,i,r,n){for(const s of e)if(t<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const o=[new Vt(t,i),new Vt(t,n),new Vt(r,n),new Vt(r,i)];if(e.length>2)for(const s of o)if(Yh(e,s))return!0;for(let s=0;sn.x&&t.x>n.x||e.yn.y&&t.y>n.y)return!1;const o=di(e,t,i[0]);return o!==di(e,t,i[1])||o!==di(e,t,i[2])||o!==di(e,t,i[3])}function eu(e,t,i,r,n,o){let s=t.y-e.y,a=e.x-t.x;if(o=o||0){const e=s*s+a*a;if(0===e)return!0;const t=Math.sqrt(e);s/=t,a/=t}return!((i.x-e.x)*s+(i.y-e.y)*a-o<0||(r.x-e.x)*s+(r.y-e.y)*a-o<0||(n.x-e.x)*s+(n.y-e.y)*a-o<0)}function tu(e,t,i,r,n,o,s){return!(eu(e,t,r,n,o,s)||eu(t,i,r,n,o,s)||eu(i,e,r,n,o,s)||eu(r,n,e,t,i,s)||eu(n,o,e,t,i,s)||eu(o,r,e,t,i,s))}function iu(e,t,i){const r=t.paint.get(e).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).getMaxValue(e)}function ru(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function nu(e,t,i,r,n){if(!t[0]&&!t[1])return e;const o=Vt.convert(t)._mult(n);"viewport"===i&&o._rotate(-r);const s=[];for(let a=0;a=0;if(0===s)return 0;s!==i.length&&(r=!1)}return r?2:1}function du(e,t){for(const i of e.projections){const r=hu(t,e.points[0],i.axis);if(i.projection[1]r[1])return 0}return 1}function pu(t,i){let r=0;const n=[0,0,0,0];for(let o=0;o=0&&r++;return r}class fu{constructor(t,i){this.points=t||new Array(8).fill([0,0,0]),this.planes=i||new Array(6).fill([0,0,0,0]),this.bounds=mu.fromPoints(this.points),this.projections=[],this.frustumEdges=[e.Q.sub([],this.points[2],this.points[3]),e.Q.sub([],this.points[0],this.points[3]),e.Q.sub([],this.points[4],this.points[0]),e.Q.sub([],this.points[5],this.points[1]),e.Q.sub([],this.points[6],this.points[2]),e.Q.sub([],this.points[7],this.points[3])];for(const e of this.frustumEdges){const t=[0,-e[2],e[1]],i=[e[2],0,-e[0]];this.projections.push({axis:t,projection:hu(this.points,this.points[0],t)}),this.projections.push({axis:i,projection:hu(this.points,this.points[0],i)})}}static fromInvProjectionMatrix(t,i,r,n){const o=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=e.aa.transformMat4([],r,t),a=1/s[3]/i*o;return e.aa.mul(s,s,[a,a,n?1/s[3]:a,a])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const i=e.Q.sub([],s[t[0]],s[t[1]]),r=e.Q.sub([],s[t[2]],s[t[1]]),n=e.Q.normalize([],e.Q.cross([],i,r)),o=-e.Q.dot(n,s[t[1]]);return n.concat(o)})),l=[];for(let e=0;ea[1]||a[0]>s[1])return 0}return 1}}class mu{static fromPoints(t){const i=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(const n of t)e.Q.min(i,i,n),e.Q.max(r,r,n);return new mu(i,r)}static fromTileIdAndHeight(e,t,i){const r=1<e.max[t]||e.min[t]>this.max[t])return!1;return!0}intersectsAabbXY(e){return!(this.min[0]>e.max[0]||e.min[0]>this.max[0]||this.min[1]>e.max[1]||e.min[1]>this.max[1])}encapsulate(e){for(let t=0;t<3;t++)this.min[t]=Math.min(this.min[t],e.min[t]),this.max[t]=Math.max(this.max[t],e.max[t])}encapsulatePoint(e){for(let t=0;t<3;t++)this.min[t]=Math.min(this.min[t],e[t]),this.max[t]=Math.max(this.max[t],e[t])}closestPoint(e){return[Math.max(Math.min(this.max[0],e[0]),this.min[0]),Math.max(Math.min(this.max[1],e[1]),this.min[1]),Math.max(Math.min(this.max[2],e[2]),this.min[2])]}}fa(mu,"Aabb");const _u=Tl([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:gu}=_u,yu=Tl([{name:"a_pos_3",components:3,type:"Int16"}]);var xu=Tl([{name:"a_pos",type:"Int16",components:2}]);function vu(e){return e*Qc/nh}const bu=[new mu([eh,eh,eh],[th,th,th]),new mu([eh,eh,eh],[0,0,th]),new mu([0,eh,eh],[th,0,th]),new mu([eh,0,eh],[0,th,th]),new mu([0,0,eh],[th,th,th])];function wu(t,i,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const o=e.Q.scale([],t._camera.position,t.worldSize),s=[i,r,1,1];e.aa.transformMat4(s,s,t.pixelMatrixInverse),e.aa.scale(s,s,1/s[3]);const a=e.Q.sub([],s,o),l=e.Q.normalize([],a),c=t.globeMatrix,h=[c[12],c[13],c[14]],u=e.Q.sub([],h,o),d=e.Q.length(u),p=e.Q.normalize([],u),f=t.worldSize/(2*Math.PI),m=e.Q.dot(p,l),_=Math.asin(f/d);if(_1?null:function(e,t,i,r){const n=Math.sin(i);return e*(Math.sin((1-r)*i)/n)+t*(Math.sin(r*i)/n)}(e.a[t],e.b[t],e.angle,Ht(i,0,1))+e.center[t]}function Su(e){if(e.z<=1)return bu[e.z+2*e.y+e.x];const t=Pu(Cu(e));return mu.fromPoints(t)}function Mu(t,i,r){return e.Q.scale(t,t,1-r),e.Q.scaleAndAdd(t,t,i,r)}function Au(t,i,r){for(const n of t)e.Q.transformMat4(n,n,i),e.Q.scale(n,n,r)}function Iu(t,i,r,n){const o=i/t.worldSize,s=t.globeMatrix;if(r.z<=1){const e=Su(r).getCorners();return Au(e,s,o),mu.fromPoints(e)}const a=Cu(r,n),l=Pu(a,Qc+vu(t._tileCoverLift));Au(l,s,o);const c=Number.MAX_VALUE,h=[-c,-c,-c],u=[c,c,c];if(a.contains(t.center)){for(const t of l)e.Q.min(u,u,t),e.Q.max(h,h,t);h[2]=0;const i=t.point,r=[i.x*o,i.y*o,0];return e.Q.min(u,u,r),e.Q.max(h,h,r),new mu(u,h)}if(t._tileCoverLift>0){for(const t of l)e.Q.min(u,u,t),e.Q.max(h,h,t);return new mu(u,h)}const d=[s[12]*o,s[13]*o,s[14]*o],p=a.getCenter(),f=Ht(t.center.lat,-Eh,Eh),m=Ht(p.lat,-Eh,Eh),_=yh(t.center.lng),g=xh(f);let y=_-yh(p.lng);const x=g-xh(m);y>.5?y-=1:y<-.5&&(y+=1);let v=0;if(Math.abs(y)>Math.abs(x))v=y>=0?1:3;else{v=x>=0?0:2;const t=[s[4]*o,s[5]*o,s[6]*o],i=-Math.sin(Gt(x>=0?a.getSouth():a.getNorth()))*Qc;e.Q.scaleAndAdd(d,d,t,i)}const b=l[v],w=l[(v+1)%4],T=new Tu(b,w,d),E=[Eu(T,0)||b[0],Eu(T,1)||b[1],Eu(T,2)||b[2]],S=Nu(t.zoom);if(S>0){const n=function(e,t,i,r,n){let{x:o,y:s,z:a}=e;const l=1/(1<.5?p=-1:f<-.5&&(p=1),c=((c+p)*t-(r*=t))*i+r,h=((h+p)*t-r)*i+r,u=(u*t-(n*=t))*i+n,d=(d*t-n)*i+n,[[c,d,0],[h,d,0],[h,u,0],[c,u,0]]}(r,i,t._pixelsPerMercatorPixel,_,g);for(let e=0;e1&&void 0!==arguments[1]&&arguments[1];const o=1/(1<1&&void 0!==arguments[1]?arguments[1]:Qc;const i=Gt(e.getNorth()),r=Gt(e.getSouth()),n=Math.cos(i),o=Math.cos(r),s=Math.sin(i),a=Math.sin(r),l=e.getWest(),c=e.getEast();return[ih(o,a,l,t),ih(o,a,c,t),ih(n,s,c,t),ih(n,s,l,t)]}function zu(e,t,i,r){const n=1<Math.PI/2*1.01}const ju=Gt(85),Gu=Math.cos(ju),qu=Math.sin(ju),Zu=e.a9.create(),$u=e=>{const t=[];return"map"===e.paint.get("circle-pitch-alignment")&&t.push("PITCH_WITH_MAP"),"map"===e.paint.get("circle-pitch-scale")&&t.push("SCALE_WITH_MAP"),t};function Wu(t,i,r,n,o,s,a,l,c){if(s&&t.queryGeometry.isAboveHorizon)return!1;s&&(c*=t.pixelToTileUnitsFactor);const h=t.tileID.canonical,u=r.projection.upVectorScale(h,r.center.lat,r.worldSize).metersToTile;for(const d of i)for(const i of d){const d=i.add(l),p=o&&r.elevation?r.elevation.exaggeration()*o.getElevationAt(d.x,d.y,!0):0,f=r.projection.projectTilePoint(d.x,d.y,h);if(p>0){const e=r.projection.upVector(h,d.x,d.y);f.x+=e[0]*u*p,f.y+=e[1]*u*p,f.z+=e[2]*u*p}const m=s?d:Qu(f.x,f.y,f.z,n),_=s?t.tilespaceRays.map((e=>Yu(e,p))):t.queryGeometry.screenGeometry,g=e.aa.transformMat4([],[f.x,f.y,f.z,1],n);if(!a&&s?c*=g[3]/r.cameraToCenterDistance:a&&!s&&(c*=r.cameraToCenterDistance/g[3]),s){const e=wh((i.y/no+h.y)/(1<e.width||n.height>e.height||i.x>e.width-n.width||i.y>e.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||r.x>t.width-n.width||r.y>t.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const a=e.data,l=t.data,c=4===o&&s;for(let h=0;h{t[e.evaluationKey]=o;const s=e.expression.evaluate(t);s&&(n.data[i+r+0]=Math.floor(255*s.r/s.a),n.data[i+r+1]=Math.floor(255*s.g/s.a),n.data[i+r+2]=Math.floor(255*s.b/s.a),n.data[i+r+3]=Math.floor(255*s.a))};if(e.clips)for(let s=0,a=0;s80*i){r=o=e[0],n=s=e[1];for(var f=i;fo&&(o=a),l>s&&(s=l);c=0!==(c=Math.max(o-r,s-n))?32767/c:0}return _d(d,p,i,r,n,c,0),p}function fd(e,t,i,r,n){var o,s;if(n===Fd(e,t,i,r)>0)for(o=t;o=t;o-=r)s=kd(o,e[o],e[o+1],s);return s&&Cd(s,s.next)&&(Od(s),s=s.next),s}function md(e,t){if(!e)return e;t||(t=e);var i,r=e;do{if(i=!1,r.steiner||!Cd(r,r.next)&&0!==Id(r.prev,r,r.next))r=r.next;else{if(Od(r),(r=t=r.prev)===r.next)break;i=!0}}while(i||r!==t);return t}function _d(e,t,i,r,n,o,s){if(e){!s&&o&&function(e,t,i,r){var n=e;do{0===n.z&&(n.z=Ed(n.x,n.y,t,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==e);n.prevZ.nextZ=null,n.prevZ=null,function(e){var t,i,r,n,o,s,a,l,c=1;do{for(i=e,e=null,o=null,s=0;i;){for(s++,r=i,a=0,t=0;t0||l>0&&r;)0!==a&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),o?o.nextZ=n:e=n,n.prevZ=o,o=n;i=r}o.nextZ=null,c*=2}while(s>1)}(n)}(e,r,n,o);for(var a,l,c=e;e.prev!==e.next;)if(a=e.prev,l=e.next,o?yd(e,r,n,o):gd(e))t.push(a.i/i|0),t.push(e.i/i|0),t.push(l.i/i|0),Od(e),e=l.next,c=l.next;else if((e=l)===c){s?1===s?_d(e=xd(md(e),t,i),t,i,r,n,o,2):2===s&&vd(e,t,i,r,n,o):_d(md(e),t,i,r,n,o,1);break}}}function gd(e){var t=e.prev,i=e,r=e.next;if(Id(t,i,r)>=0)return!1;for(var n=t.x,o=i.x,s=r.x,a=t.y,l=i.y,c=r.y,h=no?n>s?n:s:o>s?o:s,p=a>l?a>c?a:c:l>c?l:c,f=r.next;f!==t;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&Md(n,a,o,l,s,c,f.x,f.y)&&Id(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function yd(e,t,i,r){var n=e.prev,o=e,s=e.next;if(Id(n,o,s)>=0)return!1;for(var a=n.x,l=o.x,c=s.x,h=n.y,u=o.y,d=s.y,p=al?a>c?a:c:l>c?l:c,_=h>u?h>d?h:d:u>d?u:d,g=Ed(p,f,t,i,r),y=Ed(m,_,t,i,r),x=e.prevZ,v=e.nextZ;x&&x.z>=g&&v&&v.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&Md(a,h,l,u,c,d,x.x,x.y)&&Id(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&Md(a,h,l,u,c,d,v.x,v.y)&&Id(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=g;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&Md(a,h,l,u,c,d,x.x,x.y)&&Id(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&Md(a,h,l,u,c,d,v.x,v.y)&&Id(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function xd(e,t,i){var r=e;do{var n=r.prev,o=r.next.next;!Cd(n,o)&&Pd(n,r,r.next,o)&&Rd(n,o)&&Rd(o,n)&&(t.push(n.i/i|0),t.push(r.i/i|0),t.push(o.i/i|0),Od(r),Od(r.next),r=e=o),r=r.next}while(r!==e);return md(r)}function vd(e,t,i,r,n,o){var s=e;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&Ad(s,a)){var l=Ld(s,a);return s=md(s,s.next),l=md(l,l.next),_d(s,t,i,r,n,o,0),void _d(l,t,i,r,n,o,0)}a=a.next}s=s.next}while(s!==e)}function bd(e,t){return e.x-t.x}function wd(e,t){var i=function(e,t){var i,r=t,n=e.x,o=e.y,s=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var a=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=n&&a>s&&(s=a,i=r.x=r.x&&r.x>=h&&n!==r.x&&Md(oi.x||r.x===i.x&&Td(i,r)))&&(i=r,d=l)),r=r.next}while(r!==c);return i}(e,t);if(!i)return t;var r=Ld(i,e);return md(r,r.next),md(i,i.next)}function Td(e,t){return Id(e.prev,e,t.prev)<0&&Id(t.next,e,e.next)<0}function Ed(e,t,i,r,n){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Sd(e){var t=e,i=e;do{(t.x=(e-s)*(o-a)&&(e-s)*(r-a)>=(i-s)*(t-a)&&(i-s)*(o-a)>=(n-s)*(r-a)}function Ad(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&Pd(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}(e,t)&&(Rd(e,t)&&Rd(t,e)&&function(e,t){var i=e,r=!1,n=(e.x+t.x)/2,o=(e.y+t.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==e);return r}(e,t)&&(Id(e.prev,e,t.prev)||Id(e,t.prev,t))||Cd(e,t)&&Id(e.prev,e,e.next)>0&&Id(t.prev,t,t.next)>0)}function Id(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function Cd(e,t){return e.x===t.x&&e.y===t.y}function Pd(e,t,i,r){var n=Dd(Id(e,t,i)),o=Dd(Id(e,t,r)),s=Dd(Id(i,r,e)),a=Dd(Id(i,r,t));return n!==o&&s!==a||!(0!==n||!zd(e,i,t))||!(0!==o||!zd(e,r,t))||!(0!==s||!zd(i,e,r))||!(0!==a||!zd(i,t,r))}function zd(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)}function Dd(e){return e>0?1:e<0?-1:0}function Rd(e,t){return Id(e.prev,e,e.next)<0?Id(e,t,e.next)>=0&&Id(e,e.prev,t)>=0:Id(e,t,e.prev)<0||Id(e,e.next,t)<0}function Ld(e,t){var i=new Bd(e.i,e.x,e.y),r=new Bd(t.i,t.x,t.y),n=e.next,o=t.prev;return e.next=t,t.prev=e,i.next=n,n.prev=i,r.next=i,i.prev=r,o.next=r,r.prev=o,r}function kd(e,t,i,r){var n=new Bd(e,t,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function Od(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Bd(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Fd(e,t,i,r){for(var n=0,o=t,s=i-r;o0&&i.holes.push(r+=e[n-1].length)}return i};var Nd=u(dd.exports);function Vd(e,t){const i=e.length;if(i<=1)return[e];const r=[];let n,o;for(let s=0;s1)for(let s=0;se.fqid)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Sl,this.indexArray=new Gl,this.indexArray2=new Fl,this.programConfigurations=new jc(e.layers,e.zoom),this.segments=new mc,this.segments2=new mc,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.projection=e.projection}populate(e,t,i,r){this.hasPattern=jd("fill",this.layers,t);const n=this.layers[0].layout.get("fill-sort-key"),o=[];for(const{feature:s,id:a,index:l,sourceLayerIndex:c}of e){const e=this.layers[0]._featureFilter.needGeometry,h=Fh(s,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),h,i))continue;const u=n?n.evaluate(h,{},i,t.availableImages):void 0,d={id:a,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:e?h.geometry:Bh(s,i,r),patterns:{},sortKey:u};o.push(d)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));for(const s of o){const{geometry:r,index:n,sourceLayerIndex:o}=s;if(this.hasPattern){const e=Gd("fill",this.layers,s,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(s,r,n,i,{},t.availableImages,t.brightness);t.featureIndex.insert(e[n].feature,r,n,o,this.index)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}addFeatures(e,t,i,r,n,o){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,t,i,r,o)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ud),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,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],s=arguments.length>6?arguments[6]:void 0;for(const a of Vd(t,500)){let e=0;for(const s of a)e+=s.length;const t=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),i=t.vertexLength,r=[],n=[];for(const s of a){if(0===s.length)continue;s!==a[0]&&n.push(r.length/2);const e=this.segments2.prepareSegment(s.length,this.layoutVertexArray,this.indexArray2),t=e.vertexLength;this.layoutVertexArray.emplaceBack(s[0].x,s[0].y),this.indexArray2.emplaceBack(t+s.length-1,t),r.push(s[0].x),r.push(s[0].y);for(let i=1;i>3}if(n--,1===r||2===r)o+=e.readSVarint(),s+=e.readSVarint(),1===r&&(t&&a.push(t),t=[]),t.push(new ep(o,s));else{if(7!==r)throw new Error("unknown command "+r);t&&t.push(t[0].clone())}}return t&&a.push(t),a},ip.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,i=1,r=0,n=0,o=0,s=1/0,a=-1/0,l=1/0,c=-1/0;e.pos>3}if(r--,1===i||2===i)(n+=e.readSVarint())a&&(a=n),(o+=e.readSVarint())c&&(c=o);else if(7!==i)throw new Error("unknown command "+i)}return[s,l,a,c]},ip.prototype.toGeoJSON=function(e,t,i){var r,n,o=this.extent*Math.pow(2,i),s=this.extent*e,a=this.extent*t,l=this.loadGeometry(),c=ip.types[this.type];function h(e){for(var t=0;t>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(i))}ap.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new op(this._pbf,t,this.extent,this._keys,this._values)};var cp=sp;function hp(e,t,i){if(3===e){var r=new cp(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}var up=Jd.VectorTile=function(e,t){this.layers=e.readFields(hp,{},t)},dp=Jd.VectorTileFeature=tp;function pp(e,t,i,r){const n=[],o=0===r?(e,t,i,r,n,o)=>{e.push(new Vt(o,i+(o-t)/(r-t)*(n-i)))}:(e,t,i,r,n,o)=>{e.push(new Vt(t+(o-i)/(n-i)*(r-t),o))};for(const s of e){const e=[];for(const n of s){if(n.length<=2)continue;const s=[];for(let e=0;et&&o(s,a,l,c,h,t):u>i?d=t&&o(s,a,l,c,h,t),d>i&&u<=i&&o(s,a,l,c,h,i)}let a=n[n.length-1];const l=0===r?a.x:a.y;l>=t&&l<=i&&s.push(a),s.length&&(a=s[s.length-1],s[0].x===a.x&&s[0].y===a.y||s.push(s[0]),e.push(s))}e.length&&n.push(e)}return n}function fp(e,t){return e.x-t.x||e.y-t.y}function mp(e,t){return 0===fp(e.min,t.min)&&0===fp(e.max,t.max)}function _p(e,t){return!(e.min.x>t.max.x||e.max.xt.max.y||e.max.ynew Vt((e.x+o.x*no)*a-s.x*no,(e.y+o.y*no)*a-s.y*no)))}return xp(i,n,e.indices,0,e.indices.length,0,0)}Jd.VectorTileLayer=sp;class bp{constructor(e){this.size=e,this.minimums=[],this.maximums=[],this.leaves=[]}getElevation(e,t){const i=this.toIdx(e,t);return{min:this.minimums[i],max:this.maximums[i]}}isLeaf(e,t){return this.leaves[this.toIdx(e,t)]}toIdx(e,t){return t*this.size+e}}function wp(e,t,i,r){let n=0,o=Number.MAX_VALUE;for(let s=0;s<3;s++)if(Math.abs(r[s])<1e-15){if(i[s]t[s])return null}else{const a=1/r[s];let l=(e[s]-i[s])*a,c=(t[s]-i[s])*a;if(l>c){const e=l;l=c,c=e}if(l>n&&(n=l),co)return null}return n}function Tp(e,t,i,r,n,o,s,a,l,c,h){const u=r-e,d=n-t,p=o-i,f=s-e,m=a-t,_=l-i,g=h[1]*_-h[2]*m,y=h[2]*f-h[0]*_,x=h[0]*m-h[1]*f,v=u*g+d*y+p*x;if(Math.abs(v)<1e-15)return null;const b=1/v,w=c[0]-e,T=c[1]-t,E=c[2]-i,S=(w*g+T*y+E*x)*b;if(S<0||S>1)return null;const M=T*p-E*d,A=E*u-w*p,I=w*d-T*u,C=(h[0]*M+h[1]*A+h[2]*I)*b;return C<0||S+C>1?null:(f*M+m*A+_*I)*b}function Ep(e,t,i){return(e-t)/(i-t)}function Sp(e,t,i,r,n,o,s,a,l){const c=1<{const o=r?1:0,s=(e+1)*i-o,a=t*i,l=(t+1)*i-o;n[0]=e*i,n[1]=a,n[2]=s,n[3]=l};let s=new bp(r);const a=[];for(let l=0;l=1;r/=2){const e=i[i.length-1];s=new bp(r);for(let t=0;t6&&void 0!==arguments[6]?arguments[6]:1;return wp([e,t,-100],[i,r,this.maximums[0]*s],n,o)}raycast(t,i,r,n,o,s){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;if(!this.nodeCount)return null;const l=this.raycastRoot(t,i,r,n,o,s,a);if(null==l)return null;const c=[],h=[],u=[],d=[],p=[{idx:0,t:l,nodex:0,nodey:0,depth:0}];for(;p.length>0;){const{idx:l,t:f,nodex:m,nodey:_,depth:g}=p.pop();if(this.leaves[l]){Sp(m,_,g,t,i,r,n,u,d);const l=1<=t[2])return f}continue}let y=0;for(let e=0;e=c[h[r]]&&(h.splice(r,0,e),i=!0);i||(h[y]=e),y++}}for(let e=0;e3&&void 0!==arguments[3]&&arguments[3];if(this.uid=e,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return ui(`"${i}" is not a valid encoding type. Valid types include "mapbox" and "terrarium".`);this.stride=t.height;const n=this.dim=t.height-2,o=new Uint32Array(t.data.buffer);if(this.pixels=new Uint8Array(t.data.buffer),this.floatView=new Float32Array(t.data.buffer),this.borderReady=r,this._modifiedForSources={},!r){for(let e=0;e2&&void 0!==arguments[2]&&arguments[2]&&(e=Ht(e,-1,this.dim),t=Ht(t,-1,this.dim));const i=this._idx(e,t);return this.floatView[i]}set(e,t,i){const r=this._idx(e,t),n=this.floatView[r];return this.floatView[r]=i,i-n}static getUnpackVector(e){return Cp[e]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}static pack(e,t){const i=[0,0,0,0],r=Dp.getUnpackVector(t);let n=Math.floor((e+r[3])/r[2]);return i[2]=n%256,n=Math.floor(n/256),i[1]=n%256,n=Math.floor(n/256),i[0]=n,i}getPixels(){return new nd({width:this.stride,height:this.stride},this.pixels)}backfillBorder(e,t,i){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let r=t*this.dim,n=t*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(t){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}const a=-t*this.dim,l=-i*this.dim;for(let c=o;ce.max.x&&(e.max.x=t.x,r=!0),t.ye.max.y&&(e.max.y=t.y,r=!0),((0===t.x||t.x===no)&&t.x===i.x)!=((0===t.y||t.y===no)&&t.y===i.y)&&this.processBorderOverlap(t,i),r&&this.checkBorderIntersection(t,i)}checkBorderIntersection(e,t){t.x<0!=e.x<0&&this.addBorderIntersection(0,jr(t.y,e.y,(0-t.x)/(e.x-t.x))),t.x>no!=e.x>no&&this.addBorderIntersection(1,jr(t.y,e.y,(no-t.x)/(e.x-t.x))),t.y<0!=e.y<0&&this.addBorderIntersection(2,jr(t.x,e.x,(0-t.y)/(e.y-t.y))),t.y>no!=e.y>no&&this.addBorderIntersection(3,jr(t.x,e.x,(no-t.y)/(e.y-t.y)))}addBorderIntersection(e,t){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const i=this.borders[e];ti[1]&&(i[1]=t)}processBorderOverlap(e,t){if(e.x===t.x){if(e.y===t.y)return;const i=0===e.x?0:1;this.addBorderIntersection(i,t.y),this.addBorderIntersection(i,e.y)}else{const i=0===e.y?2:3;this.addBorderIntersection(i,t.x),this.addBorderIntersection(i,e.x)}}centroid(){return 0===this.accCount?new Vt(0,0):new Vt(Math.floor(Math.max(0,this.acc.x)/this.accCount),Math.floor(Math.max(0,this.acc.y)/this.accCount))}intersectsCount(){return this.borders?this.borders.reduce(((e,t)=>e+ +(t[0]!==Number.MAX_VALUE)),0):0}}function Wp(e,t){const i=e.add(t)._unit(),r=Ht(e.x*i.x+e.y*i.y,-1,1);var n,o,s;return n=Math.acos(r),Math.min(4,Math.max(-4,Math.tan(n)))/4*Fp*((o=e).x*(s=t).y-o.y*s.x<0?-1:1)}const Qp=[e=>e.x<0,e=>e.x>no,e=>e.y<0,e=>e.y>no];function Hp(e,t,i,r){const n=[4];if(0===r)return n;i._mult(r);const o=e.sub(i),s=t.sub(i),a=[e,t,o,s];for(let l=0;l<4;l++)for(const e of a)if(Qp[l](e)){n.push(l);break}return n}class Xp{constructor(e){this.vertexArray=new Il,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom,(e=>Op.includes(e))),this._segments=new mc,this.hiddenByLandmarkVertexArray=new tc,this._segmentToGroundQuads={},this._segmentToGroundQuads[0]=[],this._segmentToRegionTriCounts={},this._segmentToRegionTriCounts[0]=[0,0,0,0,0],this.regionSegments={},this.regionSegments[4]=new mc}getDefaultSegment(){return this.regionSegments[4]}hasData(){return 0!==this.vertexArray.length}addData(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.length;if(n>2){let o=Math.max(0,this._segments.get().length-1);const s=this._segments._prepareSegment(4*n,this.vertexArray.length,2*this._segmentToGroundQuads[o].length);let a;o!==this._segments.get().length-1&&(o++,this._segmentToGroundQuads[o]=[],this._segmentToRegionTriCounts[o]=[0,0,0,0,0]);{const t=e[0],i=e[1];a=Wp(t.sub(e[n-1])._perp()._unit(),i.sub(t)._perp()._unit())}for(let l=0;le.region-t.region));for(let i=0;ie+t),0);let o=0;for(let e=0;e<=4;e++){const t=n[e];if(0!==t){let i=this.regionSegments[e];i||(i=this.regionSegments[e]=new mc);const n={vertexOffset:r.vertexOffset,primitiveOffset:r.primitiveOffset+o,vertexLength:r.vertexLength,primitiveLength:t};i.get().push(n)}o+=t}for(let e=0;e0?this.hiddenByLandmarkVertexBuffer=e.createVertexBuffer(this.hiddenByLandmarkVertexArray,Xd.members,!0):this.hiddenByLandmarkVertexBuffer&&this.hiddenByLandmarkVertexBuffer.updateData(this.hiddenByLandmarkVertexArray),this._needsHiddenByLandmarkUpdate=!1)}destroy(){if(this.vertexBuffer){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.hiddenByLandmarkVertexBuffer&&this.hiddenByLandmarkVertexBuffer.destroy(),this._segments&&this._segments.destroy(),this.programConfigurations.destroy();for(let e=0;e<=4;e++){const t=this.regionSegments[e];t&&t.destroy()}}}}class Yp{constructor(e){this.zoom=e.zoom,this.canonical=e.canonical,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=e.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=e.projection,this.activeReplacements=[],this.replacementUpdateTime=0,this.centroidData=[],this.footprintIndices=new Gl,this.footprintVertices=new Sl,this.footprintSegments=[],this.layoutVertexArray=new Al,this.centroidVertexArray=new dc,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom,(e=>kp.includes(e))),this.segments=new mc,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.groundEffect=new Xp(e),this.maxHeight=0,this.partLookup={},this.triangleSubSegments=[],this.polygonSegments=[]}populate(e,t,i,r){this.features=[],this.hasPattern=jd("fill-extrusion",this.layers,t),this.featuresOnBorder=[],this.borderFeatureIndices=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=Ih(i),this.edgeRadius=this.layers[0].layout.get("fill-extrusion-edge-radius")/this.tileToMeter;for(const{feature:n,id:o,index:s,sourceLayerIndex:a}of e){const e=this.layers[0]._featureFilter.needGeometry,l=Fh(n,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),l,i))continue;const c={id:o,sourceLayerIndex:a,index:s,geometry:e?l.geometry:Bh(n,i,r),properties:n.properties,type:n.type,patterns:{}},h=this.layoutVertexArray.length;this.hasPattern?this.features.push(Gd("fill-extrusion",this.layers,c,this.zoom,t)):this.addFeature(c,c.geometry,s,i,{},t.availableImages,r,t.brightness),t.featureIndex.insert(n,c.geometry,s,a,this.index,h)}this.sortBorders(),"mercator"===this.projection.name&&this.splitToSubtiles(),this.groundEffect.prepareBorderSegments(),this.polygonSegments.length=0}addFeatures(e,t,i,r,n,o){for(const s of this.features){const{geometry:e}=s;this.addFeature(s,e,s.index,t,i,r,n,o)}this.sortBorders(),"mercator"===this.projection.name&&this.splitToSubtiles()}update(e,t,i,r,n){const o=0!==Object.keys(e).length;if(o&&!this.stateDependentLayers.length)return;const s=o?this.stateDependentLayers:this.layers;this.programConfigurations.updatePaintArrays(e,t,s,i,r,n),this.groundEffect.update(e,t,s,i,r,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload||this.groundEffect.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Kd),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.layoutVertexExtArray&&(this.layoutVertexExtBuffer=e.createVertexBuffer(this.layoutVertexExtArray,Yd.members,!0)),this.groundEffect.upload(e)),this.groundEffect.uploadPaintProperties(e),this.programConfigurations.upload(e),this.uploaded=!0}uploadCentroid(e){this.groundEffect.uploadHiddenByLandmark(e),this.needsCentroidUpdate&&(!this.centroidVertexBuffer&&this.centroidVertexArray.length>0?this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Hd.members,!0):this.centroidVertexBuffer&&this.centroidVertexBuffer.updateData(this.centroidVertexArray),this.needsCentroidUpdate=!1)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.centroidVertexBuffer&&this.centroidVertexBuffer.destroy(),this.layoutVertexExtBuffer&&this.layoutVertexExtBuffer.destroy(),this.groundEffect.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,i,r,n,o,s,a){const l=this.layers[0].paint.get("fill-extrusion-flood-light-ground-radius").evaluate(e,{})/this.tileToMeter,c=[new Vt(0,0),new Vt(no,no)],h=s.projection,u="globe"===h.name,d="Polygon"===Lp[e.type],p=new $p;p.centroidDataIndex=this.centroidData.length;const f=new Zp,m=this.layers[0].paint.get("fill-extrusion-base").evaluate(e,{},r)<=0,_=this.layers[0].paint.get("fill-extrusion-height").evaluate(e,{},r);f.height=_,f.vertexArrayOffset=this.layoutVertexArray.length,f.groundVertexArrayOffset=this.groundEffect.vertexArray.length,u&&!this.layoutVertexExtArray&&(this.layoutVertexExtArray=new Ll);const g=Vd(t,500);for(let T=g.length-1;T>=0;T--){const e=g[T];(0===e.length||(y=e[0]).every((e=>e.x<=0))||y.every((e=>e.x>=no))||y.every((e=>e.y<=0))||y.every((e=>e.y>=no)))&&g.splice(T,1)}var y;let x;if(u)x=af(g,c,r);else{x=[];for(const e of g)x.push({polygon:e,bounds:c})}const v=d?this.edgeRadius:0,b=v>0&&this.zoom<17,w=(e,t)=>{if(0===e.length)return!1;const i=e[e.length-1];return t.x===i.x&&t.y===i.y};for(const{polygon:T,bounds:E}of x){let e=0,t=0;for(const r of T)d&&!r[0].equals(r[r.length-1])&&r.push(r[0]),t+=d?r.length-1:r.length;const i=this.segments.prepareSegment((d?5:4)*t,this.layoutVertexArray,this.indexArray);f.footprintSegIdx<0&&(f.footprintSegIdx=this.footprintSegments.length),f.polygonSegIdx<0&&(f.polygonSegIdx=this.polygonSegments.length);const n={triangleArrayOffset:this.indexArray.length,triangleCount:0,triangleSegIdx:this.segments.segments.length-1},o=new qp;if(o.vertexOffset=this.footprintVertices.length,o.indexOffset=3*this.footprintIndices.length,o.ringIndices=[],d){const t=[],n=[];e=i.vertexLength;for(let e=0;e4&&nf(t[t.length-2],t[0],t[1]),o=v?Jp(t[t.length-2],t[0],t[1],v):0;const a=[];let c,_,g;_=t[1].sub(t[0])._perp()._unit();let y=!0;for(let s=1,l=0;s0?1:0,A=d.dist(x);if(l+A>32768&&(l=0),v){g=b.sub(x)._perp()._unit();let e=ef(d,x,b,Kp(_,g),v);isNaN(e)&&(e=0);const t=x.sub(d)._unit();d=d.add(t.mult(o))._round(),x=x.add(t.mult(-e))._round(),o=e,_=g,m&&this.zoom>=17&&(w(a,d)||a.push(d),w(a,x)||a.push(x))}const I=i.vertexLength,C=t.length>4&&nf(d,x,b);let P=of(l,n,y);if(Up(this.layoutVertexArray,d.x,d.y,S,M,0,0,P),Up(this.layoutVertexArray,d.x,d.y,S,M,0,1,P),l+=A,P=of(l,C,!y),n=C,Up(this.layoutVertexArray,x.x,x.y,S,M,0,0,P),Up(this.layoutVertexArray,x.x,x.y,S,M,0,1,P),i.vertexLength+=4,this.indexArray.emplaceBack(I+0,I+1,I+2),this.indexArray.emplaceBack(I+1,I+3,I+2),i.primitiveLength+=2,v){const r=e+(1===s?t.length-2:s-2),n=1===s?e:r+1;if(this.indexArray.emplaceBack(I+1,r,I+3),this.indexArray.emplaceBack(r,n,I+3),i.primitiveLength+=2,void 0===c&&(c=I),!tf(b,t[s],E)){const e=s===t.length-1?c:i.vertexLength;this.indexArray.emplaceBack(I+2,I+3,e),this.indexArray.emplaceBack(I+3,e+1,e),this.indexArray.emplaceBack(I+3,n,e+1),i.primitiveLength+=3}y=!y}if(u){const e=this.layoutVertexExtArray,t=h.projectTilePoint(d.x,d.y,r),i=h.projectTilePoint(x.x,x.y,r),n=h.upVector(r,d.x,d.y),o=h.upVector(r,x.x,x.y);Gp(e,t,n),Gp(e,t,n),Gp(e,i,o),Gp(e,i,o)}}d&&(e+=t.length-1),m&&v&&this.zoom>=17&&(0!==a.length&&w(a,a[0])&&a.pop(),this.groundEffect.addData(a,E,l,v>0))}this.footprintSegments.push(o),n.triangleCount=this.indexArray.length-n.triangleArrayOffset,this.polygonSegments.push(n),++f.footprintSegLen,++f.polygonSegLen}if(f.vertexCount=this.layoutVertexArray.length-f.vertexArrayOffset,f.groundVertexCount=this.groundEffect.vertexArray.length-f.groundVertexArrayOffset,0!==f.vertexCount){if(f.centroidXY=p.borders?Np:this.encodeCentroid(p,f),this.centroidData.push(f),p.borders){this.featuresOnBorder.push(p);const e=this.featuresOnBorder.length-1;for(let t=0;tthis.featuresOnBorder[t].borders[e][0]-this.featuresOnBorder[i].borders[e][0]))}splitToSubtiles(){const e=[];for(let s=0;sno),r=2*i+(+(t.min.x+t.max.x>no)^i);for(let n=0;ne.triangleSegmentIdx===t.triangleSegmentIdx?e.subtile-t.subtile:e.triangleSegmentIdx-t.triangleSegmentIdx));let i=0,r=0,n=0;for(const s of e){if(s.triangleSegmentIdx!==i)break;n++}const o=e.length;for(;r!==e.length;){i=e[r].triangleSegmentIdx;let s=0,a=r,l=r;for(let t=a;t0&&this.triangleSubSegments.push({segment:h,min:o,max:c}),a=l;for(let t=a;t[e[0]*(1-i[0])+t[0]*i[0],e[1]*(1-i[1])+t[1]*i[1]],d=[],p=[];for(const f of this.triangleSubSegments){d[0]=f.min.x/no,d[1]=f.min.y/no,p[0]=f.max.x/no,p[1]=f.max.y/no;const e=u(l,c,d),t=u(l,c,p);if(0===new mu([e[0],e[1],r],[t[0],t[1],n]).intersectsPrecise(i)){a&&(h.segments.push(a),a=void 0);continue}const o=f.segment;a&&a.vertexOffset!==o.vertexOffset&&(h.segments.push(a),a=void 0),a?(a.vertexLength+=o.vertexLength,a.primitiveLength+=o.primitiveLength):a={vertexOffset:o.vertexOffset,primitiveLength:o.primitiveLength,vertexLength:o.vertexLength,primitiveOffset:o.primitiveOffset,sortKey:void 0,vaos:{}}}return a&&h.segments.push(a),h}encodeCentroid(e,t){const i=e.centroid(),r=t.span(),n=Math.min(7,Math.round(r.x*this.tileToMeter/10)),o=Math.min(7,Math.round(r.y*this.tileToMeter/10));return new Vt(Ht(i.x,1,no-1)<<3|n,Ht(i.y,1,no-1)<<3|o)}encodeBorderCentroid(e){if(!e.borders)return new Vt(0,0);const t=e.borders,i=Number.MAX_VALUE;if(t[0][0]!==i||t[1][0]!==i){const e=t[0][0]!==i?0:1;return new Vt(6|(t[0][0]!==i?0:65528),(t[e][0]+t[e][1])/2<<3|6)}{const e=t[2][0]!==i?2:3;return new Vt((t[e][0]+t[e][1])/2<<3|6,6|(t[2][0]!==i?0:65528))}}showCentroid(e){const t=this.centroidData[e.centroidDataIndex];t.flags&=Vp,t.centroidXY.x=0,t.centroidXY.y=0,this.writeCentroidToBuffer(t)}writeCentroidToBuffer(e){this.groundEffect.updateHiddenByLandmark(e);const t=e.vertexArrayOffset,i=e.vertexCount+e.vertexArrayOffset,r=e.flags&Vp?Np:e.centroidXY,n=this.centroidVertexArray.geta_centroid_pos0(t);if(this.centroidVertexArray.geta_centroid_pos1(t)!==r.y||n!==r.x){for(let e=t;ei.max.x||i.min.x>n.max.x||n.min.y>i.max.y||i.min.y>n.max.y))for(let o=0;ot!=l>t&&e<(this.footprintVertices.int16[2*(a+o.vertexOffset)+0]-i)*(t-s)/(l-s)+i&&(r=!r)}s=i}}return r}getHeightAtTileCoord(e,t){let i=Number.NEGATIVE_INFINITY,r=!0;const n=4*(e+no)*no+(t+no);if(this.partLookup.hasOwnProperty(n)){const e=this.partLookup[n];return e?{height:e.height,hidden:!!(e.flags&Vp)}:void 0}for(const o of this.centroidData)e>o.max.x||o.min.x>e||t>o.max.y||o.min.y>t||this.footprintContainsPoint(e,t,o)&&o&&o.height>i&&(i=o.height,this.partLookup[n]=o,r=!!(o.flags&Vp));if(i!==Number.NEGATIVE_INFINITY)return{height:i,hidden:r};this.partLookup[n]=void 0}}function Kp(e,t){const i=e.add(t)._unit();return e.x*i.x+e.y*i.y}function Jp(e,t,i,r){const n=t.sub(e)._perp()._unit(),o=i.sub(t)._perp()._unit();return ef(e,t,i,Kp(n,o),r)}function ef(e,t,i,r,n){const o=Math.sqrt(1-r*r);return Math.min(e.dist(t)/3,t.dist(i)/3,n*o/r)}function tf(e,t,i){return e.xi[1].x&&t.x>i[1].x||e.yi[1].y&&t.y>i[1].y}function rf(e,t){return e.xt[1].x||e.yt[1].y}function nf(e,t,i){if(e.x<0||e.x>=no||t.x<0||t.x>=no||i.x<0||i.x>=no)return!1;const r=i.sub(t),n=r.perp(),o=e.sub(t);return(r.x*o.x+r.y*o.y)/Math.sqrt((r.x*r.x+r.y*r.y)*(o.x*o.x+o.y*o.y))>-.866&&n.x*o.x+n.y*o.y<0}function of(e,t,i){const r=t?2|e:-3&e;return i?1|r:-2&r}function sf(){const e=Math.PI/32,t=Math.tan(e),i=nh;return i*Math.sqrt(1+2*t*t)-i}function af(e,t,i){const r=1<4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;const s=[];if(!e.length||!i||!r)return s;const a=(e,t)=>{for(const i of e)s.push({polygon:i,bounds:t})},l=Math.ceil(Math.log2(i)),c=Math.ceil(Math.log2(r)),h=l-c,u=[];for(let f=0;f0?0:1);for(let f=0;ft+1?p.push({polygons:d,bounds:e,depth:t+1}):a(d,e)}if(f.length){const e=[new Vt(0===i?h:r.x,1===i?h:r.y),s];u.length>t+1?p.push({polygons:f,bounds:e,depth:t+1}):a(f,e)}}return s}(e,t,Math.ceil((o-n)/11.25),Math.ceil((s-a)/11.25),1,((e,t,n)=>{if(0===e)return.5*(t+n);{const e=wh((i.y+t/no)/r);return(xh(.5*(wh((i.y+n/no)/r)+e))*r-i.y)*no}}))}function lf(e,t,i,r,n,o){const s=Math.pow(2,r.z-n.z);for(let a=0;a1&&(s=e[++o]);const l=Math.abs(a-s.left),c=Math.abs(a-s.right),h=Math.min(l,c);let u;const d=n/i*(r+1);if(s.isDash){const e=r-Math.abs(d);u=Math.sqrt(h*h+e*e)}else u=r-Math.sqrt(h*h+d*d);this.image.data[t+a]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(e,t){for(let a=e.length-1;a>=0;--a){const t=e[a],i=e[a+1];t.zeroLength?e.splice(a,1):i&&i.isDash===t.isDash&&(i.left=t.left,e.splice(a,1))}const i=e[0],r=e[e.length-1];i.isDash===r.isDash&&(i.left=r.left-this.width,r.right=i.right+this.width);const n=this.width*this.nextRow;let o=0,s=e[o];for(let a=0;a1&&(s=e[++o]);const i=Math.abs(a-s.left),r=Math.abs(a-s.right),l=Math.min(i,r);this.image.data[n+a]=Math.max(0,Math.min(255,(s.isDash?l:-l)+t+128))}}addDash(e,t){const i=this.getKey(e,t);if(this.positions[i])return this.positions[i];const r="round"===t,n=r?7:0,o=2*n+1;if(this.nextRow+o>this.height)return ui("LineAtlas out of space"),null;0===e.length&&e.push(1);let s=0;for(let c=0;ce.fqid)),this.index=e.index,this.projection=e.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new Cl,this.layoutVertexArray2=new Pl,this.patternVertexArray=new zl,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom),this.segments=new mc,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){this.hasPattern=jd("line",this.layers,t);const n=this.layers[0].layout.get("line-sort-key"),o=[];for(const{feature:c,id:h,index:u,sourceLayerIndex:d}of e){const e=this.layers[0]._featureFilter.needGeometry,t=Fh(c,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),t,i))continue;const s=n?n.evaluate(t,{},i):void 0,a={id:h,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:e?t.geometry:Bh(c,i,r),patterns:{},sortKey:s};o.push(a)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));const{lineAtlas:s,featureIndex:a}=t,l=this.addConstantDashes(s);for(const c of o){const{geometry:r,index:n,sourceLayerIndex:o}=c;if(l&&this.addFeatureDashes(c,s),this.hasPattern){const e=Gd("line",this.layers,c,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(c,r,n,i,s.positions,t.availableImages,t.brightness);a.insert(e[n].feature,r,n,o,this.index)}}addConstantDashes(e){let t=!1;for(const i of this.layers){const r=i.paint.get("line-dasharray").value,n=i.layout.get("line-cap").value;if("constant"!==r.kind||"constant"!==n.kind)t=!0;else{const t=n.value,i=r.value;if(!i)continue;e.addDash(i,t)}}return t}addFeatureDashes(e,t){const i=this.zoom;for(const r of this.layers){const n=r.paint.get("line-dasharray").value,o=r.layout.get("line-cap").value;if("constant"===n.kind&&"constant"===o.kind)continue;let s,a;if("constant"===n.kind){if(s=n.value,!s)continue}else s=n.evaluate({zoom:i},e);a="constant"===o.kind?o.value:o.evaluate({zoom:i},e),t.addDash(s,a),e.patterns[r.id]=t.getKey(s,a)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}addFeatures(e,t,i,r,n,o){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,t,i,r,o)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,yf)),0!==this.patternVertexArray.length&&(this.patternVertexBuffer=e.createVertexBuffer(this.patternVertexArray,vf)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,_f),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&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,i,r,n,o,s){const a=this.layers[0].layout,l=a.get("line-join").evaluate(e,{}),c=a.get("line-cap").evaluate(e,{}),h=a.get("line-miter-limit"),u=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(const d of t)this.addLine(d,e,l,c,h,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,n,o,r,s)}addLine(e,t,i,r,n,o){this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0;const s="none"===i;if(this.patternJoinNone=this.hasPattern&&s,this.segmentStart=0,this.segmentPoints=[],this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[l-1].equals(e[l-2]);)l--;let c=0;for(;c0;if(E&&g>c){const e=d.dist(p);if(e>2*h){const t=d.sub(d.sub(p)._mult(h/e)._round());this.updateDistance(p,t),this.addCurrentVertex(t,m,0,0,u),p=t}}if(t&&"round"===y&&(wn&&(y="bevel"),"bevel"===y&&(w>2&&(y="flipbevel"),w100)v=_.mult(-1);else{const e=w*m.add(_).mag()/m.sub(_).mag();v._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(d,v,0,0,u),this.addCurrentVertex(d,v.mult(-1),0,0,u)}else if("bevel"===y||"fakeround"===y){const e=-Math.sqrt(w*w-1),t=S?e:0,i=S?0:e;if(p&&this.addCurrentVertex(d,m,t,i,u),"fakeround"===y){const e=Math.round(180*T/Math.PI/20);for(let t=1;t2*h){const t=d.add(f.sub(d)._mult(h/e)._round());this.updateDistance(d,t),this.addCurrentVertex(t,_,0,0,u),d=t}}}}addCurrentVertex(e,t,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];const s=t.y*r-t.x,a=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*i,t.y-t.x*i,o,!1,i,n),this.addHalfVertex(e,s,a,o,!0,-r,n),this.patternJoinNone&&this.segmentPoints.push(this.lineSoFar-this.segmentStart,i)}addHalfVertex(e,t,i,r,n,o,s){let{x:a,y:l}=e;this.layoutVertexArray.emplaceBack((a<<1)+(r?1:0),(l<<1)+(n?1:0),Math.round(63*t)+128,Math.round(63*i)+128,1+(0===o?0:o<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),n?this.e2=c:this.e1=c}updateScaledDistance(){if(this.lineClips){const e=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=e*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}fa(Sf,"LineBucket",{omit:["layers","patternFeatures"]});const Mf=new Ka({"line-cap":new Xa(tl.layout_line["line-cap"]),"line-join":new Xa(tl.layout_line["line-join"]),"line-miter-limit":new Ha(tl.layout_line["line-miter-limit"]),"line-round-limit":new Ha(tl.layout_line["line-round-limit"]),"line-sort-key":new Xa(tl.layout_line["line-sort-key"]),visibility:new Ha(tl.layout_line.visibility)});var Af={paint:new Ka({"line-opacity":new Xa(tl.paint_line["line-opacity"]),"line-color":new Xa(tl.paint_line["line-color"]),"line-translate":new Ha(tl.paint_line["line-translate"]),"line-translate-anchor":new Ha(tl.paint_line["line-translate-anchor"]),"line-width":new Xa(tl.paint_line["line-width"]),"line-gap-width":new Xa(tl.paint_line["line-gap-width"]),"line-offset":new Xa(tl.paint_line["line-offset"]),"line-blur":new Xa(tl.paint_line["line-blur"]),"line-dasharray":new Xa(tl.paint_line["line-dasharray"]),"line-pattern":new Xa(tl.paint_line["line-pattern"]),"line-gradient":new Ya(tl.paint_line["line-gradient"]),"line-trim-offset":new Ha(tl.paint_line["line-trim-offset"]),"line-emissive-strength":new Ha(tl.paint_line["line-emissive-strength"]),"line-border-width":new Xa(tl.paint_line["line-border-width"]),"line-border-color":new Xa(tl.paint_line["line-border-color"])}),layout:Mf};function If(e,t,i){return t*(no/(e.tileSize*Math.pow(2,i-e.tileID.overscaledZ)))}function Cf(e,t){return 1/If(e,1,t.tileZoom)}function Pf(e,t,i,r){return e.translatePosMatrix(r||t.tileID.projMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const zf=e=>{const t=[];Df(e)&&t.push("RENDER_LINE_DASH"),e.paint.get("line-gradient")&&t.push("RENDER_LINE_GRADIENT");const i=e.paint.get("line-trim-offset");0===i[0]&&0===i[1]||t.push("RENDER_LINE_TRIM_OFFSET"),0!==e.paint.get("line-border-width").constantOr(1)&&t.push("RENDER_LINE_BORDER");const r="none"===e.layout.get("line-join").constantOr("miter"),n=!!e.paint.get("line-pattern").constantOr(1);return r&&n&&t.push("LINE_JOIN_NONE"),t};function Df(e){const t=e.paint.get("line-dasharray").value;return t.value||"constant"!==t.kind}const Rf=new class extends Xa{possiblyEvaluate(e,t){return t=new Va(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,i,r){return t=Jt({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,i,r)}}(Af.paint.properties["line-width"].specification);function Lf(e,t){return t>0?t+2*e:e}Rf.useIntegerZoom=!0;const kf=Tl([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Of=Tl([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),Bf=Tl([{name:"a_projected_pos",components:4,type:"Float32"}],4);Tl([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Ff=Tl([{name:"a_z_offset",components:1,type:"Float32"}],4),Nf=Tl([{name:"a_texb",components:2,type:"Uint16"}]),Vf=Tl([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Uf=Tl([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"},{name:"a_z_offset",components:1,type:"Float32"}]);Tl([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const jf=Tl([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Gf=Tl([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Tl([{name:"triangle",components:3,type:"Uint16"}]),Tl([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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:"Uint8",name:"flipState"}]),Tl([{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Float32",name:"zOffset"},{type:"Uint8",name:"hasIconTextFit"}]),Tl([{type:"Float32",name:"offsetX"}]),Tl([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var qf=24;const Zf=128;function $f(e,t){const{expression:i}=t;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Va(e+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:t,interpolationType:r}=i;let n=0;for(;n{e.text=function(e,t,i){const r=t.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?e=e.toLocaleUpperCase():"lowercase"===r&&(e=e.toLocaleLowerCase()),Na.applyArabicShaping&&(e=Na.applyArabicShaping(e)),e}(e.text,t,i)})),e}const Yf={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42","\u2190":"\u2191","\u2192":"\u2193"};function Kf(e){return"\ufe36"===e||"\ufe48"===e||"\ufe38"===e||"\ufe44"===e||"\ufe42"===e||"\ufe3e"===e||"\ufe3c"===e||"\ufe3a"===e||"\ufe18"===e||"\ufe40"===e||"\ufe10"===e||"\ufe13"===e||"\ufe14"===e||"\uff40"===e||"\uffe3"===e||"\ufe11"===e||"\ufe12"===e}function Jf(e){return"\ufe35"===e||"\ufe47"===e||"\ufe37"===e||"\ufe43"===e||"\ufe41"===e||"\ufe3d"===e||"\ufe3b"===e||"\ufe39"===e||"\ufe17"===e||"\ufe3f"===e}var em={read:function(e,t,i,r,n){var o,s,a=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,d=i?-1:1,p=e[t+u];for(u+=d,o=p&(1<<-h)-1,p>>=-h,h+=a;h>0;o=256*o+e[t+u],u+=d,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+e[t+u],u+=d,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},write:function(e,t,i,r,n,o){var s,a,l,c=8*o-n-1,h=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(a=0,s=h):s+u>=1?(a=(t*l-1)*Math.pow(2,n),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,n),s=0));n>=8;e[i+p]=255&a,p+=f,a/=256,n-=8);for(s=s<0;e[i+p]=255&s,p+=f,s/=256,c-=8);e[i+p-f]|=128*m}},tm=rm,im=em;function rm(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}rm.Varint=0,rm.Fixed64=1,rm.Bytes=2,rm.Fixed32=5;var nm=4294967296,om=1/nm,sm="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function am(e){return e.type===rm.Bytes?e.readVarint()+e.pos:e.pos+1}function lm(e,t,i){return i?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function cm(e,t,i){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=e;n--)i.buf[n+r]=i.buf[n]}function hm(e,t){for(var i=0;i>>8,e[i+2]=t>>>16,e[i+3]=t>>>24}function bm(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}rm.prototype={destroy:function(){this.buf=null},readFields:function(e,t,i){for(i=i||this.length;this.pos>3,o=this.pos;this.type=7&r,e(n,t,this),this.pos===o&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=xm(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=bm(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=xm(this.buf,this.pos)+xm(this.buf,this.pos+4)*nm;return this.pos+=8,e},readSFixed64:function(){var e=xm(this.buf,this.pos)+bm(this.buf,this.pos+4)*nm;return this.pos+=8,e},readFloat:function(){var e=im.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=im.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,i,r=this.buf;return t=127&(i=r[this.pos++]),i<128?t:(t|=(127&(i=r[this.pos++]))<<7,i<128?t:(t|=(127&(i=r[this.pos++]))<<14,i<128?t:(t|=(127&(i=r[this.pos++]))<<21,i<128?t:function(e,t,i){var r,n,o=i.buf;if(r=(112&(n=o[i.pos++]))>>4,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<3,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<10,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<17,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<24,n<128)return lm(e,r,t);if(r|=(1&(n=o[i.pos++]))<<31,n<128)return lm(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(i=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&sm?function(e,t,i){return sm.decode(e.subarray(t,i))}(this.buf,t,e):function(e,t,i){for(var r="",n=t;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(o=e[n+1]))&&(c=(31&l)<<6|63&o)<=127&&(c=null):3===h?(s=e[n+2],128==(192&(o=e[n+1]))&&128==(192&s)&&((c=(15&l)<<12|(63&o)<<6|63&s)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(s=e[n+2],a=e[n+3],128==(192&(o=e[n+1]))&&128==(192&s)&&128==(192&a)&&((c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,h=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),n+=h}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==rm.Bytes)return e.push(this.readVarint(t));var i=am(this);for(e=e||[];this.pos127;);else if(t===rm.Bytes)this.pos=this.readVarint()+this.pos;else if(t===rm.Fixed32)this.pos+=4;else{if(t!==rm.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var i,r;if(e>=0?(i=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(i=~(-e%4294967296))?i=i+1|0:(i=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,i){i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,i.buf[i.pos]=127&(e>>>=7)}(i,0,t),function(e,t){var i=(7&e)<<4;t.buf[t.pos++]|=i|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,i){for(var r,n,o=0;o55295&&r<57344){if(!n){r>56319||o+1===t.length?(e[i++]=239,e[i++]=191,e[i++]=189):n=r;continue}if(r<56320){e[i++]=239,e[i++]=191,e[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(e[i++]=239,e[i++]=191,e[i++]=189,n=null);r<128?e[i++]=r:(r<2048?e[i++]=r>>6|192:(r<65536?e[i++]=r>>12|224:(e[i++]=r>>18|240,e[i++]=r>>12&63|128),e[i++]=r>>6&63|128),e[i++]=63&r|128)}return i}(this.buf,e,this.pos);var i=this.pos-t;i>=128&&cm(t,i,this),this.pos=t-1,this.writeVarint(i),this.pos+=i},writeFloat:function(e){this.realloc(4),im.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),im.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var i=0;i=128&&cm(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,i){this.writeTag(e,rm.Bytes),this.writeRawMessage(t,i)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,hm,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,um,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,fm,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,dm,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,pm,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,mm,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,_m,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,gm,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,ym,t)},writeBytesField:function(e,t){this.writeTag(e,rm.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,rm.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,rm.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,rm.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,rm.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,rm.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,rm.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,rm.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,rm.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,rm.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};var wm=u(tm);const Tm=3;function Em(e,t,i){t.glyphs=[],1===e&&i.readMessage(Sm,t)}function Sm(e,t,i){if(3===e){const{id:e,bitmap:r,width:n,height:o,left:s,top:a,advance:l}=i.readMessage(Mm,{});t.glyphs.push({id:e,bitmap:new id({width:n+2*Tm,height:o+2*Tm},r),metrics:{width:n,height:o,left:s,top:a,advance:l}})}else 4===e?t.ascender=i.readSVarint():5===e&&(t.descender=i.readSVarint())}function Mm(e,t,i){1===e?t.id=i.readVarint():2===e?t.bitmap=i.readBytes():3===e?t.width=i.readVarint():4===e?t.height=i.readVarint():5===e?t.left=i.readSVarint():6===e?t.top=i.readSVarint():7===e&&(t.advance=i.readVarint())}const Am=Tm,Im={horizontal:1,vertical:2,horizontalOnly:3};class Cm{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(e,t){const i=new Cm;return i.scale=e||1,i.fontStack=t,i}static forImage(e){const t=new Cm;return t.imageName=e,t}}class Pm{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){const i=new Pm;for(let r=0;r=0&&i>=e&&Dm[this.text.charCodeAt(i)];i--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){const i=new Pm;return i.text=this.text.substring(e,t),i.sectionIndex=this.sectionIndex.slice(e,t),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(Cm.forText(e.scale,e.fontStack||t));const i=this.sections.length-1;for(let r=0;r=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function zm(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){const m=Pm.fromFeature(e,n);u===Im.vertical&&m.verticalizePunctuation(d);let _=[];const g=function(e,t,i,r,n,o){if(!e)return[];const s=[],a=function(e,t,i,r,n,o){let s=0;for(let a=0;a=0;let c=0;for(let u=0;u0&&o>v&&(v=o)}else{const e=i[s.fontStack];if(!e)continue;e[f]&&(E=e[f]);const r=t[s.fontStack];if(!r)continue;const o=r.glyphs[f];if(!o)continue;if(g=o.metrics,M=8203!==f?qf:0,_){const e=void 0!==r.ascender?Math.abs(r.ascender):0,t=void 0!==r.descender?Math.abs(r.descender):0,i=(e+t)*m;b-i/2;){if(s--,s<0)return!1;a-=e[s].dist(o),o=e[s]}a+=e[s].dist(e[s+1]),s++;const l=[];let c=0;for(;ar;)c-=l.shift().angleDelta;if(c>n)return!1;s++,a+=t.dist(i)}return!0}function Zm(e){let t=0;for(let i=0;ic){const o=(c-l)/n,u=jr(i.x,r.x,o),d=jr(i.y,r.y,o),p=new Gm(u,d,0,r.angleTo(i),h);return!s||qm(e,p,a,s,t)?p:void 0}l+=n}}function Hm(e,t,i,r,n,o,s,a,l){const c=$m(r,o,s),h=Wm(r,n),u=h*s,d=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-u=0&&g=0&&y=0&&d+c<=h){const t=new Gm(g,y,0,m,f);r&&!qm(e,t,o,r,n)||p.push(t)}}u+=a}return a||p.length||s||(p=Xm(e,u/2,i,r,n,o,s,!0,l)),p}function Ym(e,t,i,r,n){const o=[];for(let s=0;s=r&&c.x>=r||(s.x>=r?s=new Vt(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round():c.x>=r&&(c=new Vt(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round()),s.y>=n&&c.y>=n||(s.y>=n?s=new Vt(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round():c.y>=n&&(c=new Vt(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(c)))))}}return o}function Km(e){let t=0,i=0;for(const s of e)t+=s.w*s.h,i=Math.max(i,s.w);e.sort(((e,t)=>t.h-e.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),i),h:1/0}];let n=0,o=0;for(const s of e)for(let e=r.length-1;e>=0;e--){const t=r[e];if(!(s.w>t.w||s.h>t.h)){if(s.x=t.x,s.y=t.y,o=Math.max(o,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===t.w&&s.h===t.h){const t=r.pop();ee.hasImage(t,i))),e.dispatchRenderCallbacks(this.haveRenderCallbacks,i);for(const r in e.getUpdatedImages(i))this.patchUpdatedImage(this.iconPositions[r],e.getImage(r,i),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r,i),t)}patchUpdatedImage(e,t,i){if(!e||!t)return;if(e.version===t.version)return;e.version=t.version;const[r,n]=e.tl,o=!!Object.keys(this.patternPositions).length;i.update(t.data,{useMipmap:o},{x:r,y:n})}}fa(e_,"ImagePosition"),fa(t_,"ImageAtlas");const i_=1e20;function r_(e,t,i,r,n,o,s,a,l){for(let c=t;c-1);l++,o[l]=a,s[l]=c,s[l+1]=i_}for(let a=0,l=0;a{let{stack:i,id:r}=e,n=this.entries[i];n||(n=this.entries[i]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let s=n.glyphs[r];if(void 0!==s)return void t(null,{stack:i,id:r,glyph:s});if(s=this._tinySDF(n,i,r),s)return n.glyphs[r]=s,void t(null,{stack:i,id:r,glyph:s});const a=Math.floor(r/256);if(256*a>65535)return void t(new Error("glyphs > 65535 not supported"));if(n.ranges[a])return void t(null,{stack:i,id:r,glyph:s});let l=n.requests[a];l||(l=n.requests[a]=[],a_.loadGlyphRange(i,a,o,this.requestManager,((e,t)=>{if(t){n.ascender=t.ascender,n.descender=t.descender;for(const e in t.glyphs)this._doesCharSupportLocalGlyph(+e)||(n.glyphs[+e]=t.glyphs[+e]);n.ranges[a]=!0}for(const i of l)i(e,t);delete n.requests[a]}))),l.push(((e,n)=>{e?t(e):n&&t(null,{stack:i,id:r,glyph:n.glyphs[r]||null})}))}),((e,t)=>{if(e)i(e);else if(t){const e={};for(const{stack:i,id:r,glyph:n}of t)void 0===e[i]&&(e[i]={}),void 0===e[i].glyphs&&(e[i].glyphs={}),e[i].glyphs[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics},e[i].ascender=this.entries[i].ascender,e[i].descender=this.entries[i].descender;i(null,e)}}))}_doesCharSupportLocalGlyph(e){return this.localGlyphMode!==s_.none&&(this.localGlyphMode===s_.all?!!this.localFontFamily:!!this.localFontFamily&&(xa["CJK Unified Ideographs"](e)||xa["Hangul Syllables"](e)||xa.Hiragana(e)||xa.Katakana(e)||xa["CJK Symbols and Punctuation"](e)||xa["CJK Unified Ideographs Extension A"](e)||xa["CJK Unified Ideographs Extension B"](e)))}_tinySDF(e,t,i){const r=this.localFontFamily;if(!r||!this._doesCharSupportLocalGlyph(i))return;let n=e.tinySDF;if(!n){let i="400";/bold/i.test(t)?i="900":/medium/i.test(t)?i="500":/light/i.test(t)&&(i="200"),n=e.tinySDF=new a_.TinySDF({fontFamily:r,fontWeight:i,fontSize:24*o_,buffer:3*o_,radius:8*o_}),n.fontWeight=i}if(this.localGlyphs[n.fontWeight][i])return this.localGlyphs[n.fontWeight][i];const o=String.fromCodePoint(i),{data:s,width:a,height:l,glyphWidth:c,glyphHeight:h,glyphLeft:u,glyphTop:d,glyphAdvance:p}=n.draw(o);return this.localGlyphs[n.fontWeight][i]={id:i,bitmap:new id({width:a,height:l},s),metrics:{width:c/o_,height:h/o_,left:u/o_,top:d/o_-27,advance:p/o_,localGlyph:!0}}}}a_.loadGlyphRange=function(e,t,i,r,n){const o=256*t,s=o+255,a=r.transformRequest(r.normalizeGlyphsURL(i).replace("{fontstack}",e).replace("{range}",`${o}-${s}`),Hi.Glyphs);Ji(a,((e,t)=>{if(e)n(e);else if(t){const e={},i=function(e){return new wm(e).readFields(Em,{})}(t);for(const t of i.glyphs)e[t.id]=t;n(null,{glyphs:e,ascender:i.ascender,descender:i.descender})}}))},a_.TinySDF=class{constructor(){let{fontSize:e=24,buffer:t=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:o="normal",fontStyle:s="normal"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.buffer=t,this.cutoff=r,this.radius=i;const a=this.size=e+4*t,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${s} ${o} ${e}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(e){const t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){const{width:t,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(e),s=Math.ceil(i),a=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),l=Math.min(this.size-this.buffer,s+Math.ceil(r)),c=a+2*this.buffer,h=l+2*this.buffer,u=Math.max(c*h,0),d=new Uint8ClampedArray(u),p={data:d,width:c,height:h,glyphWidth:a,glyphHeight:l,glyphTop:s,glyphLeft:0,glyphAdvance:t};if(0===a||0===l)return p;const{ctx:f,buffer:m,gridInner:_,gridOuter:g}=this;f.clearRect(m,m,a,l),f.fillText(e,m,m+s);const y=f.getImageData(m,m,a,l);g.fill(i_,0,u),_.fill(0,0,u);for(let x=0;x0?e*e:0,_[i]=e<0?e*e:0}}r_(g,0,0,c,h,c,this.f,this.v,this.z),r_(_,m,m,a,l,c,this.f,this.v,this.z);for(let x=0;xe+t[1]-t[0],f=u.reduce(p,0),m=d.reduce(p,0),_=a-f,g=l-m;let y=0,x=f,v=0,b=m,w=0,T=_,E=0,S=g;if(o.content&&r){const e=o.content;y=h_(u,0,e[0]),v=h_(d,0,e[1]),x=h_(u,e[0],e[2]),b=h_(d,e[1],e[3]),w=e[0]-y,E=e[1]-v,T=e[2]-e[0]-x,S=e[3]-e[1]-b}const M=(r,n,a,l)=>{const u=d_(r.stretch-y,x,c,e.left),d=p_(r.fixed-w,T,r.stretch,f),p=d_(n.stretch-v,b,h,e.top),_=p_(n.fixed-E,S,n.stretch,m),g=d_(a.stretch-y,x,c,e.left),M=p_(a.fixed-w,T,a.stretch,f),A=d_(l.stretch-v,b,h,e.top),I=p_(l.fixed-E,S,l.stretch,m),C=new Vt(u,p),P=new Vt(g,p),z=new Vt(g,A),D=new Vt(u,A),R=new Vt(d/s,_/s),L=new Vt(M/s,I/s),k=t*Math.PI/180;if(k){const e=Math.sin(k),t=Math.cos(k),i=[t,-e,e,t];C._matMult(i),P._matMult(i),D._matMult(i),z._matMult(i)}const O=r.stretch+r.fixed,B=a.stretch+a.fixed,F=n.stretch+n.fixed,N=l.stretch+l.fixed,V=e.imageSecondary;return{tl:C,tr:P,bl:D,br:z,texPrimary:{x:o.paddedRect.x+l_+O,y:o.paddedRect.y+l_+F,w:B-O,h:N-F},texSecondary:V?{x:V.paddedRect.x+l_+O,y:V.paddedRect.y+l_+F,w:B-O,h:N-F}:void 0,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:R,pixelOffsetBR:L,minFontScaleX:T/s/c,minFontScaleY:S/s/h,isSDF:i}};if(r&&(o.stretchX||o.stretchY)){const e=u_(u,_,f),t=u_(d,g,m);for(let i=0;i1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=1/0,n=1/0,o=-1/0,s=-1/0;const a=e[0];for(let p=0;po)&&(o=e.x),(!p||e.y>s)&&(s=e.y)}const l=Math.min(o-r,s-n);let c=l/2;const h=new ro([],__);if(0===l)return new Vt(r,n);for(let p=r;pu.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,d)),r.max-u.d<=t||(c=r.h/2,h.push(new g_(r.p.x-c,r.p.y-c,c,e)),h.push(new g_(r.p.x+c,r.p.y-c,c,e)),h.push(new g_(r.p.x-c,r.p.y+c,c,e)),h.push(new g_(r.p.x+c,r.p.y+c,c,e)),d+=4)}return i&&(console.log(`num probes: ${d}`),console.log(`best distance: ${u.d}`)),u.p}function __(e,t){return t.max-e.max}class g_{constructor(e,t,i,r){this.p=new Vt(e,t),this.h=i,this.d=function(e,t){let i=!1,r=1/0;for(let n=0;ne.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i),r=Math.min(r,Hh(e,n,a))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}}const y_=Number.POSITIVE_INFINITY,x_=Math.sqrt(2);function v_(e,t){let[i,r]=t,n=0,o=0;if(r===y_){i<0&&(i=0);const t=i/x_;switch(e){case"top-right":case"top-left":o=t-7;break;case"bottom-right":case"bottom-left":o=7-t;break;case"bottom":o=7-i;break;case"top":o=i-7}switch(e){case"top-right":case"bottom-right":n=-t;break;case"top-left":case"bottom-left":n=t;break;case"left":n=i;break;case"right":n=-i}}else{switch(i=Math.abs(i),r=Math.abs(r),e){case"top-right":case"top-left":case"top":o=r-7;break;case"bottom-right":case"bottom-left":case"bottom":o=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-i;break;case"top-left":case"bottom-left":case"left":n=i}}return[n,o]}function b_(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 w_(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){let m=o.textMaxSize.evaluate(t,{},u);void 0===m&&(m=s);const _=e.layers[0].layout,g=_.get("icon-offset").evaluate(t,{},u),y=M_(i.horizontal)||i.vertical,x="globe"===d.name,v=qf,b=s/v,w=e.tilePixelRatio*m/v,T=(z=e.overscaling,e.zoom>18&&z>2&&(z>>=1),Math.max(no/(512*z),1)*_.get("symbol-spacing")),E=_.get("text-padding")*e.tilePixelRatio,S=_.get("icon-padding")*e.tilePixelRatio,M=Gt(_.get("text-max-angle")),A="map"===_.get("text-rotation-alignment")&&"point"!==_.get("symbol-placement"),I="map"===_.get("icon-rotation-alignment")&&"point"!==_.get("symbol-placement"),C=_.get("symbol-placement"),P=T/2;var z;const D=_.get("icon-text-fit").evaluate(t,{},u),R=_.get("icon-text-fit-padding").evaluate(t,{},u),L="none"!==D;let k;!1===e.hasAnyIconTextFit&&L&&(e.hasAnyIconTextFit=!0),r&&L&&(e.allowVerticalPlacement&&i.vertical&&(k=jm(r,i.vertical,D,R,g,b)),y&&(r=jm(r,y,D,R,g,b)));const O=(s,a,m)=>{if(a.x<0||a.x>=no||a.y<0||a.y>=no)return;let _=null;if(x){const{x:e,y:t,z:i}=d.projectTilePoint(a.x,a.y,m);_={anchor:new Gm(e,t,i,0,void 0),up:d.upVector(m,a.x,a.y)}}!function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M){const A=e.addToLineVertexArray(t,r);let I,C,P,z,D,R,L,k=0,O=0,B=0,F=0,N=-1,V=-1;const U={};let j=Pr("");const G=i?i.anchor:t,q="none"!==l.layout.get("icon-text-fit").evaluate(v,{},E);let Z=0,$=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[Z,$]=l.layout.get("text-offset").evaluate(v,{},E).map((e=>e*qf)):(Z=l.layout.get("text-radial-offset").evaluate(v,{},E)*qf,$=y_),e.allowVerticalPlacement&&n.vertical){const e=n.vertical;if(f)R=I_(e),a&&(L=I_(a));else{const i=l.layout.get("text-rotate").evaluate(v,{},E)+90;P=A_(c,G,t,h,u,d,e,p,i,m),a&&(z=A_(c,G,t,h,u,d,a,g,i))}}if(o){const r=l.layout.get("icon-rotate").evaluate(v,{},E),n=c_(o,r,w,q),s=a?c_(a,r,w,q):void 0;C=A_(c,G,t,h,u,d,o,g,r),k=4*n.length;const p=e.iconSizeData;let f=null;"source"===p.kind?(f=[Zf*l.layout.get("icon-size").evaluate(v,{},E)],f[0]>E_&&ui(`${e.layerIds[0]}: Value for "icon-size" is >= ${T_}. Reduce your "icon-size".`)):"composite"===p.kind&&(f=[Zf*b.compositeIconSizes[0].evaluate(v,{},E),Zf*b.compositeIconSizes[1].evaluate(v,{},E)],(f[0]>E_||f[1]>E_)&&ui(`${e.layerIds[0]}: Value for "icon-size" is >= ${T_}. Reduce your "icon-size".`)),e.addSymbols(e.icon,n,f,x,y,v,!1,i,t,A.lineStartIndex,A.lineLength,-1,T,E,S,M),N=e.icon.placedSymbolArray.length-1,s&&(O=4*s.length,e.addSymbols(e.icon,s,f,x,y,v,Im.vertical,i,t,A.lineStartIndex,A.lineLength,-1,T,E,S,M),V=e.icon.placedSymbolArray.length-1)}for(const X in n.horizontal){const r=n.horizontal[X];I||(j=Pr(r.text),f?D=I_(r):I=A_(c,G,t,h,u,d,r,p,l.layout.get("text-rotate").evaluate(v,{},E),m));const o=1===r.positionedLines.length;if(B+=S_(e,i,t,r,s,l,f,v,m,A,n.vertical?Im.horizontal:Im.horizontalOnly,o?Object.keys(n.horizontal):[X],U,N,b,T,E,S),o)break}n.vertical&&(F+=S_(e,i,t,n.vertical,s,l,f,v,m,A,Im.vertical,["vertical"],U,V,b,T,E,S));let W=-1;const Q=(e,t)=>e?Math.max(e,t):t;W=Q(D,W),W=Q(R,W),W=Q(L,W);const H=W>-1?1:0;e.glyphOffsetArray.length>=65535&&ui("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==v.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,v.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,G.x,G.y,G.z,U.right>=0?U.right:-1,U.center>=0?U.center:-1,U.left>=0?U.left:-1,U.vertical>=0?U.vertical:-1,N,V,j,void 0!==I?I:e.collisionBoxArray.length,void 0!==I?I+1:e.collisionBoxArray.length,void 0!==P?P:e.collisionBoxArray.length,void 0!==P?P+1:e.collisionBoxArray.length,void 0!==C?C:e.collisionBoxArray.length,void 0!==C?C+1:e.collisionBoxArray.length,z||e.collisionBoxArray.length,z?z+1:e.collisionBoxArray.length,h,B,F,k,O,H,0,Z,$,W,0,q?1:0)}(e,a,_,s,i,r,n,k,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,E,A,l,0,S,I,g,t,o,c,h,u,p,f)};if("line"===C)for(const B of Ym(t.geometry,0,0,no,no)){const t=Hm(B,T,M,i.vertical||y,r,v,w,e.overscaling,no);for(const i of t)y&&C_(e,y.text,P,i)||O(B,i,u)}else if("line-center"===C){for(const B of t.geometry)if(B.length>1){const e=Qm(B,M,i.vertical||y,r,v,w);e&&O(B,e,u)}}else if("Polygon"===t.type)for(const B of Vd(t.geometry,0)){const e=m_(B,16);O(B[0],new Gm(e.x,e.y,0,0,void 0),u)}else if("LineString"===t.type)for(const B of t.geometry)O(B,new Gm(B[0].x,B[0].y,0,0,void 0),u);else if("Point"===t.type)for(const B of t.geometry)for(const e of B)O([e],new Gm(e.x,e.y,0,0,void 0),u)}const T_=255,E_=T_*Zf;function S_(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g){const y=function(e,t,i,r,n,o,s,a){const l=[];if(0===t.positionedLines.length)return l;const c=r.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,h=function(e){const t=e[0],i=e[1],r=t*i;return r>0?[t,-i]:r<0?[-t,i]:0===t?[i,t]:[i,-t]}(i);let u=Math.abs(t.top-t.bottom);for(const m of t.positionedLines)u-=m.lineOffset;const d=t.positionedLines.length,p=u/d;let f=t.top-i[1];for(let m=0;mE_&&ui(`${e.layerIds[0]}: Value for "text-size" is >= ${T_}. Reduce your "text-size".`)):"composite"===x.kind&&(v=[Zf*f.compositeTextSizes[0].evaluate(a,{},_),Zf*f.compositeTextSizes[1].evaluate(a,{},_)],(v[0]>E_||v[1]>E_)&&ui(`${e.layerIds[0]}: Value for "text-size" is >= ${T_}. Reduce your "text-size".`)),e.addSymbols(e.text,y,v,l,s,a,h,t,i,c.lineStartIndex,c.lineLength,p,m,_,g,!1);for(const b of u)d[b]=e.text.placedSymbolArray.length-1;return 4*y.length}function M_(e){for(const t in e)return e[t];return null}function A_(e,t,i,r,n,o,s,a,l,c){let h=s.top,u=s.bottom,d=s.left,p=s.right;const f=s.collisionPadding;if(f&&(d-=f[0],h-=f[1],p+=f[2],u+=f[3]),l){const e=new Vt(d,h),t=new Vt(p,h),i=new Vt(d,u),r=new Vt(p,u),n=Gt(l);let o=new Vt(0,0);c&&(o=new Vt(c[0],c[1])),e._rotateAround(n,o),t._rotateAround(n,o),i._rotateAround(n,o),r._rotateAround(n,o),d=Math.min(e.x,t.x,i.x,r.x),p=Math.max(e.x,t.x,i.x,r.x),h=Math.min(e.y,t.y,i.y,r.y),u=Math.max(e.y,t.y,i.y,r.y)}return e.emplaceBack(t.x,t.y,t.z,i.x,i.y,d,h,p,u,a,r,n,o),e.length-1}function I_(e){e.collisionPadding&&(e.top-=e.collisionPadding[1],e.bottom+=e.collisionPadding[3]);const t=e.bottom-e.top;return t>0?Math.max(10,t):null}function C_(e,t,i,r){const n=e.compareText;if(t in n){const e=n[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])x&&(v(e,c,r,n,a,l),v(c,i,a,l,o,s))}v(u,d,r,o,n,o),v(d,p,n,o,n,s),v(p,f,n,s,r,s),v(f,u,r,s,r,o),m-=x,_-=x,g+=x,y+=x;const b=1/Math.max(g-m,y-_);return{scale:b,x:m*b,y:_*b,x2:g*b,y2:y*b,projection:t}}function D_(e,t){let{x:i,y:r}=t;return new Vt(((i-(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0))*e.scale-e.x)*no,(r*e.scale-e.y)*no)}const R_=e.a9.identity(new Float32Array(16));class L_{constructor(e){this.spec=e,this.name=e.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7]}project(e,t){return{x:0,y:0,z:0}}unproject(e,t){return new sh(0,0)}projectTilePoint(e,t,i){return{x:e,y:t,z:0}}locationPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return e._coordinatePoint(e.locationCoordinate(t),i)}pixelsPerMeter(e,t){return vh(1,e)*t}pixelSpaceConversion(e,t,i){return 1}farthestPixelDistance(e){return P_(e,e.pixelsPerMeter)}pointCoordinate(e,t,i,r){const n=e.horizonLineFromTop(!1),o=new Vt(t,Math.max(n,i));return e.rayIntersectionCoordinate(e.pointRayIntersection(o,r))}pointCoordinate3D(e,t,i){const r=new Vt(t,i);if(e.elevation)return e.elevation.pointCoordinate(r);{const t=this.pointCoordinate(e,r.x,r.y,0);return[t.x,t.y,t.z]}}isPointAboveHorizon(e,t){if(e.elevation)return!this.pointCoordinate3D(e,t.x,t.y);const i=e.horizonLineFromTop();return t.y0?t<-G_+i&&(t=-G_+i):t>G_-i&&(t=G_-i);const o=n/Math.pow(q_(t),r);let s=o*Math.sin(r*e),a=n-o*Math.cos(r*e);return s=.5*(s/Math.PI+.5),a=.5*(a/Math.PI+.5),{x:s,y:this.southernCenter?a:1-a,z:0}}unproject(e,t){e=(2*e-.5)*Math.PI,this.southernCenter&&(t=1-t),t=(2*(1-t)-.5)*Math.PI;const{n:i,f:r}=this,n=r-t,o=Math.sign(n),s=Math.sign(i)*Math.sqrt(e*e+n*n);let a=Math.atan2(e,Math.abs(n))*o;n*i<0&&(a-=Math.PI*Math.sign(e)*o);const l=Ht(qt(a/i)+this.center[0],-180,180),c=Ht(qt(2*Math.atan(Math.pow(r/s,1/i))-G_),-Eh,Eh);return new sh(l,this.southernCenter?-c:c)}}class $_ extends L_{constructor(e){super(e),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(e,t){return{x:yh(e),y:xh(t),z:0}}unproject(e,t){const i=bh(e),r=wh(t);return new sh(i,r)}}const W_=Gt(Eh);class Q_ extends L_{project(e,t){const i=(t=Gt(t))*t,r=i*i;return{x:.5*((e=Gt(e))*(.8707-.131979*i+r*(r*(.003971*i-.001529*r)-.013791))/Math.PI+.5),y:1-.5*(t*(1.007226+i*(.015085+r*(.028874*i-.044475-.005916*r)))/Math.PI+1),z:0}}unproject(e,t){e=(2*e-.5)*Math.PI;let i=t=(2*(1-t)-1)*Math.PI,r=25,n=0,o=i*i;do{o=i*i;const e=o*o;n=(i*(1.007226+o*(.015085+e*(.028874*o-.044475-.005916*e)))-t)/(1.007226+o*(.045255+e*(.259866*o-.311325-.005916*11*e))),i=Ht(i-n,-W_,W_)}while(Math.abs(n)>1e-6&&--r>0);o=i*i;const s=Ht(qt(e/(.8707+o*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979))),-180,180),a=qt(i);return new sh(s,a)}}const H_=Gt(Eh);class X_ extends L_{project(e,t){t=Gt(t),e=Gt(e);const i=Math.cos(t),r=2/Math.PI,n=Math.acos(i*Math.cos(e/2)),o=Math.sin(n)/n,s=.5*(e*r+2*i*Math.sin(e/2)/o)||0,a=.5*(t+Math.sin(t)/o)||0;return{x:.5*(s/Math.PI+.5),y:1-.5*(a/Math.PI+1),z:0}}unproject(e,t){let i=e=(2*e-.5)*Math.PI,r=t=(2*(1-t)-1)*Math.PI,n=25;const o=1e-6;let s=0,a=0;do{const n=Math.cos(r),o=Math.sin(r),l=2*o*n,c=o*o,h=n*n,u=Math.cos(i/2),d=Math.sin(i/2),p=2*u*d,f=d*d,m=1-h*u*u,_=m?1/m:0,g=m?Math.acos(n*u)*Math.sqrt(1/m):0,y=.5*(2*g*n*d+2*i/Math.PI)-e,x=.5*(g*o+r)-t,v=.5*_*(h*f+g*n*u*c)+1/Math.PI,b=_*(p*l/4-g*o*d),w=.125*_*(l*d-g*o*h*p),T=.5*_*(c*u+g*f*n)+.5,E=b*w-T*v;s=(x*b-y*T)/E,a=(y*w-x*v)/E,i=Ht(i-s,-Math.PI,Math.PI),r=Ht(r-a,-H_,H_)}while((Math.abs(s)>o||Math.abs(a)>o)&&--n>0);return new sh(qt(i),qt(r))}}class Y_ extends L_{constructor(e){super(e),this.center=e.center||[0,0],this.parallels=e.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(Gt(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(e,t){const{scale:i,cosPhi:r}=this;return{x:Gt(e)*r*i+.5,y:-Math.sin(Gt(t))/r*i+.5,z:0}}unproject(e,t){const{scale:i,cosPhi:r}=this,n=-(t-.5)/i,o=Ht(qt((e-.5)/i)/r,-180,180),s=Math.asin(Ht(n*r,-1,1)),a=Ht(qt(s),-Eh,Eh);return new sh(o,a)}}class K_ extends $_{constructor(e){super(e),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5]}projectTilePoint(t,i,r){const n=zu(t,i,r),o=Lu(Su(r));return e.Q.transformMat4(n,n,o),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,i){const r=rh(i.lat,i.lng),n=e.Q.normalize([],r),o=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(i),t._centerAltitude):t._centerAltitude,s=vh(1,0)*no*o;e.Q.scaleAndAdd(r,r,n,s);const a=e.a9.identity(new Float64Array(16));return e.a9.multiply(a,t.pixelMatrix,t.globeMatrix),e.Q.transformMat4(r,r,a),new Vt(r[0],r[1])}pixelsPerMeter(e,t){return vh(1,0)*t}pixelSpaceConversion(e,t,i){const r=vh(1,e)*t,n=jr(vh(1,45)*t,r,i);return this.pixelsPerMeter(e,t)/n}createTileMatrix(t,i,r){const n=ku(Su(r.canonical));return e.a9.multiply(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,i){const{center:r}=t,n=Lu(Su(i));return e.a9.rotateY(n,n,Gt(r.lng)),e.a9.rotateX(n,n,Gt(r.lat)),e.a9.scale(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(e,t,i,r){return wu(e,t,i,!0)||new Ch(0,0)}pointCoordinate3D(e,t,i){const r=this.pointCoordinate(e,t,i,0);return[r.x,r.y,r.z]}isPointAboveHorizon(e,t){return!wu(e,t.x,t.y,!1)}farthestPixelDistance(t){const i=function(t,i){const r=t.cameraToCenterDistance,n=t._centerAltitude*i,o=t._camera,s=t._camera.forward(),a=e.Q.add([],e.Q.scale([],s,-r),[0,0,n]),l=t.worldSize/(2*Math.PI),c=[0,0,-l],h=t.width/t.height,u=Math.tan(t.fovAboveCenter),d=e.Q.scale([],o.up(),u),p=e.Q.scale([],o.right(),u*h),f=e.Q.normalize([],e.Q.add([],e.Q.add([],s,d),p)),m=[];let _;if(new lu(a,f).closestPointOnSphere(c,l,m)){const i=e.Q.add([],m,c),r=e.Q.sub([],i,a);_=Math.cos(t.fovAboveCenter)*e.Q.length(r)}else{const t=e.Q.sub([],a,c),i=e.Q.sub([],c,a);e.Q.normalize(i,i);const r=e.Q.length(t)-l;_=Math.sqrt(r*(r+2*l));const n=Math.acos(_/(l+r))-Math.acos(e.Q.dot(s,i));_*=Math.cos(n)}return 1.01*_}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),r=Nu(t.zoom);if(r>0){const e=P_(t,vh(1,t.center.lat)*t.worldSize),n=t.worldSize/(2*Math.PI),o=Math.max(t.width,t.height)/t.worldSize*Math.PI;return jr(i,e+n*(1-Math.cos(o)),Math.pow(r,10))}return i}upVector(e,t,i){return zu(t,i,e,1)}upVectorScale(e){return{metersToTile:vu(Du(Su(e)))}}}function J_(e){const t=e.parallels,i=!!t&&Math.abs(t[0]+t[1])<.01;switch(e.name){case"mercator":return new $_(e);case"equirectangular":return new j_(e);case"naturalEarth":return new Q_(e);case"equalEarth":return new U_(e);case"winkelTripel":return new X_(e);case"albers":return i?new Y_(e):new k_(e);case"lambertConformalConic":return i?new Y_(e):new Z_(e);case"globe":return new K_(e)}throw new Error(`Invalid projection name: ${e.name}`)}const eg=dp.types,tg=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function ig(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=a?Math.min(E_,Math.round(a[0])):0,f=a?Math.min(E_,Math.round(a[1])):0;e.emplaceBack(t,i,Math.round(32*r),Math.round(32*n),o,s,(p<<1)+(l?1:0),f,16*c,16*h,256*u,256*d)}function rg(e,t,i){e.emplaceBack(t,i)}function ng(e,t,i,r,n,o,s){e.emplaceBack(t,i,r,n,o,s)}function og(e,t,i,r,n){e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n)}function sg(e){for(const t of e.sections)if(Aa(t.text))return!0;return!1}class ag{constructor(e){this.layoutVertexArray=new kl,this.indexArray=new Gl,this.programConfigurations=e,this.segments=new mc,this.dynamicLayoutVertexArray=new Pl,this.opacityVertexArray=new Bl,this.placedSymbolArray=new oc,this.iconTransitioningVertexArray=new Fl,this.globeExtVertexArray=new Ol,this.zOffsetVertexArray=new $l}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length&&0===this.iconTransitioningVertexArray.length}upload(e,t,i,r,n){this.isEmpty()||(i&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,kf.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Bf.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,tg,!0),this.iconTransitioningVertexArray.length>0&&(this.iconTransitioningVertexBuffer=e.createVertexBuffer(this.iconTransitioningVertexArray,Nf.members,!0)),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,Of.members,!0)),!this.zOffsetVertexBuffer&&(this.zOffsetVertexArray.length>0||n)&&(this.zOffsetVertexBuffer=e.createVertexBuffer(this.zOffsetVertexArray,Ff.members,!0)),this.opacityVertexBuffer.itemSize=1),(i||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(),this.iconTransitioningVertexBuffer&&this.iconTransitioningVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy(),this.zOffsetVertexBuffer&&this.zOffsetVertexBuffer.destroy())}}fa(ag,"SymbolBuffers");class lg{constructor(e,t,i){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new i,this.segments=new mc,this.collisionVertexArray=new jl,this.collisionVertexArrayExt=new Pl}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Vf.members,!0),this.collisionVertexBufferExt=e.createVertexBuffer(this.collisionVertexArrayExt,Uf.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}fa(lg,"CollisionBuffers");class cg{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.hasAnyIconTextFit=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=e.a9.identity([]),this.placementViewportMatrix=e.a9.identity([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$f(this.zoom,i["text-size"]),this.iconSizeData=$f(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),o=r.get("symbol-z-order");this.canOverlap=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==o&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===o||"auto"===o&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=r.get("text-writing-mode").map((e=>Im[e])),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID,this.projection=t.projection,this.hasAnyZOffset=!1,this.zOffsetSortDirty=!1,this.zOffsetBuffersNeedUpload=r.get("symbol-z-elevate")}createArrays(){this.text=new ag(new jc(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new ag(new jc(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new lc,this.lineVertexArray=new cc,this.symbolInstances=new ac}calculateGlyphDependencies(e,t,i,r,n){for(let o=0;o0)&&("constant"!==l.value.kind||l.value.value.length>0),d="constant"!==h.value.kind||!!h.value.value||Object.keys(h.parameters).length>0,p=s.get("symbol-sort-key");if(this.features=[],!u&&!d)return;const f=i.iconDependencies,m=i.glyphDependencies,_=i.availableImages,g=new Va(this.zoom);for(const{feature:y,id:x,index:v,sourceLayerIndex:b}of t){const t=o._featureFilter.needGeometry,i=Fh(y,t);if(!o._featureFilter.filter(g,i,r))continue;if(t||(i.geometry=Bh(y,r,n)),a&&1!==y.type&&r.z<=5){const t=i.geometry,n=.98078528056,o=(t,i)=>{const o=zu(t.x,t.y,r,1),s=zu(i.x,i.y,r,1);return e.Q.dot(o,s)=0;for(const i of c.sections)if(i.image)f[i.image.namePrimary]=!0;else{const r=va(c.toString()),n=i.fontStack||e,o=m[n]=m[n]||{};this.calculateGlyphDependencies(i.text,o,t,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(e){const t={},i={},r=[];let n=0;function o(t){r.push(e[t]),n++}function s(e,t,n){const o=i[e];return delete i[e],i[t]=o,r[o].geometry[0].pop(),r[o].geometry[0]=r[o].geometry[0].concat(n[0]),o}function a(e,i,n){const o=t[i];return delete t[i],t[e]=o,r[o].geometry[0].shift(),r[o].geometry[0]=n[0].concat(r[o].geometry[0]),o}function l(e,t,i){const r=i?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,i,r,n){const o=0!==Object.keys(e).length;if(o&&!this.stateDependentLayers.length)return;const s=o?this.stateDependentLayers:this.layers;this.text.programConfigurations.updatePaintArrays(e,t,s,i,r,n),this.icon.programConfigurations.updatePaintArrays(e,t,s,i,r,n)}updateZOffset(){const e=(e,t,r)=>{i+=t,i>e.length&&e.resize(i);for(let n=-t;n<0;n++)e.emplace(n+i,r)},t=(e,t,i)=>{r+=t,r>e.length&&e.resize(r);for(let n=-t;n<0;n++)e.emplace(n+r,i)};if(!this.zOffsetBuffersNeedUpload)return;this.zOffsetBuffersNeedUpload=!1;let i=0,r=0;for(let n=0;n0;if((r>0||o>0)&&(e(this.text.zOffsetVertexArray,r,a),e(this.text.zOffsetVertexArray,o,a)),l){const{placedIconSymbolIndex:e,verticalPlacedIconSymbolIndex:r}=i;e>=0&&t(this.icon.zOffsetVertexArray,s,a),r>=0&&t(this.icon.zOffsetVertexArray,i.numVerticalIconVertices,a)}}this.text.zOffsetVertexBuffer&&this.text.zOffsetVertexBuffer.updateData(this.text.zOffsetVertexArray),this.icon.zOffsetVertexBuffer&&this.icon.zOffsetVertexBuffer.updateData(this.icon.zOffsetVertexArray)}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload,this.zOffsetBuffersNeedUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload,this.zOffsetBuffersNeedUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=J_(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){const i=this.lineVertexArray.length;if(void 0!==e.segment)for(const{x:r,y:n}of t)this.lineVertexArray.emplaceBack(r,n);return{lineStartIndex:i,lineLength:this.lineVertexArray.length-i}}addSymbols(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=e.indexArray,g=e.layoutVertexArray,y=e.globeExtVertexArray,x=e.segments.prepareSegment(4*t.length,g,_,this.canOverlap?o.sortKey:void 0),v=this.glyphOffsetArray.length,b=x.vertexLength,w=this.allowVerticalPlacement&&s===Im.vertical?Math.PI/2:0,T=o.text&&o.text.sections;for(let S=0;S=0?t.rightJustifiedTextSymbolIndex:t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.leftJustifiedTextSymbolIndex>=0?t.leftJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex>=0?t.verticalPlacedTextSymbolIndex:r),o=Wf(this.textSizeData,e,n)/qf;return this.tilePixelRatio*o}getSymbolInstanceIconSize(e,t,i){const r=this.icon.placedSymbolArray.get(i),n=Wf(this.iconSizeData,e,r);return this.tilePixelRatio*n}_commitDebugCollisionVertexUpdate(e,t,i,r){e.emplaceBack(t,-i,-i,r),e.emplaceBack(t,i,-i,r),e.emplaceBack(t,i,i,r),e.emplaceBack(t,-i,i,r)}_updateTextDebugCollisionBoxes(e,t,i,r,n,o){for(let s=r;s0}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}hasIconTextFit(){return this.hasAnyIconTextFit}addIndicesForPlacedSymbol(e,t){const i=e.placedSymbolArray.get(t),r=i.vertexStartIndex+4*i.numGlyphs;for(let n=i.vertexStartIndex;nr[e]-r[t]||n[t]-n[e])),o}getSortedIndexesByZOffset(){if(!this.zOffsetSortDirty)return this.symbolInstanceIndexesSortedZOffset;if(!this.symbolInstanceIndexesSortedZOffset){this.symbolInstanceIndexesSortedZOffset=[];for(let e=0;ethis.symbolInstances.get(t).zOffset-this.symbolInstances.get(e).zOffset))}addToSortKeyRanges(e,t){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===t?i.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(const e of this.symbolInstanceIndexes){const t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);const{rightJustifiedTextSymbolIndex:i,centerJustifiedTextSymbolIndex:r,leftJustifiedTextSymbolIndex:n,verticalPlacedTextSymbolIndex:o,placedIconSymbolIndex:s,verticalPlacedIconSymbolIndex:a}=t;i>=0&&this.addIndicesForPlacedSymbol(this.text,i),r>=0&&r!==i&&this.addIndicesForPlacedSymbol(this.text,r),n>=0&&n!==r&&n!==i&&this.addIndicesForPlacedSymbol(this.text,n),o>=0&&this.addIndicesForPlacedSymbol(this.text,o),s>=0&&this.addIndicesForPlacedSymbol(this.icon,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}fa(cg,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),cg.addDynamicAttributes=og;const hg=new Ka({"symbol-placement":new Ha(tl.layout_symbol["symbol-placement"]),"symbol-spacing":new Ha(tl.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ha(tl.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Xa(tl.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ha(tl.layout_symbol["symbol-z-order"]),"symbol-z-elevate":new Ha(tl.layout_symbol["symbol-z-elevate"]),"icon-allow-overlap":new Ha(tl.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ha(tl.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ha(tl.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ha(tl.layout_symbol["icon-rotation-alignment"]),"icon-size":new Xa(tl.layout_symbol["icon-size"]),"icon-text-fit":new Xa(tl.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Xa(tl.layout_symbol["icon-text-fit-padding"]),"icon-image":new Xa(tl.layout_symbol["icon-image"]),"icon-rotate":new Xa(tl.layout_symbol["icon-rotate"]),"icon-padding":new Ha(tl.layout_symbol["icon-padding"]),"icon-keep-upright":new Ha(tl.layout_symbol["icon-keep-upright"]),"icon-offset":new Xa(tl.layout_symbol["icon-offset"]),"icon-anchor":new Xa(tl.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ha(tl.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ha(tl.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ha(tl.layout_symbol["text-rotation-alignment"]),"text-field":new Xa(tl.layout_symbol["text-field"]),"text-font":new Xa(tl.layout_symbol["text-font"]),"text-size":new Xa(tl.layout_symbol["text-size"]),"text-max-width":new Xa(tl.layout_symbol["text-max-width"]),"text-line-height":new Xa(tl.layout_symbol["text-line-height"]),"text-letter-spacing":new Xa(tl.layout_symbol["text-letter-spacing"]),"text-justify":new Xa(tl.layout_symbol["text-justify"]),"text-radial-offset":new Xa(tl.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ha(tl.layout_symbol["text-variable-anchor"]),"text-anchor":new Xa(tl.layout_symbol["text-anchor"]),"text-max-angle":new Ha(tl.layout_symbol["text-max-angle"]),"text-writing-mode":new Ha(tl.layout_symbol["text-writing-mode"]),"text-rotate":new Xa(tl.layout_symbol["text-rotate"]),"text-padding":new Ha(tl.layout_symbol["text-padding"]),"text-keep-upright":new Ha(tl.layout_symbol["text-keep-upright"]),"text-transform":new Xa(tl.layout_symbol["text-transform"]),"text-offset":new Xa(tl.layout_symbol["text-offset"]),"text-allow-overlap":new Ha(tl.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ha(tl.layout_symbol["text-ignore-placement"]),"text-optional":new Ha(tl.layout_symbol["text-optional"]),visibility:new Ha(tl.layout_symbol.visibility)});var ug={paint:new Ka({"icon-opacity":new Xa(tl.paint_symbol["icon-opacity"]),"icon-emissive-strength":new Xa(tl.paint_symbol["icon-emissive-strength"]),"text-emissive-strength":new Xa(tl.paint_symbol["text-emissive-strength"]),"icon-color":new Xa(tl.paint_symbol["icon-color"]),"icon-halo-color":new Xa(tl.paint_symbol["icon-halo-color"]),"icon-halo-width":new Xa(tl.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Xa(tl.paint_symbol["icon-halo-blur"]),"icon-translate":new Ha(tl.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ha(tl.paint_symbol["icon-translate-anchor"]),"icon-image-cross-fade":new Xa(tl.paint_symbol["icon-image-cross-fade"]),"text-opacity":new Xa(tl.paint_symbol["text-opacity"]),"text-color":new Xa(tl.paint_symbol["text-color"],{runtimeType:Kr,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Xa(tl.paint_symbol["text-halo-color"]),"text-halo-width":new Xa(tl.paint_symbol["text-halo-width"]),"text-halo-blur":new Xa(tl.paint_symbol["text-halo-blur"]),"text-translate":new Ha(tl.paint_symbol["text-translate"]),"text-translate-anchor":new Ha(tl.paint_symbol["text-translate-anchor"]),"icon-color-saturation":new Ha(tl.paint_symbol["icon-color-saturation"]),"icon-color-contrast":new Ha(tl.paint_symbol["icon-color-contrast"]),"icon-color-brightness-min":new Ha(tl.paint_symbol["icon-color-brightness-min"]),"icon-color-brightness-max":new Ha(tl.paint_symbol["icon-color-brightness-max"])}),layout:hg};class dg{constructor(e){this.type=e.property.overrides?e.property.overrides.runtimeType:Qr,this.defaultValue=e}evaluate(e){if(e.formattedSection){const t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}fa(dg,"FormatSectionOverride",{omit:["defaultValue"]});class pg extends xl{constructor(t,i,r){super(t,ug,i,r),this._colorAdjustmentMatrix=e.a9.identity([])}recalculate(e,t){super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const i=this.layout.get("text-writing-mode");if(i){const e=[];for(const t of i)e.indexOf(t)<0&&e.push(t);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getColorAdjustmentMatrix(t,i,r,n){return this._saturation===t&&this._contrast===i&&this._brightnessMin===r&&this._brightnessMax===n||(this._colorAdjustmentMatrix=function(t,i,r,n){t=Ci(t),i=Ii(i);const o=e.a9.create(),s=t/3,a=1-2*s,l=[a,s,s,0,s,a,s,0,s,s,a,0,0,0,0,1],c=.5-.5*i,h=n-r;return e.a9.multiply(o,[h,0,0,0,0,h,0,0,0,0,h,0,r,r,r,1],[i,0,0,0,0,i,0,0,0,0,i,0,c,c,c,1]),e.a9.multiply(o,o,l),o}(t,i,r,n),this._saturation=t,this._contrast=i,this._brightnessMin=r,this._brightnessMax=n),this._colorAdjustmentMatrix}getValueAndResolveTokens(e,t,i,r){const n=this.layout.get(e).evaluate(t,{},i,r),o=this._unevaluatedLayout._values[e];return o.isDataDriven()||ia(o.value)||!n?n:function(e,t){return t.replace(/{([^{}]+)}/g,((t,i)=>i in e?String(e[i]):""))}(t.properties,n)}createBucket(e){return new cg(e)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const e of ug.paint.overridableProperties){if(!pg.hasPaintOverride(this.layout,e))continue;const t=this.paint.get(e),i=new dg(t),r=new ta(i,t.property.specification,this.scope,this.options);let n=null;n="constant"===t.value.kind||"source"===t.value.kind?new na("source",r):new oa("composite",r,t.value.zoomStops,t.value._interpolationType),this.paint._values[e]=new Wa(t.property,n,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,i){return!(!this.layout||t.isDataDriven()||i.isDataDriven())&&pg.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){const i=e.get("text-field"),r=ug.paint.properties[t];let n=!1;const o=e=>{for(const t of e)if(r.overrides&&r.overrides.hasOverride(t))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof pn)o(i.value.value.sections);else if("source"===i.value.kind){const e=t=>{n||(t instanceof xn&&gn(t.value)===rn?o(t.value.sections):t instanceof Tn?o(t.sections):t.eachChild(e))},t=i.value;t._styleExpression&&e(t._styleExpression.expression)}return n}getProgramIds(){const e=0!==this.paint.get("icon-opacity").constantOr(1),t=0!==this.paint.get("text-opacity").constantOr(1),i=[];return e&&i.push("symbolIcon"),t&&i.push("symbolSDF"),i}getDefaultProgramParams(e,t){return{config:new Uc(this,t),overrideFog:!1}}}const fg=new Ka({visibility:new Ha(tl.layout_background.visibility)});var mg={paint:new Ka({"background-color":new Ha(tl.paint_background["background-color"]),"background-pattern":new Ha(tl.paint_background["background-pattern"]),"background-opacity":new Ha(tl.paint_background["background-opacity"]),"background-emissive-strength":new Ha(tl.paint_background["background-emissive-strength"])}),layout:fg};const _g=new Ka({visibility:new Ha(tl.layout_raster.visibility)});var gg={paint:new Ka({"raster-opacity":new Ha(tl.paint_raster["raster-opacity"]),"raster-color":new Ya(tl.paint_raster["raster-color"]),"raster-color-mix":new Ha(tl.paint_raster["raster-color-mix"]),"raster-color-range":new Ha(tl.paint_raster["raster-color-range"]),"raster-hue-rotate":new Ha(tl.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ha(tl.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ha(tl.paint_raster["raster-brightness-max"]),"raster-saturation":new Ha(tl.paint_raster["raster-saturation"]),"raster-contrast":new Ha(tl.paint_raster["raster-contrast"]),"raster-resampling":new Ha(tl.paint_raster["raster-resampling"]),"raster-fade-duration":new Ha(tl.paint_raster["raster-fade-duration"]),"raster-emissive-strength":new Ha(tl.paint_raster["raster-emissive-strength"]),"raster-array-band":new Ha(tl.paint_raster["raster-array-band"]),"raster-elevation":new Ha(tl.paint_raster["raster-elevation"])}),layout:_g},yg=Tl([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class xg{constructor(e,t,i,r){this.context=e,this.format=i,this.texture=e.gl.createTexture(),this.update(t,r)}update(e,t,i){const{width:r,height:n}=e,{context:o}=this,{gl:s}=o;if(s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!t||!1!==t.premultiply)),i||this.size&&this.size[0]===r&&this.size[1]===n){const{x:t,y:o}=i||{x:0,y:0};if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||ImageBitmap&&e instanceof ImageBitmap)s.texSubImage2D(s.TEXTURE_2D,0,t,o,s.RGBA,s.UNSIGNED_BYTE,e);else{let i=this.format,a=s.UNSIGNED_BYTE;this.format===s.R32F&&(i=s.RED,a=s.FLOAT),s.texSubImage2D(s.TEXTURE_2D,0,t,o,r,n,i,a,e.data)}}else if(this.size=[r,n],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||ImageBitmap&&e instanceof ImageBitmap){let t=this.format;this.format===s.R8&&(t=s.RED),s.texImage2D(s.TEXTURE_2D,0,this.format,t,s.UNSIGNED_BYTE,e)}else{let t=this.format,i=this.format,o=s.UNSIGNED_BYTE;this.format===s.DEPTH_COMPONENT&&(t=s.DEPTH_COMPONENT16,o=s.UNSIGNED_SHORT),this.format===s.R8&&(i=s.RED),this.format===s.R32F&&(o=s.FLOAT,i=s.RED),s.texImage2D(s.TEXTURE_2D,0,t,r,n,0,i,o,e.data)}this.useMipmap=Boolean(t&&t.useMipmap),this.useMipmap&&s.generateMipmap(s.TEXTURE_2D)}bind(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{context:r}=this,{gl:n}=r;n.bindTexture(n.TEXTURE_2D,this.texture),e!==this.minFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,this.useMipmap&&!i?e===n.NEAREST?n.NEAREST_MIPMAP_NEAREST:n.LINEAR_MIPMAP_LINEAR:e),this.minFilter=e),t!==this.wrapS&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrapS=t)}bindExtraParam(e,t,i,r){const{context:n}=this,{gl:o}=n;o.bindTexture(o.TEXTURE_2D,this.texture),t!==this.magFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,t),this.magFilter=t),e!==this.minFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,this.useMipmap?e===o.NEAREST?o.NEAREST_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR:e),this.minFilter=e),i!==this.wrapS&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,i),this.wrapS=i),r!==this.wrapT&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,r),this.wrapT=r)}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}class vg{constructor(e,t){this.context=e,this.texture=t}bind(e,t){const{context:i}=this,{gl:r}=i;r.bindTexture(r.TEXTURE_2D,this.texture),e!==this.minFilter&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,e),this.minFilter=e),t!==this.wrapS&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t),this.wrapS=t)}}function bg(t,i,r,n,o,s,a,l){const c=[t,i,1,r,n,1,o,s,1],h=[a,l,1],u=e.ct.adjoint([],c),[d,p,f]=e.Q.transformMat3(h,h,u);return e.ct.multiply(c,c,[d,0,0,0,p,0,0,0,f])}function wg(t,i,r,n,o,s,a,l){const c=function(t,i,r,n,o,s,a,l){const c=bg(0,0,1,0,1,1,0,1),h=bg(t,i,r,n,o,s,a,l),u=e.ct.adjoint([],c);return e.ct.multiply(h,h,u)}(t,i,r,n,o,s,a,l);return[c[2]/c[8]/no,c[5]/c[8]/no]}function Tg(e){return[e[0],Math.min(Math.max(e[1],-Eh),Eh)]}class Eg extends kr{constructor(e,t,i,r){super(),this.id=e,this.dispatcher=i,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.onNorthPole=!1,this.onSouthPole=!1,this.setEventedParent(r),this.options=t,this._dirty=!1}load(e,t){if(this._loaded=t||!1,this.fire(new Rr("dataloading",{dataType:"source"})),this.url=this.options.url,!this.url)return e&&(this.coordinates=e),this._loaded=!0,void this._finishLoading();this._imageRequest=nr(this.map._requestManager.transformRequest(this.url,Hi.Image),((t,i)=>{this._imageRequest=null,this._loaded=!0,t?this.fire(new Lr(t)):i&&(this.image=i instanceof HTMLImageElement?zi.getImageData(i):i,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,e&&(this.coordinates=e),this._finishLoading())}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._imageRequest&&e.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=e.url,this.load(e.coordinates,this._loaded),this):this}setTexture(e){if(!(e.handle instanceof WebGLTexture))throw new Error("The provided handle is not a WebGLTexture instance");return this.texture=new vg(this.map.painter.context,e.handle),this.width=e.dimensions[0],this.height=e.dimensions[1],this._dirty=!1,this._loaded=!0,this._finishLoading(),this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new Rr("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),!this.texture||this.texture instanceof vg||this.texture.destroy(),this.boundsBuffer&&(this.boundsBuffer.destroy(),this.elevatedGlobeVertexBuffer&&this.elevatedGlobeVertexBuffer.destroy(),this.elevatedGlobeIndexBuffer&&this.elevatedGlobeIndexBuffer.destroy())}setCoordinates(e){if(this.coordinates=e,this._boundsArray=void 0,this._unsupportedCoords=!1,!e.length)return this;this.onNorthPole=!1,this.onSouthPole=!1;let t=e[0][1],i=e[0][1];for(const n of e)n[1]>i&&(i=n[1]),n[1]Eh?this.onNorthPole=!0:r<-Eh&&(this.onSouthPole=!0),!this.onNorthPole&&!this.onSouthPole){const t=e.map(Ch.fromLngLat);this.tileID=function(e){let t=1/0,i=1/0,r=-1/0,n=-1/0;for(const c of e)t=Math.min(t,c.x),i=Math.min(i,c.y),r=Math.max(r,c.x),n=Math.max(n,c.y);const o=Math.max(r-t,n-i),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),a=Math.pow(2,s);let l=Math.floor((t+r)/2*a);return l>1&&(l-=1),new hh(s,l,Math.floor((i+n)/2*a))}(t),this.minzoom=this.maxzoom=this.tileID.z}return this.fire(new Rr("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0,this._unsupportedCoords=!1}_prepareData(t){for(const e in this.tiles){const t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture)}if(this._boundsArray||this.onNorthPole||this.onSouthPole||this._unsupportedCoords)return;const i=z_(new hh(0,0,0),this.map.transform.projection),r=[i.projection.project(this.coordinates[0][0],this.coordinates[0][1]),i.projection.project(this.coordinates[1][0],this.coordinates[1][1]),i.projection.project(this.coordinates[2][0],this.coordinates[2][1]),i.projection.project(this.coordinates[3][0],this.coordinates[3][1])];if(!function(e){const t=e[1].x-e[0].x,i=e[1].y-e[0].y,r=e[2].x-e[1].x,n=e[2].y-e[1].y,o=e[3].x-e[2].x,s=e[3].y-e[2].y,a=e[0].x-e[3].x,l=e[0].y-e[3].y,c=t*n-r*i,h=r*s-o*n,u=o*l-a*s,d=a*i-t*l;return c>0&&h>0&&u>0&&d>0||c<0&&h<0&&u<0&&d<0}(r))return console.warn("Image source coordinates are defining non-convex area in the Mercator projection"),void(this._unsupportedCoords=!0);const n=z_(this.tileID,this.map.transform.projection),[o,s,a,l]=this.coordinates.map((e=>{const t=n.projection.project(e[0],e[1]);return D_(n,t)._round()}));this.perspectiveTransform=wg(o.x,o.y,s.x,s.y,a.x,a.y,l.x,l.y);const c=this._boundsArray=new Al;c.emplaceBack(o.x,o.y,0,0),c.emplaceBack(s.x,s.y,no,0),c.emplaceBack(l.x,l.y,0,no),c.emplaceBack(a.x,a.y,no,no),this.boundsBuffer&&(this.boundsBuffer.destroy(),this.elevatedGlobeVertexBuffer&&this.elevatedGlobeVertexBuffer.destroy(),this.elevatedGlobeIndexBuffer&&this.elevatedGlobeIndexBuffer.destroy()),this.boundsBuffer=t.createVertexBuffer(c,yg.members),this.boundsSegments=mc.simpleSegment(0,0,4,2);const h=[],u=[Tg((d=this.coordinates)[0]),Tg(d[1]),Tg(d[2]),Tg(d[3])];var d;const[p,f,m,_]=function(e){let t=e[0][0],i=t,r=e[0][1],n=r;for(let o=1;oi&&(i=e[o][0]),e[o][1]n&&(n=e[o][1]);return[t,r,i-t,n-r]}(u);{const n=new Al,[o,s,a,l]=function(e){let t=e[0].x,i=t,r=e[0].y,n=r;for(let o=1;oi&&(i=e[o].x),e[o].yn&&(n=e[o].y);return[t,r,i-t,n-r]}(r),c=e=>[(e.x-o)/a,(e.y-s)/l],[u,d,g,y]=r.map(c),x=function(t,i,r,n,o,s,a,l){const c=bg(0,0,1,0,1,1,0,1),h=bg(t,i,r,n,o,s,a,l),u=e.ct.adjoint([],h);return e.ct.multiply(c,c,u)}(u[0],u[1],d[0],d[1],g[0],g[1],y[0],y[1]);this.elevatedGlobePerspectiveTransform=wg(u[0],u[1],d[0],d[1],g[0],g[1],y[0],y[1]);const v=(t,i)=>{h.push(t.lng);const r=Math.round((t.lng-p)/m*no),o=Math.round((t.lat-f)/_*no),s=c(i),a=e.Q.transformMat3([],[s[0],s[1],1],x),l=Math.round(a[0]/a[2]*no),u=Math.round(a[1]/a[2]*no);n.emplaceBack(r,o,l,u)},b=r[3].x-r[0].x,w=r[3].y-r[0].y,T=r[2].x-r[1].x,E=r[2].y-r[1].y;for(let e=0;e<65;e++){const t=e/64,n=[r[0].x+t*b,r[0].y+t*w],o=[r[1].x+t*T,r[1].y+t*E],s=o[0]-n[0],a=o[1]-n[1];for(let e=0;e<65;e++){const t=e/64,r={x:n[0]+s*t,y:n[1]+a*t,z:0};v(i.projection.unproject(r.x,r.y),r)}}this.elevatedGlobeVertexBuffer=t.createVertexBuffer(n,yg.members)}{this.maxLongitudeTriangleSize=0;let e=[],i=new Gl;const r=(t,r,n)=>{i.emplaceBack(t,r,n);const o=h[t],s=h[r],a=h[n],l=Math.min(Math.min(o,s),a),c=Math.max(Math.max(o,s),a)-l;c>this.maxLongitudeTriangleSize&&(this.maxLongitudeTriangleSize=c),e.push(l+c/2)};for(let t=0;t<64;t++)for(let e=0;e<64;e++){const i=65*t+e,n=i+1,o=i+65,s=o+1;r(i,o,n),r(n,o,s)}[e,i]=function(e,t){const i=Array.from({length:e.length},((e,t)=>t));i.sort(((t,i)=>e[t]-e[i]));const r=[],n=new Gl;for(let o=0;oe+360*Math.round((t-e)/360))(e+180,i[0]);const n=new mc,o=(e,i)=>{n.segments.push({vertexOffset:0,primitiveOffset:e,vertexLength:t.segments[0].vertexLength,primitiveLength:i,sortKey:void 0,vaos:{}})},s=.51*this.maxLongitudeTriangleSize;if(Math.abs(i[0]-r)<=s){const e=Ai(i,0,i.length,r+s);return e===i.length||o(e,Mi(i,e+1,i.length,r+360-s)-e),n}r4&&void 0!==arguments[4]?arguments[4]:1/0;const o=e.range;if(!o)return 0;const s=Math.min(n,Math.max(i,r)),a=Math.log(s/1024)/Math.LN2;return Xt(o[0]+a,o[1]+a,t)}const Fg=1/4e4;function Ng(e,t){const i=Ht(t.lat,-Eh,Eh),r=new sh(t.lng-180*Fg,i),n=new sh(t.lng+180*Fg,i),o=e.project(r.lng,i),s=e.project(n.lng,i),a=Ch.fromLngLat(r),l=Ch.fromLngLat(n),c=s.x-o.x,h=s.y-o.y,u=l.x-a.x,d=l.y-a.y,p=Math.sqrt((u*u+d*d)/(c*c+h*h));return Math.log(p)/Math.LN2}function Vg(e,t,i){const r=Math.cos(i),n=Math.sin(i);return{x:e*r-t*n,y:e*n+t*r}}function Ug(t,i,r){e.a9.identity(t),e.a9.rotateZ(t,t,Gt(i[2])),e.a9.rotateX(t,t,Gt(i[0])),e.a9.rotateY(t,t,Gt(i[1])),e.a9.scale(t,t,r),e.a9.multiply(t,t,[1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1])}function jg(t,i,r,n,o,s,a,l){const c=[r[0]-i[0],r[1]-i[1],0],h=[n[0]-i[0],n[1]-i[1],0];if(e.Q.length(c)<1e-12||e.Q.length(h)<1e-12)return e.bl.identity(t);const u=e.Q.cross([],c,h);e.Q.normalize(u,u),e.Q.subtract(h,n,i),c[2]=(s-o)*l,h[2]=(a-o)*l;const d=c;return e.Q.cross(d,c,h),e.Q.normalize(d,d),e.bl.rotationTo(t,u,d)}function Gg(t,i){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=Nu(i.zoom),o=function(t,i,r){const n=i.worldSize,o=[t[12],t[13],t[14]],s=wh(o[1]/n),a=bh(o[0]/n),l=e.a9.identity([]),c=vh(1,s)*n,h=vh(1,0)*n*Mh(s,i.zoom),u=1/Ou(n);let d=h*u;if(r){const e=Bg(i.projection,i.zoom,i.width,i.height,1024);d=u*i.projection.pixelSpaceConversion(i.center.lat,n,e)}const p=rh(s,a);e.Q.add(p,p,e.Q.scale([],e.Q.normalize([],p),c*d*o[2]));const f=function(t){const i=[t[0],t[1],t[2]];let r=[0,1,0];const n=e.Q.cross([],r,i);return e.Q.cross(r,i,n),0===e.Q.squaredLength(r)&&(r=[0,1,0],e.Q.cross(n,i,r)),e.Q.normalize(n,n),e.Q.normalize(r,r),e.Q.normalize(i,i),[n[0],n[1],n[2],0,r[0],r[1],r[2],0,i[0],i[1],i[2],0,t[0],t[1],t[2],1]}(p);e.a9.scale(l,l,[d,d,d*c]),e.a9.translate(l,l,[-o[0],-o[1],-o[2]]);const m=e.a9.multiply([],i.globeMatrix,f);return e.a9.multiply(m,m,l),e.a9.multiply(m,m,t),m}(t,i,r);if(n>0){const r=function(t,i){const r=i.worldSize,n=vh(1,0)*r*Mh(i.center.lat,i.zoom)/Ou(r),o=vh(1,i.center.lat)*r,s=e.a9.identity([]);return e.a9.rotateY(s,s,Gt(i.center.lng)),e.a9.rotateX(s,s,Gt(i.center.lat)),e.a9.translate(s,s,[0,0,Qc]),e.a9.scale(s,s,[n,n,n*o]),e.a9.translate(s,s,[i.point.x-.5*r,i.point.y-.5*r,0]),e.a9.multiply(s,s,t),e.a9.multiply(s,i.globeMatrix,s)}(t,i);return function(t,i,r){const n=(t,i,r)=>{const n=e.Q.length(t),o=e.Q.length(i),s=Mu(t,i,r);return e.Q.scale(s,s,1/e.Q.length(s)*jr(n,o,r))},o=n([t[0],t[1],t[2]],[i[0],i[1],i[2]],r),s=n([t[4],t[5],t[6]],[i[4],i[5],i[6]],r),a=n([t[8],t[9],t[10]],[i[8],i[9],i[10]],r),l=Mu([t[12],t[13],t[14]],[i[12],i[13],i[14]],r);return[o[0],o[1],o[2],0,s[0],s[1],s[2],0,a[0],a[1],a[2],0,l[0],l[1],l[2],1]}(o,r,n)}return o}function qg(e,t,i,r){const n=mu.projectAabbCorners(r,i);let o=Number.MAX_VALUE,s=-1;for(let c=0;cnew Vt(n[e][0],n[e][1]);let l;switch(s){case 0:case 6:l=[a(1),a(5),a(4),a(7),a(3),a(2),a(1)];break;case 1:case 7:l=[a(0),a(4),a(5),a(6),a(2),a(3),a(0)];break;case 3:case 5:l=[a(1),a(0),a(4),a(7),a(6),a(2),a(1)];break;default:l=[a(1),a(5),a(6),a(7),a(3),a(0),a(1)]}if(jh(e,l))return o}const Zg=Tl([{name:"a_pos_3f",components:3,type:"Float32"}]),$g=Tl([{name:"a_color_3f",components:3,type:"Float32"}]),Wg=Tl([{name:"a_color_4f",components:4,type:"Float32"}]),Qg=Tl([{name:"a_uv_2f",components:2,type:"Float32"}]),Hg=Tl([{name:"a_normal_3f",components:3,type:"Float32"}]),Xg=Tl([{name:"a_normal_matrix0",components:4,type:"Float32"},{name:"a_normal_matrix1",components:4,type:"Float32"},{name:"a_normal_matrix2",components:4,type:"Float32"},{name:"a_normal_matrix3",components:4,type:"Float32"}]),Yg=Tl([{name:"a_pbr",components:4,type:"Uint16"},{name:"a_heightBasedEmissiveStrength",components:3,type:"Float32"}]);class Kg{constructor(e,t,i,r){this.message=(e?`${e}: `:"")+i,r&&(this.identifier=r),null!=t&&t.__line__&&(this.line=t.__line__)}}function Jg(e,t){const i=-1===e.indexOf("://");try{return new URL(e,i&&t?"http://example.com":void 0),!0}catch(e){return!1}}class ey{constructor(e,t){this.feature=e,this.instancedDataOffset=t,this.instancedDataCount=0,this.rotation=[0,0,0],this.scale=[1,1,1],this.translation=[0,0,0]}}class ty{constructor(){this.instancedDataArray=new Kl,this.instancesEvaluatedElevation=[],this.features=[],this.idToFeaturesIndex={}}}class iy{constructor(e){this.zoom=e.zoom,this.canonical=e.canonical,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.projection=e.projection,this.index=e.index,this.hasZoomDependentProperties=this.layers[0].isZoomDependent(),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.hasPattern=!1,this.instancesPerModel={},this.validForExaggeration=0,this.maxVerticalOffset=0,this.maxScale=0,this.maxHeight=0,this.lookupDim=this.zoom>this.canonical.z?256:this.zoom>15?75:100,this.instanceCount=0,this.terrainElevationMin=0,this.terrainElevationMax=0,this.validForDEMTile={id:null,timestamp:0},this.modelUris=[],this.modelsRequested=!1}populate(e,t,i,r){this.tileToMeter=Ih(i);const n=this.layers[0]._featureFilter.needGeometry;this.lookup=new Uint8Array(this.lookupDim*this.lookupDim);for(const{feature:o,id:s,index:a,sourceLayerIndex:l}of e){const e=null!=s?s:o.properties&&o.properties.hasOwnProperty("id")?o.properties.id:void 0,c=Fh(o,n);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),c,i))continue;const h={id:e,sourceLayerIndex:l,index:a,geometry:n?c.geometry:Bh(o,i,r),properties:o.properties,type:o.type,patterns:{}},u=this.addFeature(h,h.geometry,c);u&&t.featureIndex.insert(o,h.geometry,a,l,this.index,this.instancesPerModel[u].instancedDataArray.length,no/32)}this.lookup=null}update(e,t,i,r){for(const n in this.instancesPerModel){const t=this.instancesPerModel[n];for(const i in e)t.idToFeaturesIndex.hasOwnProperty(i)&&(this.evaluate(t.features[t.idToFeaturesIndex[i]],e[i],t,!0),this.uploaded=!1)}this.maxHeight=0}updateZoomBasedPaintProperties(){if(!this.hasZoomDependentProperties)return!1;let t=!1;for(const i in this.instancesPerModel){const r=this.instancesPerModel[i];for(const i of r.features){const n=this.layers[0],o=i.feature,s=this.canonical,a=n.paint.get("model-rotation").evaluate(o,{},s),l=n.paint.get("model-scale").evaluate(o,{},s),c=n.paint.get("model-translation").evaluate(o,{},s);e.Q.exactEquals(i.rotation,a)&&e.Q.exactEquals(i.scale,l)&&e.Q.exactEquals(i.translation,c)||(this.evaluate(i,i.featureStates,r,!0),t=!0)}}return t}isEmpty(){for(const e in this.instancesPerModel)if(0!==this.instancesPerModel[e].instancedDataArray.length)return!1;return!0}uploadPending(){return!this.uploaded}upload(e){if(!this.uploaded)for(const t in this.instancesPerModel){const i=this.instancesPerModel[t];i.instancedDataArray.length<0||0===i.instancedDataArray.length||(i.instancedDataBuffer?i.instancedDataBuffer.updateData(i.instancedDataArray):i.instancedDataBuffer=e.createVertexBuffer(i.instancedDataArray,Xg.members,!0,void 0,this.instanceCount))}this.uploaded=!0}destroy(){for(const t in this.instancesPerModel){const e=this.instancesPerModel[t];0!==e.instancedDataArray.length&&e.instancedDataBuffer&&e.instancedDataBuffer.destroy()}const e=this.layers[0].modelManager;if(e&&this.modelUris)for(const t of this.modelUris)e.removeModel(t,"")}addFeature(e,t,i){const r=this.layers[0],n=r.layout.get("model-id").evaluate(i,{},this.canonical);if(!n)return ui(`modelId is not evaluated for layer ${r.id} and it is not going to get rendered.`),n;Jg(n,!1)&&(this.modelUris.includes(n)||this.modelUris.push(n)),this.instancesPerModel[n]||(this.instancesPerModel[n]=new ty);const o=this.instancesPerModel[n],s=o.instancedDataArray,a=new ey(i,s.length);for(const l of t)for(const e of l){if(e.x<0||e.x>=no||e.y<0||e.y>=no)continue;const t=(this.lookupDim-1)/no,i=this.lookupDim*(e.y*t|0)+e.x*t|0;if(this.lookup){if(0!==this.lookup[i])continue;this.lookup[i]=1}this.instanceCount++;const r=s.length;s.resize(r+1),o.instancesEvaluatedElevation.push(0),s.float32[16*r]=e.x,s.float32[16*r+1]=e.y}return a.instancedDataCount=o.instancedDataArray.length-a.instancedDataOffset,a.instancedDataCount>0&&(e.id&&(o.idToFeaturesIndex[e.id]=o.features.length),o.features.push(a),this.evaluate(a,{},o,!1)),n}getModelUris(){return this.modelUris}evaluate(e,t,i,r){const n=this.layers[0],o=e.feature,s=this.canonical,a=e.rotation=n.paint.get("model-rotation").evaluate(o,t,s),l=e.scale=n.paint.get("model-scale").evaluate(o,t,s),c=e.translation=n.paint.get("model-translation").evaluate(o,t,s),h=n.paint.get("model-color").evaluate(o,t,s);h.a=n.paint.get("model-color-mix-intensity").evaluate(o,t,s);const u=[];this.maxVerticalOffset10?this.tileToMeter:Ih(s,l)),o[n+4]=c[0],o[n+5]=c[1],o[n+6]=c[2]+a,o[n+7]=u[0],o[n+8]=u[1],o[n+9]=u[2],o[n+10]=u[4],o[n+11]=u[5],o[n+12]=u[6],o[n+13]=u[8],o[n+14]=u[9],o[n+15]=u[10],i.instancesEvaluatedElevation[t]=c[2]}}}fa(iy,"ModelBucket",{omit:["layers"]}),fa(ty,"PerModelAttributes"),fa(ey,"ModelFeature");const ry=new Ka({visibility:new Ha(tl.layout_model.visibility),"model-id":new Xa(tl.layout_model["model-id"])});var ny={paint:new Ka({"model-opacity":new Ha(tl.paint_model["model-opacity"]),"model-rotation":new Xa(tl.paint_model["model-rotation"]),"model-scale":new Xa(tl.paint_model["model-scale"]),"model-translation":new Xa(tl.paint_model["model-translation"]),"model-color":new Xa(tl.paint_model["model-color"]),"model-color-mix-intensity":new Xa(tl.paint_model["model-color-mix-intensity"]),"model-type":new Ha(tl.paint_model["model-type"]),"model-cast-shadows":new Ha(tl.paint_model["model-cast-shadows"]),"model-receive-shadows":new Ha(tl.paint_model["model-receive-shadows"]),"model-ambient-occlusion-intensity":new Ha(tl.paint_model["model-ambient-occlusion-intensity"]),"model-emissive-strength":new Xa(tl.paint_model["model-emissive-strength"]),"model-roughness":new Xa(tl.paint_model["model-roughness"]),"model-height-based-emissive-strength-multiplier":new Xa(tl.paint_model["model-height-based-emissive-strength-multiplier"]),"model-cutoff-fade-range":new Ha(tl.paint_model["model-cutoff-fade-range"]),"model-front-cutoff":new Ha(tl.paint_model["model-front-cutoff"])}),layout:ry};const oy=64,sy={CoordinateSpaceTile:1,CoordinateSpaceYUp:2,HasMapboxMeshFeatures:4,HasMeshoptCompression:8};function ay(t,i,r,n,o,s,a,l,c){let h=arguments.length>9&&void 0!==arguments[9]&&arguments[9];const u=r.zoom,d=r.project(n),p=Mh(n.lat,u),f=1/p;e.a9.identity(t),e.a9.translate(t,t,[d.x+a[0]*f,d.y+a[1]*f,a[2]]);let m=1,_=1;const g=r.worldSize;if(h){if("mercator"===r.projection.name){let t=0;r.elevation&&(t=r.elevation.getAtPointOrZero(new Ch(d.x/g,d.y/g),0));const i=e.aa.transformMat4([],[d.x,d.y,t,1],r.projMatrix)[3]/r.cameraToCenterDistance;m=i,_=i*Mh(r.center.lat,u)}else if("globe"===r.projection.name){const i=Gg(t,r),o=e.a9.multiply([],r.projMatrix,i),s=[0,0,0,1];e.aa.transformMat4(s,s,o);const a=s[3]/r.cameraToCenterDistance,l=Nu(u),c=r.projection.pixelsPerMeter(n.lat,g)*Mh(n.lat,u),h=r.projection.pixelsPerMeter(r.center.lat,g)*Mh(r.center.lat,u);m=a/jr(c,Sh(r.center.lat),l),_=a*p/c,m*=h,_*=h}}else m=f;e.a9.scale(t,t,[m,m,_]);const y=[...t],x=i.orientation,v=[];if(Ug(v,[x[0]+o[0],x[1]+o[1],x[2]+o[2]],s),e.a9.multiply(t,y,v),l&&r.elevation){let o=0;const s=[];if(c&&r.elevation){o=function(t,i,r,n,o){const s=i.elevation;if(!s)return 0;const a=mu.projectAabbCorners(r,n),l=vh(1,o.lat)*i.worldSize,c=function(t,i){const r=[0,0,1],n=[{corners:[0,1,3,2],dotProductWithUp:0},{corners:[1,5,2,6],dotProductWithUp:0},{corners:[0,4,1,5],dotProductWithUp:0},{corners:[2,6,3,7],dotProductWithUp:0},{corners:[4,7,5,6],dotProductWithUp:0},{corners:[0,3,4,7],dotProductWithUp:0}];for(const o of n){const n=t[o.corners[0]],s=t[o.corners[1]],a=t[o.corners[2]],l=[s[0]-n[0],s[1]-n[1],i*(s[2]-n[2])],c=e.Q.cross(l,l,[a[0]-n[0],a[1]-n[1],i*(a[2]-n[2])]);e.Q.normalize(c,c),o.dotProductWithUp=e.Q.dot(c,r)}return n.sort(((e,t)=>e.dotProductWithUp-t.dotProductWithUp)),n[0].corners}(a,l),h=a[c[0]],u=a[c[1]],d=a[c[2]],p=a[c[3]],f=s.getAtPointOrZero(new Ch(h[0]/i.worldSize,h[1]/i.worldSize),0),m=s.getAtPointOrZero(new Ch(u[0]/i.worldSize,u[1]/i.worldSize),0),_=s.getAtPointOrZero(new Ch(d[0]/i.worldSize,d[1]/i.worldSize),0),g=s.getAtPointOrZero(new Ch(p[0]/i.worldSize,p[1]/i.worldSize),0),y=(f+g)/2,x=(m+_)/2;return y>x?m<_?jg(t,u,p,h,m,g,f,l):jg(t,d,h,p,_,f,g,l):f2&&void 0!==arguments[2]&&arguments[2];e.uploaded||(e.gfxTexture=new xg(t,e.image,i?t.gl.R8:t.gl.RGBA,{useMipmap:e.sampler.minFilter>=t.gl.NEAREST_MIPMAP_NEAREST}),e.uploaded=!0,e.image=null)}function cy(e,t,i){e.indexBuffer=t.createIndexBuffer(e.indexArray,!1,!0),e.vertexBuffer=t.createVertexBuffer(e.vertexArray,Zg.members,!1,!0),e.normalArray&&(e.normalBuffer=t.createVertexBuffer(e.normalArray,Hg.members,!1,!0)),e.texcoordArray&&(e.texcoordBuffer=t.createVertexBuffer(e.texcoordArray,Qg.members,!1,!0)),e.colorArray&&(e.colorBuffer=t.createVertexBuffer(e.colorArray,(12===e.colorArray.bytesPerElement?$g:Wg).members,!1,!0)),e.featureArray&&(e.pbrBuffer=t.createVertexBuffer(e.featureArray,Yg.members,!0)),e.segments=mc.simpleSegment(0,0,e.vertexArray.length,e.indexArray.length);const r=e.material;r.pbrMetallicRoughness.baseColorTexture&&ly(r.pbrMetallicRoughness.baseColorTexture,t),r.pbrMetallicRoughness.metallicRoughnessTexture&&ly(r.pbrMetallicRoughness.metallicRoughnessTexture,t),r.normalTexture&&ly(r.normalTexture,t),r.occlusionTexture&&ly(r.occlusionTexture,t,i),r.emissionTexture&&ly(r.emissionTexture,t)}function hy(e,t,i){if(e.meshes)for(const r of e.meshes)cy(r,t,i);if(e.children)for(const r of e.children)hy(r,t,i)}function uy(e){if(e.meshes)for(const t of e.meshes)t.indexArray.destroy(),t.vertexArray.destroy(),t.colorArray&&t.colorArray.destroy(),t.normalArray&&t.normalArray.destroy(),t.texcoordArray&&t.texcoordArray.destroy(),t.featureArray&&t.featureArray.destroy();if(e.children)for(const t of e.children)uy(t)}function dy(e){if(e.meshes)for(const i of e.meshes)i.vertexBuffer&&(i.vertexBuffer.destroy(),i.indexBuffer.destroy(),i.normalBuffer&&i.normalBuffer.destroy(),i.texcoordBuffer&&i.texcoordBuffer.destroy(),i.colorBuffer&&i.colorBuffer.destroy(),i.pbrBuffer&&i.pbrBuffer.destroy(),i.segments.destroy(),i.material&&((t=i.material).pbrMetallicRoughness.baseColorTexture&&t.pbrMetallicRoughness.baseColorTexture.gfxTexture&&t.pbrMetallicRoughness.baseColorTexture.gfxTexture.destroy(),t.pbrMetallicRoughness.metallicRoughnessTexture&&t.pbrMetallicRoughness.metallicRoughnessTexture.gfxTexture&&t.pbrMetallicRoughness.metallicRoughnessTexture.gfxTexture.destroy(),t.normalTexture&&t.normalTexture.gfxTexture&&t.normalTexture.gfxTexture.destroy(),t.emissionTexture&&t.emissionTexture.gfxTexture&&t.emissionTexture.gfxTexture.destroy(),t.occlusionTexture&&t.occlusionTexture.gfxTexture&&t.occlusionTexture.gfxTexture.destroy()));var t;if(e.children)for(const i of e.children)dy(i)}class py{constructor(e){this._callback=e,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class fy{constructor(){this.tasks={},this.taskQueue=[],oi(["process"],this),this.invoker=new py(this.process),this.nextId=0}add(e,t){const i=this.nextId++,r=function(e){let{type:t,isSymbolTile:i,zoom:r}=e;return r=r||0,"message"===t?0:"maybePrepare"!==t||i?"parseTile"!==t||i?"parseTile"===t&&i?300-r:"maybePrepare"===t&&i?400-r:500:200-r:100-r}(t);if(0===r){mi();try{e()}finally{}return null}return this.tasks[i]={fn:e,metadata:t,priority:r,id:i},this.taskQueue.push(i),this.invoker.trigger(),{cancel:()=>{delete this.tasks[i]}}}process(){mi();try{if(this.taskQueue=this.taskQueue.filter((e=>!!this.tasks[e])),!this.taskQueue.length)return;const e=this.pick();if(null===e)return;const t=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),!t)return;t.fn()}finally{}}pick(){let e=null,t=1/0;for(let r=0;r4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0;const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(i.metadata=o,this.callbacks[s]=i);const a=new Set;return this.target.postMessage({id:s,type:e,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:ga(t,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(e){const t=e.data,i=t.id;if(i&&(!t.targetMapId||this.mapId===t.targetMapId))if(""===t.type){const e=this.cancelCallbacks[i];delete this.cancelCallbacks[i],e&&e.cancel()}else if(t.mustQueue||mi()){const e=this.callbacks[i],r=this.scheduler.add((()=>this.processTask(i,t)),e&&e.metadata||{type:"message"});r&&(this.cancelCallbacks[i]=r)}else this.processTask(i,t)}processTask(e,t){if(delete this.cancelCallbacks[e],""===t.type){const i=this.callbacks[e];delete this.callbacks[e],i&&(t.error?i(ya(t.error)):i(null,ya(t.data)))}else{const i=new Set,r=t.hasCallback?(t,r)=>{this.target.postMessage({id:e,type:"",sourceMapId:this.mapId,error:t?ga(t):null,data:ga(r,i)},i)}:e=>{},n=ya(t.data);if(this.parent[t.type])this.parent[t.type](t.sourceMapId,n,r);else if(this.parent.getWorkerSource){const e=t.type.split(".");this.parent.getWorkerSource(t.sourceMapId,e[0],n.source,n.scope)[e[1]](n,r)}else r(new Error(`Could not find function ${t.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}}class _y{constructor(e,t){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=ti();const i=this.workerPool.acquire(this.id);for(let r=0;r{this.ready=!0}))}broadcast(e,t,i){Kt(this.actors,((i,r)=>{i.send(e,t,r)}),i=i||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove()})),this.actors=[],this.workerPool.release(this.id)}}_y.Actor=my;var gy={workerUrl:"",workerClass:null,workerParams:void 0};function yy(){return null!=gy.workerClass?new gy.workerClass:new self.Worker(gy.workerUrl,gy.workerParams)}const xy="mapboxgl_preloaded_worker_pool";class vy{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[xy]}numActive(){return Object.keys(this.active).length}}let by;function wy(){return by||(by=new vy),by}vy.workerCount=2;let Ty,Ey,Sy,My,Ay,Iy=null;function Cy(){return mi()&&self.worker&&self.worker.dracoUrl?self.worker.dracoUrl:Ey||r.DRACO_URL}function Py(){if(mi()&&self.worker&&self.worker.meshoptUrl)return self.worker.meshoptUrl;if(My)return My;const e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);if("object"!=typeof WebAssembly)throw new Error("WebAssembly not supported, cannot instantiate meshoptimizer");return My=WebAssembly.validate(e)?r.MESHOPT_SIMD_URL:r.MESHOPT_URL,My}const zy={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Dy={5120:"DT_INT8",5121:"DT_UINT8",5122:"DT_INT16",5123:"DT_UINT16",5125:"DT_UINT32",5126:"DT_FLOAT32"},Ry={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16};function Ly(e,t,i){const r=i.json.bufferViews.length,n=i.buffers.length;t.bufferView=r,i.json.bufferViews[r]={buffer:n,byteLength:e.byteLength},i.buffers[n]=e}const ky="KHR_draco_mesh_compression";function Oy(e,t){const i=e.extensions&&e.extensions[ky];if(!i)return;const r=new Sy.Decoder,n=Gy(t,i.bufferView),o=new Sy.Mesh;if(!r.DecodeArrayToMesh(n,n.byteLength,o))throw new Error("Failed to decode Draco mesh");const s=t.json.accessors[e.indices],a=zy[s.componentType],l=s.count*a.BYTES_PER_ELEMENT,c=Sy._malloc(l);a===Uint16Array?r.GetTrianglesUInt16Array(o,l,c):r.GetTrianglesUInt32Array(o,l,c),Ly(Sy.memory.buffer.slice(c,c+l),s,t),Sy._free(c);for(const h of Object.keys(i.attributes)){const n=r.GetAttributeByUniqueId(o,i.attributes[h]),s=t.json.accessors[e.attributes[h]],a=Dy[s.componentType],l=s.count*Ry[s.type]*zy[s.componentType].BYTES_PER_ELEMENT,c=Sy._malloc(l);r.GetAttributeDataArrayForAllPoints(o,n,Sy[a],l,c),Ly(Sy.memory.buffer.slice(c,c+l),s,t),Sy._free(c)}r.destroy(),o.destroy(),delete e.extensions[ky]}const By="EXT_meshopt_compression";function Fy(e,t){if(!e.extensions||!e.extensions[By])return;const i=e.extensions[By],r=new Uint8Array(t.buffers[i.buffer],i.byteOffset||0,i.byteLength||0),n=new Uint8Array(i.count*i.byteStride);Ay.decodeGltfBuffer(n,i.count,i.byteStride,r,i.mode,i.filter),e.buffer=t.buffers.length,e.byteOffset=0,t.buffers[e.buffer]=n.buffer,delete e.extensions[By]}const Ny=1179937895,Vy=new TextDecoder("utf8");function Uy(e,t){return new URL(e,t).href}function jy(e,t,i,r){return fetch(Uy(e.uri,r)).then((e=>e.arrayBuffer())).then((e=>{t.buffers[i]=e}))}function Gy(e,t){const i=e.json.bufferViews[t];return new Uint8Array(e.buffers[i.buffer],i.byteOffset||0,i.byteLength)}function qy(e,t,i,r){if(e.uri){const n=Uy(e.uri,r);return fetch(n).then((e=>e.blob())).then((e=>createImageBitmap(e))).then((e=>{t.images[i]=e}))}if(void 0!==e.bufferView){const r=Gy(t,e.bufferView),n=new Blob([r],{type:e.mimeType});return createImageBitmap(n).then((e=>{t.images[i]=e}))}}function Zy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0;const r={json:null,images:[],buffers:[]};if(new Uint32Array(e,t,1)[0]===Ny){const i=new Uint32Array(e,t);let n=2;const o=(i[n++]>>2)-3,s=i[n++]>>2;if(n++,r.json=JSON.parse(Vy.decode(i.subarray(n,n+s))),n+=s,n{const e=[],t=a&&a.includes(ky),n=a&&a.includes(By);if(t&&e.push(function(){if(!Sy)return Ty||(Ty=function(e){let t,i=null;function r(){t=new Uint8Array(i.buffer)}function n(){throw new Error("Unexpected Draco error.")}const o={a:{a:n,d:function(e,i,r){return t.copyWithin(e,i,i+r)},c:function(e){const n=t.length,o=Math.max(e>>>0,Math.ceil(1.2*n)),s=Math.ceil((o-n)/65536);try{return i.grow(s),r(),!0}catch(e){return!1}},b:n}};return(WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(e,o):e.then((e=>e.arrayBuffer())).then((e=>WebAssembly.instantiate(e,o)))).then((e=>{const{Rb:n,Qb:o,P:s,T:a,X:l,Ja:c,La:h,Qa:u,Va:d,Wa:p,eb:f,jb:m,f:_,e:g,yb:y,zb:x,Ab:v,Bb:b,Db:w,Gb:T}=e.instance.exports;i=g;const E=(()=>{let e=0,i=0,r=0,s=0;return a=>{r&&(n(s),n(e),i+=r,r=e=0),e||(i+=128,e=o(i));const l=a.length+7&-8;let c=e;l>=i&&(r=l,c=s=o(l));for(let e=0;e{Sy=e,Ty=void 0})))}()),n&&e.push(function(){if(Ay)return;const e=function(e){let t;const i=WebAssembly.instantiateStreaming(e,{}).then((e=>{t=e.instance,t.exports.__wasm_call_ctors()})),r={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},n={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:i,supported:!0,decodeGltfBuffer(e,i,o,s,a,l){!function(e,t,i,r,n,o,s){const a=e.exports.sbrk,l=r+3&-4,c=a(l*n),h=a(o.length),u=new Uint8Array(e.exports.memory.buffer);u.set(o,h);const d=t(c,r,n,h,o.length);if(0===d&&s&&s(c,l,n),i.set(u.subarray(c,c+r*n)),a(c-a(0)),0!==d)throw new Error(`Malformed buffer data: ${d}`)}(t,t.exports[n[a]],e,i,o,s,t.exports[r[l]])}}}(fetch(Py()));return e.ready.then((()=>{Ay=e}))}()),o)for(let s=0;s{if(t&&s)for(const{primitives:e}of s)for(const t of e)Oy(t,r);if(n&&s&&l)for(const e of l)Fy(e,r);return r}))}))}class $y{constructor(e,t,i,r){if(this.triangleCount=t.length/3,this.min=new Vt(0,0),this.max=new Vt(0,0),this.xScale=0,this.yScale=0,this.cellsX=0,this.cellsY=0,this.cells=[],this.payload=[],0===this.triangleCount||0===e.length)return;const[n,o]=[e[0].clone(),e[0].clone()];for(let h=1;he.cellIdx-t.cellIdx||e.triIdx-t.triIdx));let c=0;for(;cthis.max.x||this.min.x>t.x)return;if(e.y>this.max.y||this.min.y>t.y)return;this.lookup||(this.lookup=new Uint8Array(Math.ceil(this.triangleCount/8)));for(let a=0;a0){for(let n=0;n0){o.texcoordArray=new zl;const e=t.json.accessors[n.TEXCOORD_0];o.texcoordArray.resize(e.count);const i=Qy(t,e);Hy(t,e,o.texcoordArray,i)}if(void 0!==n._FEATURE_ID_RGBA4444){const e=t.json.accessors[n._FEATURE_ID_RGBA4444];t.json.extensionsUsed&&t.json.extensionsUsed.includes("EXT_meshopt_compression")&&(o.featureData=Qy(t,e))}void 0!==n._FEATURE_RGBA4444&&(o.featureData=new Uint32Array(Qy(t,t.json.accessors[n._FEATURE_RGBA4444]).buffer));const u=e.material;return o.material=function(e,t){const{emissiveFactor:i=[0,0,0],alphaMode:r="OPAQUE",alphaCutoff:n=.5,normalTexture:o,occlusionTexture:s,emissiveTexture:a,doubleSided:l}=e,{baseColorFactor:c=[1,1,1,1],metallicFactor:h=1,roughnessFactor:u=1,baseColorTexture:d,metallicRoughnessTexture:p}=e.pbrMetallicRoughness||{},f=s?t[s.index]:void 0;if(s&&s.extensions&&s.extensions.KHR_texture_transform&&f){const e=s.extensions.KHR_texture_transform;f.offsetScale=[e.offset[0],e.offset[1],e.scale[0],e.scale[1]]}return{pbrMetallicRoughness:{baseColorFactor:new Ur(...c),metallicFactor:h,roughnessFactor:u,baseColorTexture:d?t[d.index]:void 0,metallicRoughnessTexture:p?t[p.index]:void 0},doubleSided:l,emissiveFactor:i,alphaMode:r,alphaCutoff:n,normalTexture:o?t[o.index]:void 0,occlusionTexture:f,emissionTexture:a?t[a.index]:void 0,defined:void 0===e.defined}}(void 0!==u?t.json.materials[u]:{defined:!1},i),o}function Yy(t,i,r){const{matrix:n,rotation:o,translation:s,scale:a,mesh:l,extras:c,children:h}=t,u={};if(u.matrix=n||e.a9.fromRotationTranslationScale([],o||[0,0,0,1],s||[0,0,0],a||[1,1,1]),void 0!==l){u.meshes=r[l];const e=u.anchor=[0,0];for(const t of u.meshes){const{min:i,max:r}=t.aabb;e[0]+=i[0]+r[0],e[1]+=i[1]+r[1]}e[0]=Math.floor(e[0]/u.meshes.length/2),e[1]=Math.floor(e[1]/u.meshes.length/2)}if(c&&(c.id&&(u.id=c.id),c.lights&&(u.lights=function(e){if(!e.length)return[];const t=function(e){const t=atob(e),i=new Uint8Array(t.length);for(let r=0;r1&&r[r.length-1].equals(r[0])&&r.pop();let n=0;for(let s=0;s0&&r.reverse();const o=Nd(r.flatMap((e=>[e.x,e.y])),[]);return 0===o.length?null:{vertices:r,indices:o}}function ex(t,i){const r=[],n=[];let o=0;const s=[];for(const a of t){o=r.length;const t=a.vertexArray.float32,l=a.indexArray.uint16;for(let n=0;n0&&([n[e+1],n[e+2]]=[n[e+2],n[e+1]])}return{vertices:r,indices:n}}function tx(e){const t=function(e,t){const i=[],r=WebGL2RenderingContext;if(e.json.textures)for(const n of e.json.textures){const o={magFilter:r.LINEAR,minFilter:r.NEAREST,wrapS:r.REPEAT,wrapT:r.REPEAT};void 0!==n.sampler&&Object.assign(o,e.json.samplers[n.sampler]),i.push({image:t[n.source],sampler:o,uploaded:!1})}return i}(e,e.images),i=function(e,t){const i=[];for(const r of e.json.meshes){const n=[];for(const i of r.primitives)n.push(Xy(i,e,t));i.push(n)}return i}(e,t),{scenes:r,scene:n,nodes:o}=e.json,s=r?r[n||0].nodes:o,a=[];for(const l of s)a.push(Yy(o[l],e,i));return function(e,t,i){const r={},n=new Set;for(let o=0;o0){const t=Array.from(n.values()).sort(((e,t)=>e-t));for(let i=t.length-1;i>=0;i--)e.splice(t[i],1)}}(a,s,e.json.nodes),a}function ix(e){e.heightmap=new Float32Array(4096),e.heightmap.fill(-1);const t=e.vertexArray.float32,i=e.aabb.min[0]-1,r=e.aabb.min[1]-1,n=oy/(e.aabb.max[0]-i+2),o=oy/(e.aabb.max[1]-r+2);for(let s=0;se.heightmap[c*oy+l]&&(e.heightmap[c*oy+l]=a)}}function rx(t,i){const r={};r.indexArray=new Gl,r.indexArray.reserve(4*t.length),r.vertexArray=new Yl,r.vertexArray.reserve(10*t.length),r.colorArray=new Pl,r.vertexArray.reserve(10*t.length);let n=0;for(const a of t){const t=Math.min(10,Math.max(4,1.3*a.height))*i,o=[-a.normal[1],a.normal[0],0],s=Math.min(.29,.1*a.width/a.depth),l=a.width-2*a.depth*i*(s+.01),c=e.Q.scaleAndAdd([],a.pos,o,l/2),h=e.Q.scaleAndAdd([],a.pos,o,-l/2),u=[c[0],c[1],c[2]+a.height],d=[h[0],h[1],h[2]+a.height],p=e.Q.scaleAndAdd([],a.normal,o,s);e.Q.scale(p,p,t);const f=e.Q.scaleAndAdd([],a.normal,o,-s);e.Q.scale(f,f,t),e.Q.add(p,c,p),e.Q.add(f,h,f),c[2]+=.1,h[2]+=.1,r.vertexArray.emplaceBack(p[0],p[1],p[2]),r.vertexArray.emplaceBack(f[0],f[1],f[2]),r.vertexArray.emplaceBack(c[0],c[1],c[2]),r.vertexArray.emplaceBack(h[0],h[1],h[2]),r.vertexArray.emplaceBack(u[0],u[1],u[2]),r.vertexArray.emplaceBack(d[0],d[1],d[2]),r.vertexArray.emplaceBack(c[0],c[1],c[2]),r.vertexArray.emplaceBack(h[0],h[1],h[2]),r.vertexArray.emplaceBack(p[0],p[1],p[2]),r.vertexArray.emplaceBack(f[0],f[1],f[2]);const m=l/t/2;r.colorArray.emplaceBack(-m-s,-1,m,.8),r.colorArray.emplaceBack(m+s,-1,m,.8),r.colorArray.emplaceBack(-m,0,m,1.3),r.colorArray.emplaceBack(m,0,m,1.3),r.colorArray.emplaceBack(m+s,-.8,m,.7),r.colorArray.emplaceBack(m+s,-.8,m,.7),r.colorArray.emplaceBack(0,0,m,1.3),r.colorArray.emplaceBack(0,0,m,1.3),r.colorArray.emplaceBack(m+s,-1.2,m,.8),r.colorArray.emplaceBack(m+s,-1.2,m,.8),r.indexArray.emplaceBack(6+n,4+n,8+n),r.indexArray.emplaceBack(7+n,9+n,5+n),r.indexArray.emplaceBack(0+n,1+n,2+n),r.indexArray.emplaceBack(1+n,3+n,2+n),n+=10}const o={defined:!0,emissiveFactor:[0,0,0]},s={};return s.baseColorFactor=Ur.white,o.pbrMetallicRoughness=s,r.material=o,r.aabb=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),r}fa($y,"TriangleGridIndex");class nx{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n,o);const l=this.grid;for(let c=0;c=0&&i[3]>=0&&l.insert(a,i[0],i[1],i[2],i[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new up(new wm(this.rawTileData)).layers,this.sourceLayerCoder=new nx(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const e in this.vtLayers)this.vtFeatures[e]=[]}return this.vtLayers}query(e,t,i,r){var n=this;this.loadVTLayers();const o=e.params||{},s=rl(o.filter),a=e.tileResult,l=e.transform,c=a.bufferedTilespaceBounds,h=this.grid.query(c.min.x,c.min.y,c.max.x,c.max.y,((e,t,i,r)=>Kh(a.bufferedTilespaceGeometry,e,t,i,r)));h.sort(cx);let u=null;l.elevation&&h.length>0&&(u=Rp.create(l.elevation,this.tileID));const d={};let p;for(let f=0;f3&&void 0!==arguments[3]?arguments[3]:0;return _||(_=Bh(t,n.tileID.canonical,e.tileTransform)),i.queryIntersectsFeature(a,t,r,_,n.z,e.transform,e.pixelPosMatrix,u,o)}))}return d}loadMatchingFeature(e,t,i,r,n,o,s,a,l){const{featureIndex:c,bucketIndex:h,sourceLayerIndex:u,layoutVertexArrayOffset:d}=t,p=this.bucketLayerIDs[h];if(r&&!function(e,t){for(let i=0;i=0)return!0;return!1}(r,p))return;const f=this.sourceLayerCoder.decode(u),m=this.vtLayers[f].feature(c);if(i.needGeometry){const e=Fh(m,!0);if(!i.filter(new Va(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Va(this.tileID.overscaledZ),m))return;const _=this.getId(m,f);for(let g=0;g{const s=t instanceof Qa?t.get(o):null;return s&&s.evaluate?s.evaluate(i,r,n):s}))}function cx(e,t){return t-e}fa(ax,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});const hx=new Float32Array(262144),ux=new Uint8Array(262144);function dx(e){let t=0;if(e.meshes)for(const i of e.meshes)t=Math.max(t,i.aabb.max[2]);if(e.children)for(const i of e.children)t=Math.max(t,dx(i));return t}function px(e,t,i){if(e.meshes)for(const r of e.meshes)r.aabb.min[0]!==1/0&&i.insert(t,r.aabb.min[0],r.aabb.min[1],r.aabb.max[0],r.aabb.max[1]);if(e.children)for(const r of e.children)px(r,t,i)}const fx=["","wall","door","roof","window","lamp","logo"];class mx{constructor(e){this.node=e,this.evaluatedRMEA=[[1,0,0,1],[1,0,0,1],[1,0,0,1],[1,0,0,1],[.4,1,0,1],[1,0,0,1],[1,0,0,1]],this.hiddenByReplacement=!1,this.evaluatedScale=[1,1,1],this.evaluatedColor=[],this.emissionHeightBasedParams=[],this.feature={type:"Point",id:e.id,geometry:[],properties:{height:dx(e)}}}getLocalBounds(){if(!this.node.meshes)return new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]);if(!this.aabb){let e=0;const t=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]);for(const i of this.node.meshes)this.node.lightMeshIndex!==e&&t.encapsulate(i.aabb),e++;this.aabb=mu.applyTransform(t,this.node.matrix)}return this.aabb}}class _x{constructor(e,t,i,r,n,o){this.id=t,this.modelTraits|=sy.CoordinateSpaceTile,this.uploaded=!1,this.hasPattern=!1,i&&(this.modelTraits|=sy.HasMapboxMeshFeatures),r&&(this.modelTraits|=sy.HasMeshoptCompression),this.zoom=-1,this.terrainExaggeration=1,this.projection={name:"mercator"},this.replacementUpdateTime=0,this.elevationReadFromZ=255,this.brightness=n,this.dirty=!0,this.needsUpload=!1,this.nodesInfo=[];for(const s of e)this.nodesInfo.push(new mx(s)),px(s,o.featureIndexArray.length,o.grid),o.featureIndexArray.emplaceBack(this.nodesInfo.length-1,0,o.bucketLayerIDs.length-1,0)}update(){console.log("Update 3D model bucket")}populate(){console.log("populate 3D model bucket")}uploadPending(){return!this.uploaded||this.needsUpload}upload(e){if(!this.needsUpload)return;const t=this.getNodesInfo();for(const i of t){const t=i.node;this.uploaded?this.updatePbrBuffer(t):hy(t,e,!0)}for(const i of t)uy(i.node);this.uploaded=!0,this.needsUpload=!1}updatePbrBuffer(e){let t=!1;if(!e.meshes)return t;for(const i of e.meshes)i.pbrBuffer&&(i.pbrBuffer.updateData(i.featureArray),t=!0);return t}needsReEvaluation(e,t,i){const r=e.transform.projectionOptions,n=e.style.getBrightness(),o=this.brightness!==n;return!!(!this.uploaded||this.dirty||r.name!==this.projection.name||gx(i.paint.get("model-color").value,o)||gx(i.paint.get("model-color-mix-intensity").value,o)||gx(i.paint.get("model-roughness").value,o)||gx(i.paint.get("model-emissive-strength").value,o)||gx(i.paint.get("model-height-based-emissive-strength-multiplier").value,o))&&(this.projection=r,this.brightness=n,!0)}evaluateScale(e,t){if(e.transform.zoom===this.zoom)return;this.zoom=e.transform.zoom;const i=this.getNodesInfo(),r=this.id.canonical;for(const n of i){const e=n.feature;n.evaluatedScale=t.paint.get("model-scale").evaluate(e,{},r)}}evaluate(e){const t=this.getNodesInfo();for(const i of t){if(!i.node.meshes)continue;const t=i.feature,r=i.node.meshes&&i.node.meshes[0].featureData,n=i.evaluatedColor[2],o=i.evaluatedRMEA[2],s=this.id.canonical;if(i.hasTranslucentParts=!1,r){for(let r=0;r=s)continue;const u=hx[c],d=Math.abs(u);d>a&&(n=u,a=d,l=r,h=t)}if(a>.1){const o=1-(s+.5*Math.abs(l*h))/c;let a=t._dem.get(i,e)+n*o;const u=t._dem.get(i+l,e+h),d=t._dem.get(i-l,e-h,!0);(a-u)*(a-d)>0&&(a=(u+d)/2),hx[r]=t._dem.set(i,e,a),ux[r]=s}}}}}s&&(t._demTile.needsDEMTextureUpload=!0,t._dem._timestamp=zi.now())}getNodesInfo(){return this.nodesInfo}destroy(){const e=this.getNodesInfo();for(const t of e)uy(t.node),dy(t.node)}isEmpty(){return!this.nodesInfo.length}updateReplacement(e,t){if(t.updateTime===this.replacementUpdateTime)return;this.replacementUpdateTime=t.updateTime;const i=t.getReplacementRegionsForTile(e.toUnwrapped()),r=this.getNodesInfo();for(let n=0;nt.footprint===e.footprint))}}getHeightAtTileCoord(t,i){const r=this.getNodesInfo(),n=[],o=[0,0,0];for(let s=0;sc.max[0]||i>c.max[1])continue;const h=(t-l.aabb.min[0])/(l.aabb.max[0]-l.aabb.min[0])*oy|0,u=Math.min(63,(i-l.aabb.min[1])/(l.aabb.max[1]-l.aabb.min[1])*oy|0)*oy+Math.min(63,h);if(o[2]=l.heightmap[u],e.Q.transformMat4(o,o,a.node.matrix),!(l.heightmap[u]<0&&a.node.footprint)){if(a.hiddenByReplacement)return;return{height:o[2],maxHeight:a.feature.properties.height,hidden:!1,verticalScale:a.evaluatedScale[2]}}if(a.node.footprint.grid.query(new Vt(t,i),new Vt(t,i),n),n.length>0)return{height:void 0,maxHeight:a.feature.properties.height,hidden:a.hiddenByReplacement,verticalScale:a.evaluatedScale[2]}}}}function gx(e,t){return!e.isLightConstant&&t}function yx(e,t,i,r,n,o,s,a){let l=(61440&t|(61440&t)>>4)>>8,c=(3840&t|(3840&t)>>4)>>4,h=240&t|(240&t)>>4;i[3]>0&&(l=jr(l,255*i[0],i[3]),c=jr(c,255*i[1],i[3]),h=jr(h,255*i[2],i[3]));const u=l<<8|c,d=h<<8|Math.floor(255*r[3]),p=function(e){const t=Ht(e,0,2);return Math.min(Math.round(.5*t*255),255)}(r[2])<<8|15*r[0]<<4|15*r[1],f=Ht(n[0],0,1),m=Ht(n[1],0,1),_=Ht(n[2],0,1),g=Ht(n[3],0,1);let y,x,v,b;if(f!==m&&s!==o&&m!==f){const e=s-o;x=1/(e*(m-f)),v=-(o+e*f)/(e*(m-f));const t=Ht(n[4],-1,1);b=Math.pow(10,t),y=255*_<<8|255*g}else y=65535,x=0,v=1,b=1;if(e.emplaceBack(u,d,p,y,x,v,b),a){const e=a.length;a.clear();for(let t=0;t>16&65535,a=o?t>>16&65535:65535&t,l=(15&a)<8?15&a:0,c=e.evaluatedRMEA[l],h=e.evaluatedColor[l],u=e.emissionHeightBasedParams[l];let d;if(i&&2===l&&r.lights&&(d=new Jl,d.resize(10*r.lights.length)),yx(s.featureArray,n,h,c,u,s.aabb.min[2],s.aabb.max[2],d),d&&i){i=!1;const e=r.meshes[r.lightMeshIndex];e.featureArray=d,e.featureArray._trim()}}s.featureArray._trim(),n++}}function vx(e,t,i,r){const n=1<e.polygon)).flat());const g=f?l:null,[y,x]=function(t,i,r,n,o,s,a,l,c,h,u){return"globe"===t.projection.name?function(t,i,r,n,o,s,a,l,c,h,u){const d=[],p=[],f=t.projection.upVectorScale(u,t.center.lat,t.worldSize).metersToTile,m=[0,0,0,1],_=[0,0,0,1],g=(e,t,i,r)=>{e[0]=t,e[1]=i,e[2]=r,e[3]=1},y=sf();r>0&&(r+=y),n+=y;for(const x of i){const i=[],y=[];for(const d of x){const p=d.x+o.x,x=d.y+o.y,v=t.projection.projectTilePoint(p,x,u),b=t.projection.upVector(u,d.x,d.y);let w=r,T=n;if(a){const e=ff(p,x,r,n,a,l,c,h);w+=e.base,T+=e.top}0!==r?g(m,v.x+b[0]*f*w,v.y+b[1]*f*w,v.z+b[2]*f*w):g(m,v.x,v.y,v.z),g(_,v.x+b[0]*f*T,v.y+b[1]*f*T,v.z+b[2]*f*T),e.Q.transformMat4(m,m,s),e.Q.transformMat4(_,_,s),i.push(new uf(m[0],m[1],m[2])),y.push(new uf(_[0],_[1],_[2]))}d.push(i),p.push(y)}return[d,p]}(t,i,r,n,o,s,a,l,c,h,u):a?function(t,i,r,n,o,s,a,l,c){const h=[],u=[],d=[0,0,0,1];for(const p of t){const t=[],f=[];for(const h of p){const u=h.x+n.x,p=h.y+n.y,m=ff(u,p,i,r,s,a,l,c);d[0]=u,d[1]=p,d[2]=m.base,d[3]=1,e.aa.transformMat4(d,d,o),d[3]=Math.max(d[3],1e-5);const _=new uf(d[0]/d[3],d[1]/d[3],d[2]/d[3]);d[0]=u,d[1]=p,d[2]=m.top,d[3]=1,e.aa.transformMat4(d,d,o),d[3]=Math.max(d[3],1e-5);const g=new uf(d[0]/d[3],d[1]/d[3],d[2]/d[3]);t.push(_),f.push(g)}h.push(t),u.push(f)}return[h,u]}(i,r,n,o,s,a,l,c,h):function(e,t,i,r,n){const o=[],s=[],a=n[8]*t,l=n[9]*t,c=n[10]*t,h=n[11]*t,u=n[8]*i,d=n[9]*i,p=n[10]*i,f=n[11]*i;for(const m of e){const e=[],t=[];for(const i of m){const o=i.x+r.x,s=i.y+r.y,m=n[0]*o+n[4]*s+n[12],_=n[1]*o+n[5]*s+n[13],g=n[2]*o+n[6]*s+n[14],y=n[3]*o+n[7]*s+n[15],x=m+a,v=_+l,b=g+c,w=Math.max(y+h,1e-5),T=m+u,E=_+d,S=g+p,M=Math.max(y+f,1e-5);e.push(new uf(x/w,v/w,b/w)),t.push(new uf(T/M,E/M,S/M))}o.push(e),s.push(t)}return[o,s]}(i,r,n,o,s)}(s,n,d,u,h,a,g,p,m,s.center.lat,t.tileID.canonical),v=t.queryGeometry;return function(e,t,i){let r=1/0;qh(i,t)&&(r=pf(i,t[0]));for(let n=0;n=3)for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.first=null,this.items=Object.create(null),this.last=null,this.max=e,this.resetTtl=i,this.size=0,this.ttl=t}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(e){if(this.has(e)){const t=this.items[e];delete this.items[e],this.size--,null!==t.prev&&(t.prev.next=t.next),null!==t.next&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),this.last===t&&(this.last=t.prev)}return this}entries(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.keys()).map((e=>[e,this.get(e)]))}evict(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||this.size>0){const e=this.first;delete this.items[e.key],0==--this.size?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}return this}expiresAt(e){let t;return this.has(e)&&(t=this.items[e].expiry),t}get(e){let t;if(this.has(e)){const i=this.items[e];this.ttl>0&&i.expiry<=Date.now()?this.delete(e):(t=i.value,this.set(e,t,!0))}return t}has(e){return e in this.items}keys(){const e=[];let t=this.first;for(;null!==t;)e.push(t.key),t=t.next;return e}set(e,t){let i,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.resetTtl;if(r||this.has(e)){if(i=this.items[e],i.value=t,!1===r&&n&&(i.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==i){const e=this.last,t=i.next,r=i.prev;this.first===i&&(this.first=i.next),i.next=null,i.prev=this.last,e.next=i,null!==r&&(r.next=t),null!==t&&(t.prev=r)}}else this.max>0&&this.size===this.max&&this.evict(!0),i=this.items[e]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:t},1==++this.size?this.first=i:this.last.next=i;return this.last=i,this}values(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.keys()).map((e=>this.get(e)))}}function Sx(e,t){if(4!==t.length)throw new Error(`Expected data of dimension 4 but got ${t.length}.`);let i=t[3];for(let r=2;r>=1;r--){const n=1===r?1:0,o=2===r?1:0;for(let r=0;r>>1^-(1&e[t]);return e}function Ax(e,t){switch(t){case"uint32":return e;case"uint16":for(let t=0;t>4|(61440&i)>>8|(240&r)<<4|61440&r,e[t+1]=15&i|(3840&i)>>4|(15&r)<<8|(3840&r)<<4}return e;case"uint8":for(let t=0;t>6|(192&r)>>4|(192&n)>>2|192&o,e[t+1]=(48&i)>>4|(48&r)>>2|48&n|(48&o)<<2,e[t+2]=(12&i)>>2|12&r|(12&n)<<2|(12&o)<<4,e[t+3]=3&i|(3&r)<<2|(3&n)<<4|(3&o)<<6}return e;default:throw new Error(`Invalid pixel format, "${t}"`)}}class Ix extends Error{constructor(e){super(e),this.name="MRTError"}}var Cx=Uint8Array,Px=Uint16Array,zx=Int32Array,Dx=new Cx([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Rx=new Cx([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Lx=new Cx([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),kx=function(e,t){for(var i=new Px(31),r=0;r<31;++r)i[r]=t+=1<>1|(21845&Ux)<<1;Vx[Ux]=((65280&(jx=(61680&(jx=(52428&jx)>>2|(13107&jx)<<2))>>4|(3855&jx)<<4))>>8|(255&jx)<<8)>>1}var Gx=function(e,t,i){for(var r=e.length,n=0,o=new Px(t);n>l]=c}else for(s=new Px(r),n=0;n>15-e[n]);return s},qx=new Cx(288);for(Ux=0;Ux<144;++Ux)qx[Ux]=8;for(Ux=144;Ux<256;++Ux)qx[Ux]=9;for(Ux=256;Ux<280;++Ux)qx[Ux]=7;for(Ux=280;Ux<288;++Ux)qx[Ux]=8;var Zx=new Cx(32);for(Ux=0;Ux<32;++Ux)Zx[Ux]=5;var $x=Gx(qx,9,1),Wx=Gx(Zx,5,1),Qx=function(e){for(var t=e[0],i=1;it&&(t=e[i]);return t},Hx=function(e,t,i){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&i},Xx=function(e,t){var i=t/8|0;return(e[i]|e[i+1]<<8|e[i+2]<<16)>>(7&t)},Yx=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Kx=function(e,t,i){var r=new Error(t||Yx[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Kx),!i)throw r;return r},Jx=new Cx(0),ev="undefined"!=typeof TextDecoder&&new TextDecoder;try{ev.decode(Jx,{stream:!0})}catch(e){}const tv={gzip_data:"gzip"},iv={0:"uint32",1:"uint32",2:"uint16",3:"uint8"},rv={uint32:1,uint16:2,uint8:4},nv={uint32:Uint32Array,uint16:Uint16Array,uint8:Uint8Array};class ov{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.x=NaN,this.y=NaN,this.z=NaN,this.layers={},this._cacheSize=e}getLayer(e){return this.layers[e]}getHeaderLength(e){const t=new Uint8Array(e),i=new DataView(e);if(13!==t[0])throw new Ix("File is not a valid MRT.");return i.getUint32(1,!0)}parseHeader(e){const t=new Uint8Array(e),i=this.getHeaderLength(e);if(t.length= ${i} but got buffer of length ${t.length}`);const r=new wm(t.subarray(0,i)),n=wx.read(r);if(!isNaN(this.x)&&(this.x!==n.x||this.y!==n.y||this.z!==n.z))throw new Ix(`Invalid attempt to parse header ${n.z}/${n.x}/${n.y} for tile ${this.z}/${this.x}/${this.y}`);this.x=n.x,this.y=n.y,this.z=n.z;for(const o of n.layers)this.layers[o.name]=new sv(o,{cacheSize:this._cacheSize});return this}createDecodingTask(e){const t=[],i=this.getLayer(e.layerName);for(let r=0;re.lastBlock)continue;if(i._blocksInProgress.has(r))continue;const a={layerName:i.name,firstByte:o,lastByte:s,pixelFormat:i.pixelFormat,blockIndex:r,blockShape:[n.bands.length].concat(i.bandShape),buffer:i.buffer,codec:n.codec.codec,filters:n.filters.map((e=>e.filter))};i._blocksInProgress.add(r),t.push(a)}return new av(t,(()=>{t.forEach((e=>i._blocksInProgress.delete(e.blockIndex)))}),((e,r)=>{if(t.forEach((e=>i._blocksInProgress.delete(e.blockIndex))),e)throw e;r.forEach((e=>{this.getLayer(e.layerName).processDecodedData(e)}))}))}}class sv{constructor(e,t){let{version:i,name:r,units:n,tilesize:o,pixel_format:s,buffer:a,data_index:l}=e;if(this.version=i,1!==this.version)throw new Ix(`Cannot parse raster layer encoded with MRT version ${i}`);this.name=r,this.units=n,this.tileSize=o,this.buffer=a,this.pixelFormat=iv[s],this.dataIndex=l,this.bandShape=[o+2*a,o+2*a,rv[this.pixelFormat]],this._decodedBlocks=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(isNaN(e)||e<0)throw new TypeError("Invalid max value");if(isNaN(t)||t<0)throw new TypeError("Invalid ttl value");if("boolean"!=typeof i)throw new TypeError("Invalid resetTtl value");return new Ex(e,t,i)}(t?t.cacheSize:5),this._blocksInProgress=new Set}processDecodedData(e){const t=e.blockIndex.toString();this._decodedBlocks.get(t)||this._decodedBlocks.set(t,e.data)}getBlockForBand(e){let t=0;switch(typeof e){case"string":for(const[i,r]of this.dataIndex.entries()){for(const[n,o]of r.bands.entries())if(o===e)return{bandIndex:t+n,blockIndex:i,blockBandIndex:n};t+=r.bands.length}break;case"number":for(const[i,r]of this.dataIndex.entries()){if(e>=t&&e=0}hasDataForBand(e){const{blockIndex:t}=this.getBlockForBand(e);return t>=0&&!!this._decodedBlocks.get(t.toString())}getBandView(e){const{blockIndex:t,blockBandIndex:i}=this.getBlockForBand(e),r=this._decodedBlocks.get(t.toString());if(!r)throw new Ix(`Data for band ${JSON.stringify(e)} of layer "${this.name}" not decoded.`);const n=this.dataIndex[t],o=this.bandShape.reduce(((e,t)=>e*t),1),s=i*o,a=r.subarray(s,s+o);return{data:a,bytes:new Uint8Array(a.buffer).subarray(a.byteOffset,a.byteOffset+a.byteLength),tileSize:this.tileSize,buffer:this.buffer,offset:n.offset,scale:n.scale}}}class av{constructor(e,t,i){this.tasks=e,this._onCancel=t,this._onComplete=i,this._finalized=!1}cancel(){this._finalized||(this._onCancel(),this._finalized=!0)}complete(e,t){this._finalized||(this._onComplete(e,t),this._finalized=!0)}}ov.performDecoding=function(e,t){return Promise.all(t.tasks.map((t=>{const{layerName:i,firstByte:r,lastByte:n,pixelFormat:o,blockShape:s,blockIndex:a,filters:l,codec:c}=t,h=new Uint8Array(e).subarray(r,n+1),u=new Uint32Array(s[0]*s[1]*s[2]);let d;if("gzip_data"!==c)throw new Error(`Unhandled codec: ${c}`);return d=function(e,t){if(!globalThis.DecompressionStream&&"gzip_data"===t)return Promise.resolve(((o=function(e){31==e[0]&&139==e[1]&&8==e[2]||Kx(6,"invalid gzip data");var t=e[3],i=10;4&t&&(i+=2+(e[10]|e[11]<<8));for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[i++]);return i+(2&t)}(n=e))+8>n.length&&Kx(6,"invalid gzip data"),function(e,t,i,r){var n=e.length;if(!n||t.f&&!t.l)return i||new Cx(0);var o=!i,s=o||2!=t.i,a=t.i;o&&(i=new Cx(3*n));var l,c,h=function(e){var t=i.length;if(e>t){var r=new Cx(Math.max(2*t,e));r.set(i),i=r}},u=t.f||0,d=t.p||0,p=t.b||0,f=t.l,m=t.d,_=t.m,g=t.n,y=8*n;do{if(!f){u=Hx(e,d,1);var x=Hx(e,d+1,3);if(d+=3,!x){var v=e[(z=4+((d+7)/8|0))-4]|e[z-3]<<8,b=z+v;if(b>n){a&&Kx(0);break}s&&h(p+v),i.set(e.subarray(z,b),p),t.b=p+=v,t.p=d=8*b,t.f=u;continue}if(1==x)f=$x,m=Wx,_=9,g=5;else if(2==x){var w=Hx(e,d,31)+257,T=Hx(e,d+10,15)+4,E=w+Hx(e,d+5,31)+1;d+=14;for(var S=new Cx(E),M=new Cx(19),A=0;A>4)<16)S[A++]=z;else{var R=0,L=0;for(16==z?(L=3+Hx(e,d,3),d+=2,R=S[A-1]):17==z?(L=3+Hx(e,d,7),d+=3):18==z&&(L=11+Hx(e,d,127),d+=7);L--;)S[A++]=R}}var k=S.subarray(0,w),O=S.subarray(w);_=Qx(k),g=Qx(O),f=Gx(k,_,1),m=Gx(O,g,1)}else Kx(1);if(d>y){a&&Kx(0);break}}s&&h(p+131072);for(var B=(1<<_)-1,F=(1<>4;if((d+=15&R)>y){a&&Kx(0);break}if(R||Kx(2),V<256)i[p++]=V;else{if(256==V){N=d,f=null;break}var U=V-254;V>264&&(U=Hx(e,d,(1<<(q=Dx[A=V-257]))-1)+Bx[A],d+=q);var j=m[Xx(e,d)&F],G=j>>4;if(j||Kx(3),d+=15&j,O=Nx[G],G>3){var q=Rx[G];O+=Xx(e,d)&(1<y){a&&Kx(0);break}s&&h(p+131072);var Z=p+U;if(pl.length)&&(c=l.length),new Cx(l.subarray(0,c))):i.subarray(0,p)}(n.subarray(o,-8),{i:2},new Cx(((i=n)[(r=i.length)-4]|i[r-3]<<8|i[r-2]<<16|i[r-1]<<24)>>>0))));var i,r,n,o;const s=tv[t];if(!s)throw new Error(`Unhandled codec: ${t}`);const a=new globalThis.DecompressionStream(s);return new Response(new Blob([e]).stream().pipeThrough(a)).arrayBuffer().then((e=>new Uint8Array(e)))}(h,c).then((e=>{const t=Tx.read(new wm(e));if("uint32_values"===t.values)return t.uint32_values.readValuesInto(u),new(0,nv[o])(u.buffer);throw new Error(`Unhandled numeric data "${t.values}"`)})),d.then((e=>{for(let t=l.length-1;t>=0;t--)switch(l[t]){case"delta_filter":Sx(e,s);break;case"zigzag_filter":Mx(e);break;case"bitshuffle_filter":Ax(e,o);break;default:throw new Error(`Unhandled filter "${l[t]}"`)}return{layerName:i,blockIndex:a,data:e}})).catch((e=>{throw e}))})))},fa(av,"MRTDecodingBatch",{omit:["_onCancel","_onComplete"]});const lv=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class cv{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,i]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const r=i>>4;if(1!==r)throw new Error(`Got v${r} data when expected v1.`);const n=lv[15&i];if(!n)throw new Error("Unrecognized array type.");const[o]=new Uint16Array(e,2,1),[s]=new Uint32Array(e,4,1);return new cv(s,o,n,e)}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,r=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=i,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const n=lv.indexOf(this.ArrayType),o=2*e*this.ArrayType.BYTES_PER_ELEMENT,s=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-s%8)%8;if(n<0)throw new Error(`Unexpected typed array class: ${i}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+s+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+o+s+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+s+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+n]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=e,this.coords[this._pos++]=t,i}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return hv(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:o,nodeSize:s}=this,a=[0,n.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,h=a.pop()||0,u=a.pop()||0;if(h-u<=s){for(let s=u;s<=h;s++){const a=o[2*s],c=o[2*s+1];a>=e&&a<=i&&c>=t&&c<=r&&l.push(n[s])}continue}const d=u+h>>1,p=o[2*d],f=o[2*d+1];p>=e&&p<=i&&f>=t&&f<=r&&l.push(n[d]),(0===c?e<=p:t<=f)&&(a.push(u),a.push(d-1),a.push(1-c)),(0===c?i>=p:r>=f)&&(a.push(d+1),a.push(h),a.push(1-c))}return l}within(e,t,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:n,nodeSize:o}=this,s=[0,r.length-1,0],a=[],l=i*i;for(;s.length;){const c=s.pop()||0,h=s.pop()||0,u=s.pop()||0;if(h-u<=o){for(let i=u;i<=h;i++)fv(n[2*i],n[2*i+1],e,t)<=l&&a.push(r[i]);continue}const d=u+h>>1,p=n[2*d],f=n[2*d+1];fv(p,f,e,t)<=l&&a.push(r[d]),(0===c?e-i<=p:t-i<=f)&&(s.push(u),s.push(d-1),s.push(1-c)),(0===c?e+i>=p:t+i>=f)&&(s.push(d+1),s.push(h),s.push(1-c))}return a}}function hv(e,t,i,r,n,o){if(n-r<=i)return;const s=r+n>>1;uv(e,t,s,r,n,o),hv(e,t,i,r,s-1,1-o),hv(e,t,i,s+1,n,1-o)}function uv(e,t,i,r,n,o){for(;n>r;){if(n-r>600){const s=n-r+1,a=i-r+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);uv(e,t,i,Math.max(r,Math.floor(i-a*c/s+h)),Math.min(n,Math.floor(i+(s-a)*c/s+h)),o)}const s=t[2*i+o];let a=r,l=n;for(dv(e,t,r,i),t[2*n+o]>s&&dv(e,t,r,n);as;)l--}t[2*r+o]===s?dv(e,t,r,l):(l++,dv(e,t,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function dv(e,t,i,r){pv(e,i,r),pv(t,2*i,2*r),pv(t,2*i+1,2*r+1)}function pv(e,t,i){const r=e[t];e[t]=e[i],e[i]=r}function fv(e,t,i,r){const n=e-i,o=t-r;return n*n+o*o}e.$=class{constructor(e){this.specification=e}possiblyEvaluate(e,t){return function(e){let[t,i]=e;const r=fi([1,t,i]);return{x:r.x,y:r.y,z:r.z}}(e.expression.evaluate(t))}interpolate(e,t,i){return{x:jr(e.x,t.x,i),y:jr(e.y,t.y,i),z:jr(e.z,t.z,i)}}},e.A=il,e.B=Ws,e.C=Pn,e.D=qs,e.E=kr,e.F=function(e){const t=e.value;let i=[];if(!t)return i;const r=Sn(t);return"string"!==r?(i=i.concat([new Kg(e.key,t,`string expected, "${r}" found`)]),i):(Jg(t,!0)||(i=i.concat([new Kg(e.key,t,`invalid url "${t}"`)])),i)},e.G=tl,e.H=Ka,e.I=e_,e.J=Ha,e.K=class{constructor(e){this.specification=e}possiblyEvaluate(e,t){return fi(e.expression.evaluate(t))}interpolate(e,t,i){return{x:jr(e.x,t.x,i),y:jr(e.y,t.y,i),z:jr(e.z,t.z,i),azimuthal:jr(e.azimuthal,t.azimuthal,i),polar:jr(e.polar,t.polar,i)}}},e.L=Ga,e.M=class{constructor(e,t,i,r){this.id=e,this.position=null!=t?new sh(t[0],t[1]):new sh(0,0),this.orientation=null!=i?i:[0,0,0],this.nodes=r,this.uploaded=!1,this.aabb=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),this.matrix=[]}_applyTransformations(t,i){if(e.a9.multiply(t.matrix,i,t.matrix),t.meshes)for(const e of t.meshes){const i=mu.applyTransform(e.aabb,t.matrix);this.aabb.encapsulate(i)}if(t.children)for(const e of t.children)this._applyTransformations(e,t.matrix)}computeBoundsAndApplyParent(){const t=e.a9.identity([]);for(const e of this.nodes)this._applyTransformations(e,t)}computeModelMatrix(e,t,i,r,n,o){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];ay(this.matrix,this,e.transform,this.position,t,i,r,n,o,s)}upload(e){if(!this.uploaded){for(const t of this.nodes)hy(t,e);for(const e of this.nodes)uy(e);this.uploaded=!0}}destroy(){for(const e of this.nodes)dy(e)}},e.N=Va,e.O=Ch,e.P=Vt,e.R=Hi,e.S=Xt,e.T=xg,e.U=Qa,e.V=Kg,e.W=Nu,e.X=jr,e.Y=no,e.Z=oa,e._=Gr,e.a=Lr,e.a$=oi,e.a0=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=new Vt(i,i),o=e.sub(n),s=t.add(n),a=[o,new Vt(s.x,o.y),s,new Vt(o.x,s.y)];return r&&a.push(o.clone()),a},e.a1=function(e,t){const i=[];for(let r=0;r2&&void 0!==arguments[2]?arguments[2]:0;return e.Q.fromValues(((i.x-r)*t.scale-t.x)*no,(i.y*t.scale-t.y)*no,Th(i.z,i.y))},e.a5=lu,e.a6=If,e.a7=function(e){let t=1/0,i=1/0,r=-1/0,n=-1/0;for(const o of e)t=Math.min(t,o.x),i=Math.min(i,o.y),r=Math.max(r,o.x),n=Math.max(n,o.y);return{min:new Vt(t,i),max:new Vt(r,n)}},e.a8=yh,e.aA=Ur,e.aB=Tl,e.aC=Rs,e.aD=ec,e.aE=mc,e.aF=ti,e.aG=rc,e.aH=cg,e.aI=function(){Na.isLoading()||Na.isLoaded()||"deferred"!==Ba()||Fa()},e.aJ=rl,e.aK=Fh,e.aL=sx,e.aM=_i,e.aN=Sf,e.aO=qd,e.aP=Bh,e.aQ=Sl,e.aR=Xl,e.aS=xu,e.aT=Nd,e.aU=yg,e.aV=function(t,i){const r=Nu(i.zoom);if(0===r)return Su(t);const n=Cu(t),o=Pu(n),s=yh(n.getWest())*i.worldSize,a=yh(n.getEast())*i.worldSize,l=xh(n.getNorth())*i.worldSize,c=xh(n.getSouth())*i.worldSize,h=[s,l,0],u=[a,l,0],d=[s,c,0],p=[a,c,0],f=e.a9.invert([],i.globeMatrix);return e.Q.transformMat4(h,h,f),e.Q.transformMat4(u,u,f),e.Q.transformMat4(d,d,f),e.Q.transformMat4(p,p,f),o[0]=Mu(o[0],d,r),o[1]=Mu(o[1],p,r),o[2]=Mu(o[2],u,r),o[3]=Mu(o[3],h,r),mu.fromPoints(o)},e.aW=Lu,e.aX=zu,e.aY=Mu,e.aZ=Ml,e.a_=yu,e.ab=Yh,e.ac=zh,e.ad=Ht,e.ae=Qc,e.af=function(e,t){const i={};for(let r=0;r{r(e,i)}),t):r(e,i),()=>{}}return n.callbacks.push(r),n.cancel||(n.cancel=i(((i,r)=>{n.result=[i,r];for(const e of n.callbacks)this.scheduler?this.scheduler.add((()=>{e(i,r)}),t):e(i,r);setTimeout((()=>delete this.entries[e]),3e3)}))),()=>{n.result||(n.callbacks=n.callbacks.filter((e=>e!==r)),n.callbacks.length||(n.cancel(),delete this.entries[e]))}}},e.aj=_l,e.ak=function(e,t,i){const r=JSON.stringify(e.request);return e.data&&(this.deduped.entries[r]={result:[null,e.data]}),this.deduped.request(r,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom},(t=>{const r=Ji(e.request,((e,r,n,o)=>{e?t(e):r&&t(null,{vectorTile:i?void 0:new up(new wm(r)),rawData:r,cacheControl:n,expires:o})}));return()=>{r.cancel(),t()}}),t)},e.al=function(e){Ui++,Ui>Fi&&(e.getActor().send("enforceCacheSizeLimit",Bi),Ui=0)},e.am=fr,e.an=Pi,e.ao=function(e){return e<=1?1:Math.pow(2,Math.floor(Math.log(e)/Math.LN2))},e.ap=dh,e.aq=Mg,e.ar=Cg,e.as=Eg,e.at=function(e,t){const i=document.createElement("video");i.muted=!0,i.onloadstart=function(){t(null,i)};for(let r=0;r{}}},e.au=vg,e.av=z_,e.aw=bh,e.ax=wh,e.ay=Al,e.az=Gl,e.b=Rr,e.b$=a_,e.b0=ov,e.b1=Ji,e.b2=function(e){const t=[];for(const i in e)t.push(e[i]);return t},e.b3=function(e,t){const i=[];for(const r in e)r in t||i.push(r);return i},e.b4=Kt,e.b5=["type","source","source-layer","minzoom","maxzoom","filter","layout"],e.b6=function(t,i){const{x:r,y:n}=t.point,o=Fu(r,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return e.a9.multiply(o,o,ku(Su(i)))},e.b8=Qf,e.b9=Im,e.bA=Xc,e.bB=function(t){const i=e.a9.identity(new Float64Array(16));e.a9.multiply(i,t.pixelMatrix,t.globeMatrix);const r=[0,eh,0],n=[0,th,0];return e.Q.transformMat4(r,r,i),e.Q.transformMat4(n,n,i),[r[0]>0&&r[0]<=t.width&&r[1]>0&&r[1]<=t.height&&!Uu(t,new sh(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Uu(t,new sh(t.center.lat,-90))]},e.bC=function(t,i){const{scale:r}=t.tileTransform,n=r*no/(t.tileSize*Math.pow(2,i.zoom-t.tileID.overscaledZ+t.tileID.canonical.z));return e.b7.scale(new Float32Array(4),i.inverseAdjustmentMatrix,[n,n])},e.bD=Bg,e.bE=kg,e.bF=function(t){const i=kg(t,!0);return e.b7.invert([],[i[0],i[1],i[4],i[5]])},e.bG=cu,e.bH=function(e){const{x:t,y:i}=e.point,{lng:r,lat:n}=e._center;return Fu(t,i,e.worldSize,r,n)},e.bI=qt,e.bJ=Hc,e.bK=function(e){const t=Math.round((e+45+360)%360/90)%4;return Zt[t]},e.bL=45,e.bM=gh,e.bN=zc,e.bO=Mc,e.bP=Ac,e.bQ=Sc,e.bR=Ec,e.bS=Ic,e.bT=function(e,t,i){const r=Math.sqrt(e*e+t*t+i*i),n=r>0?Math.acos(i/r)*jt:0;let o=0!==e||0!==t?Math.atan2(-t,-e)*jt+90:0;return o<0&&(o+=360),[r,o,n]},e.bU=Ih,e.bV=mu,e.bW=fi,e.bX=function(e){return[Math.pow(e[0],1/2.2),Math.pow(e[1],1/2.2),Math.pow(e[2],1/2.2)]},e.bY=function(e){return e({pluginStatus:Da,pluginURL:Ra}),Oa.on("pluginStateChange",e),e},e.bZ=_y,e.b_=wy,e.ba=Wf,e.bb=function(e,t,i,r,n){const o=5*t+2;e.float32[o+0]=i,e.float32[o+1]=r,e.float32[o+2]=n},e.bc=og,e.bd=Ym,e.be=jh,e.bf=qf,e.bg=b_,e.bh=v_,e.bi=Nm,e.bj=cv,e.bk=Yt,e.bm=Gt,e.bn=Si,e.bo=vh,e.bp=function(e,t,i){e[4*t+0]=i[0],e[4*t+1]=i[1],e[4*t+2]=i[2],e[4*t+3]=i[3]},e.bq=sh,e.br=J_,e.bs=uh,e.bt=fu,e.bu=Og,e.bv=hh,e.bw=Iu,e.bx=function(e,t,i,r,n,o,s,a,l){if("globe"===l.name)return Iu(e,t,new hh(i,r,n),!1);const c=z_({z:i,x:r,y:n},l);return new mu([(o+c.x/c.scale)*t,t*(c.y/c.scale),s],[(o+c.x2/c.scale)*t,t*(c.y2/c.scale),a])},e.by=function(e,t,i){let r=0;for(let n=0;n<2;++n){const i=0;e[n]>i&&(r+=(e[n]-i)*(e[n]-i)),t[n]=0?e.slice(0,t):e},e.c9=function(e){return e.indexOf(ml)>=0},e.cA=e=>({u_matrix:new zc(e),u_pixels_to_tile_units:new Lc(e),u_device_pixel_ratio:new Sc(e),u_units_to_pixels:new Mc(e),u_dash_image:new Ec(e),u_gradient_image:new Ec(e),u_image_height:new Sc(e),u_texsize:new Mc(e),u_tile_units_to_pixels:new Sc(e),u_alpha_discard_threshold:new Sc(e),u_trim_offset:new Mc(e),u_emissive_strength:new Sc(e)}),e.cB=e=>({u_matrix:new zc(e),u_texsize:new Mc(e),u_pixels_to_tile_units:new Lc(e),u_device_pixel_ratio:new Sc(e),u_image:new Ec(e),u_units_to_pixels:new Mc(e),u_tile_units_to_pixels:new Sc(e),u_alpha_discard_threshold:new Sc(e),u_trim_offset:new Mc(e)}),e.cC=Ul,e.cD=Gf,e.cE=Hf,e.cF=$u,e.cG=(e,t,i,r,n,o)=>{const s=e.transform,a="globe"===s.projection.name;let l;if("map"===o.paint.get("circle-pitch-alignment"))if(a){const e=Bu(s.zoom,t.canonical)*s._pixelsPerMercatorPixel;l=Float32Array.from([e,0,0,e])}else l=s.calculatePixelsToTileUnitsMatrix(i);else l=new Float32Array([s.pixelsToGLUnits[0],0,0,s.pixelsToGLUnits[1]]);const c={u_camera_to_center_distance:e.transform.getCameraToCenterDistance(s.projection),u_matrix:e.translatePosMatrix(t.projMatrix,i,o.paint.get("circle-translate"),o.paint.get("circle-translate-anchor")),u_device_pixel_ratio:zi.devicePixelRatio,u_extrude_scale:l,u_inv_rot_matrix:Zu,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0],u_emissive_strength:o.paint.get("circle-emissive-strength")};if(a){c.u_inv_rot_matrix=r,c.u_merc_center=n,c.u_tile_id=[t.canonical.x,t.canonical.y,1<{const s=e.transform;return{u_matrix:Pf(e,t,i,r),u_texsize:t.imageAtlasTexture?t.imageAtlasTexture.size:[0,0],u_pixels_to_tile_units:s.calculatePixelsToTileUnitsMatrix(t),u_device_pixel_ratio:n,u_image:0,u_tile_units_to_pixels:Cf(t,s),u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]],u_alpha_discard_threshold:0,u_trim_offset:o}},e.cJ=(e,t,i,r,n,o,s)=>{const a=e.transform,l=a.calculatePixelsToTileUnitsMatrix(t);return{u_matrix:Pf(e,t,i,r),u_pixels_to_tile_units:l,u_device_pixel_ratio:o,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:n,u_texsize:Df(i)&&t.lineAtlasTexture?t.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Cf(t,e.transform),u_alpha_discard_threshold:0,u_trim_offset:s,u_emissive_strength:i.paint.get("line-emissive-strength")}},e.cK=ri,e.cL=ad,e.cM=sf,e.cN=fh,e.cO=Yp,e.cP=Vp,e.cQ=450,e.cR=7,e.cS=Sg,e.cT=256,e.cU=ku,e.cV=Yl,e.cW=Wl,e.cX=Ql,e.cY=function(e,t,i,r,n){return Ht((e-t)/(i-t)*(n-r)+r,r,n)},e.cZ=Mh,e.c_=Gg,e.ca=function(e){const t=e.indexOf(ml);return t>=0?e.slice(t+1):""},e.cb=function(e){const t=[],i=e.id;return void 0===i&&t.push({message:`layers.${i}: missing required property "id"`}),void 0===e.render&&t.push({message:`layers.${i}: missing required method "render"`}),e.renderingMode&&"2d"!==e.renderingMode&&"3d"!==e.renderingMode&&t.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),t},e.cc=li,e.cd=Oa,e.ce=Ki,e.cf=Cc,e.cg=class extends Tc{constructor(e){super(e),this.current=Dc}set(e,t,i){if(this.fetchUniformLocation(e,t))for(let r=0;r<9;r++)if(i[r]!==this.current[r]){this.current=i,this.gl.uniformMatrix3fv(this.location,!1,i);break}}},e.ch=$t,e.ci=function(e,t,i){const r=Nu(i.zoom),n=e.style.map._antialias,o=t.options.extStandardDerivativesForceOff||e.terrain&&e.terrain.exaggeration()>0;return 0===r&&!n&&!o},e.cj=function(t){const i=t.pixelsPerMeter,r=i/vh(1,t.center.lat),n=e.a9.identity(new Float64Array(16));return e.a9.translate(n,n,[t.point.x,t.point.y,0]),e.a9.scale(n,n,[r,r,i]),Float32Array.from(n)},e.ck=Cu,e.cl=function(e){const t=Eh-5;e=Ht(e,-t,t)/t*90;const i=Math.pow(Math.abs(Math.sin(Gt(e))),3);return Math.round(i*(Jc.length-1))},e.cm=function(t,i,r,n){const o=i.getNorth(),s=i.getSouth(),a=i.getWest(),l=i.getEast(),c=1<0){const t=180/n;e.ct.multiply(f,f,[t/h+1,0,0,0,t/u+1,0,-.5*t/d,.5*t/p,1])}return f[2]=c,f[5]=t.x,f[8]=t.y,f},e.cn=Su,e.co=function(t,i,r){const n=e.a9.identity(new Float64Array(16)),o=(i/(1<1)return!1;const i=t.getSource().maxzoom,r=1<1&&void 0!==arguments[1]?arguments[1]:0;return this.getAtPoint(e,t)||0}getAtPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.isUsingMockSource())return null;null==t&&(t=null);const r=this._source();if(!r)return t;if(e.y<0||e.y>1)return t;const n=r.getSource().maxzoom,o=1<{const s=this.getAtTileOffset(t,o.x,o.y),a=n.upVector(t.canonical,o.x,o.y),l=n.upVectorScale(t.canonical,i,r).metersToTile;return e.Q.scale(a,a,s*l),a}}getForTilePoints(e,t,i,r){if(this.isUsingMockSource())return!1;const n=Rp.create(this,e,r);return!!n&&(t.forEach((e=>{e[2]=this.exaggeration()*n.getElevationAt(e[0],e[1],i)})),!0)}getMinMaxForTile(e){if(this.isUsingMockSource())return null;const t=this.findDEMTileFor(e);if(!t||!t.dem)return null;const i=t.dem.tree,r=t.tileID,n=1<({u_camera_to_center_distance:new Sc(e),u_extrude_scale:new Lc(e),u_device_pixel_ratio:new Sc(e),u_matrix:new zc(e),u_inv_rot_matrix:new zc(e),u_merc_center:new Mc(e),u_tile_id:new Ac(e),u_zoom_transition:new Sc(e),u_up_dir:new Ac(e),u_emissive_strength:new Sc(e)}),e.d=nr,e.d$=my,e.d0=Rp,e.d1=sy,e.d2=Fl,e.d3=class{constructor(){this._updateTime=0,this._sourceIds=[],this._activeRegions=[],this._prevRegions=[]}clear(){this._activeRegions.length>0&&++this._updateTime,this._activeRegions=[],this._prevRegions=[]}get updateTime(){return this._updateTime}getReplacementRegionsForTile(e){const t=gp(new Vt(0,0),new Vt(no,no),e),i=[];for(const r of this._activeRegions){if(r.hiddenByOverlap)continue;if(!_p(t,r))continue;const n=yp(r.min,r.max,e);i.push({min:n.min,max:n.max,sourceId:this._sourceIds[r.priority],footprint:r.footprint,footprintTileId:r.tileId})}return i}setSources(e){this._setSources(e.map((e=>({getSourceId:()=>e.cache.id,getFootprints:()=>{const t=[];for(const i of e.cache.getVisibleCoordinates()){const r=e.cache.getTile(i).buckets[e.layer];if(r)for(const e of r.getNodesInfo()){const r=e.node;r.footprint&&t.push({footprint:r.footprint,id:i.toUnwrapped()})}}return t}}))))}_addSource(e){const t=e.getFootprints();if(0!==t.length){for(const e of t){if(!e.footprint)continue;const t=gp(e.footprint.min,e.footprint.max,e.id);this._activeRegions.push({min:t.min,max:t.max,hiddenByOverlap:!1,priority:this._sourceIds.length,tileId:e.id,footprint:e.footprint})}this._sourceIds.push(e.getSourceId())}}_computeReplacement(){this._activeRegions.sort(((e,t)=>e.priority-t.priority||fp(e.min,t.min)||fp(e.max,t.max)));let e=this._activeRegions.length!==this._prevRegions.length;if(!e){let t=0,i=0;for(;!e&&t!==this._activeRegions.length;){const r=this._activeRegions[t],n=this._prevRegions[i];e=r.priority!==n.priority||!mp(r,n),++t,++i}}if(e){++this._updateTime;const e=e=>{const t=this._activeRegions;if(e>=t.length)return e;const i=t[e].priority;for(;e1){let t=0,i=e(t);for(;t!==i;){let r=t;const n=t;for(;r!==i;){const e=this._activeRegions[r];e.hiddenByOverlap=!1;for(let t=0;t=0;t--)this._addSource(e[t]);this._computeReplacement()}},e.d4=class{constructor(e){this._createGrid(e),this._createPoles(e)}destroy(){this._poleIndexBuffer.destroy(),this._gridBuffer.destroy(),this._gridIndexBuffer.destroy(),this._poleNorthVertexBuffer.destroy(),this._poleSouthVertexBuffer.destroy();for(const e of this._poleSegments)e.destroy();for(const e of this._gridSegments)e.withSkirts.destroy(),e.withoutSkirts.destroy()}_fillGridMeshWithLods(e,t){const i=new Sl,r=new Gl,n=[],o=e+1+2,s=t[0]+1,a=t[0]+1+(1+t.length),l=(e,t,i)=>{let r=e===o-1?e-2:0===e?e:e-1;return r+=i?24575:0,[r,t]};for(let c=0;ce()))},e.dC=gy,e.dD=Cy,e.dE=function(e){Ey=zi.resolveURL(e),Iy||(Iy=new _y(wy(),new kr)),Iy.broadcast("setDracoUrl",Ey)},e.dF=Py,e.dG=function(e){My=zi.resolveURL(e),Iy||(Iy=new _y(wy(),new kr)),Iy.broadcast("setMeshoptUrl",My)},e.dH=fa,e.dI=id,e.dJ=o_,e.dK=nx,e.dL=ax,e.dM=bf,e.dN=ai,e.dO=t_,e.dP=function(e,t,i,r,n,o,s,a,l,c,h){e.createArrays(),e.tilePixelRatio=no/(512*e.overscaling),e.compareText={},e.iconsNeedLinear=!1;const u=e.layers[0].layout,d=e.layers[0]._unevaluatedLayout._values,p={};if("composite"===e.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.textSizeData;p.compositeTextSizes=[d["text-size"].possiblyEvaluate(new Va(t),a),d["text-size"].possiblyEvaluate(new Va(i),a)]}if("composite"===e.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.iconSizeData;p.compositeIconSizes=[d["icon-size"].possiblyEvaluate(new Va(t),a),d["icon-size"].possiblyEvaluate(new Va(i),a)]}p.layoutTextSize=d["text-size"].possiblyEvaluate(new Va(l+1),a),p.layoutIconSize=d["icon-size"].possiblyEvaluate(new Va(l+1),a),p.textMaxSize=d["text-size"].possiblyEvaluate(new Va(18),a);const f="map"===u.get("text-rotation-alignment")&&"point"!==u.get("symbol-placement"),m=u.get("text-size");let _=!1;for(const g of e.features)if(g.icon&&g.icon.nameSecondary){_=!0;break}for(const g of e.features){const o=u.get("text-font").evaluate(g,{},a).join(","),l=m.evaluate(g,{},a),d=p.layoutTextSize.evaluate(g,{},a),y=(p.layoutIconSize.evaluate(g,{},a),{horizontal:{},vertical:void 0}),x=g.text;let v,b=[0,0];if(x){const r=x.toString(),s=u.get("text-letter-spacing").evaluate(g,{},a)*qf,c=u.get("text-line-height").evaluate(g,{},a)*qf,h=ba(r)?s:0,p=u.get("text-anchor").evaluate(g,{},a),m=u.get("text-variable-anchor");if(!m){const e=u.get("text-radial-offset").evaluate(g,{},a);b=e?v_(p,[e*qf,y_]):u.get("text-offset").evaluate(g,{},a).map((e=>e*qf))}let _=f?"center":u.get("text-justify").evaluate(g,{},a);const v="point"===u.get("symbol-placement"),w=v?u.get("text-max-width").evaluate(g,{},a)*qf:1/0,T=s=>{e.allowVerticalPlacement&&va(r)&&(y.vertical=zm(x,t,i,n,o,w,c,p,s,h,b,Im.vertical,!0,d,l))};if(!f&&m){const e="auto"===_?m.map((e=>b_(e))):[_];let r=!1;for(let s=0;s=0||!va(r)){const e=zm(x,t,i,n,o,w,c,p,_,h,b,Im.horizontal,!1,d,l);e&&(y.horizontal[_]=e)}T(v?"left":_)}}let w=!1;if(g.icon&&g.icon.namePrimary){const t=r[g.icon.namePrimary];t&&(v=Um(n[g.icon.namePrimary],g.icon.nameSecondary?n[g.icon.nameSecondary]:void 0,u.get("icon-offset").evaluate(g,{},a),u.get("icon-anchor").evaluate(g,{},a)),w=t.sdf,void 0===e.sdfIcons?e.sdfIcons=t.sdf:e.sdfIcons!==t.sdf&&ui("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(t.pixelRatio!==e.pixelRatio||0!==u.get("icon-rotate").constantOr(1))&&(e.iconsNeedLinear=!0))}const T=M_(y.horizontal)||y.vertical;e.iconsInText||(e.iconsInText=!!T&&T.iconsInText),(T||v)&&w_(e,g,y,v,r,p,d,0,b,w,s,a,c,h,_)}o&&e.generateCollisionDebugBuffers(l,e.collisionBoxArray)},e.dQ=up,e.dR=wm,e.dS=Dp,e.dT=dp,e.dU=Jd,e.dV=Ft,e.dW=tm,e.dX=u,e.dY=function(e){let t=0;if(new Uint32Array(e,0,1)[0]!==Ny){const i=new Uint32Array(e,0,7),[,,r,n,o,s]=i;t=i.byteLength+n+o+s+o,(r!==e.byteLength||t>=e.byteLength)&&ui("Invalid b3dm header information.")}return Zy(e,t)},e.dZ=function(e,t){const i=tx(e);for(const r of i){for(const e of r.meshes)ix(e);r.lights&&(r.lightMeshIndex=r.meshes.length,r.meshes.push(rx(r.lights,t)))}return i},e.d_=_x,e.da=rh,e.db=function(e){let[t,i,r]=e;const n=Math.hypot(t,i,r),o=Math.atan2(t,r),s=.5*Math.PI-Math.acos(-i/n);return new sh(qt(o),qt(s))},e.dc=nh,e.dd=r,e.de=Uu,e.df=Vu,e.dg=function(t){const i=[0,0,0],r=e.a9.identity(new Float64Array(16));return e.a9.multiply(r,t.pixelMatrix,t.globeMatrix),e.Q.transformMat4(i,i,r),new Vt(i[0],i[1])},e.dh=function(e){const t=e.navigator?e.navigator.userAgent:null;return!!function(e){if(null==Ti){const t=e.navigator?e.navigator.userAgent:null;Ti=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return Ti}(e)&&t&&(t.match("Version/15.4")||t.match("Version/15.5")||t.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},e.di=class{constructor(e,t,i){this._transformRequestFn=e,this._customAccessToken=t,this._silenceAuthErrors=!!i,this._createSkuToken()}_createSkuToken(){const e=function(){let e="";for(let t=0;t<10;t++)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",or,e].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt}_isSkuTokenExpired(){return Date.now()>this._skuTokenExpiresAt}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}normalizeStyleURL(e,i){if(!o(e))return e;const r=lr(e);return r.params.push(`sdk=js-${t}`),r.path=`/styles/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||i)}normalizeGlyphsURL(e,t){if(!o(e))return e;const i=lr(e);return i.path=`/fonts/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeModelURL(e,t){if(!o(e))return e;const i=lr(e);return i.path=`/models/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeSourceURL(e,t,i,r){if(!o(e))return e;const n=lr(e);return n.path=`/v4/${n.authority}.json`,n.params.push("secure"),i&&n.params.push(`language=${i}`),r&&n.params.push(`worldview=${r}`),this._makeAPIURL(n,this._customAccessToken||t)}normalizeSpriteURL(e,t,i,r){const n=lr(e);return o(e)?(n.path=`/styles/v1${n.path}/sprite${t}${i}`,this._makeAPIURL(n,this._customAccessToken||r)):(n.path+=`${t}${i}`,cr(n))}normalizeTileURL(e,t,i){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!o(e))return e;const n=lr(e);n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${t||i&&"raster"!==n.authority&&512===i?"@2x":""}${ji.supported?".webp":"$1"}`),"raster"===n.authority?n.path=`/${r.RASTER_URL_PREFIX}${n.path}`:"rasterarrays"===n.authority?n.path=`/${r.RASTERARRAYS_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\/v4\//,"/"),n.path=`/${r.TILE_URL_VERSION}${n.path}`);const s=this._customAccessToken||function(e){for(const t of e){const e=t.match(/^access_token=(.*)$/);if(e)return e[1]}return null}(n.params)||r.ACCESS_TOKEN;return r.REQUIRE_ACCESS_TOKEN&&s&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,s)}canonicalizeTileURL(e,t){const i=lr(e);if(!i.path.match(/^(\/v4\/|\/(raster|rasterarrays)\/v1\/)/)||!i.path.match(/\.[\w]+$/))return e;let n="mapbox://";i.path.match(/^\/raster\/v1\//)?n+=`raster/${i.path.replace(`/${r.RASTER_URL_PREFIX}/`,"")}`:i.path.match(/^\/rasterarrays\/v1\//)?n+=`rasterarrays/${i.path.replace(`/${r.RASTERARRAYS_URL_PREFIX}/`,"")}`:n+=`tiles/${i.path.replace(`/${r.TILE_URL_VERSION}/`,"")}`;let o=i.params;return t&&(o=o.filter((e=>!e.match(/^access_token=/)))),o.length&&(n+=`?${o.join("&")}`),n}canonicalizeTileset(e,t){const i=!!t&&o(t),r=[];for(const o of e.tiles||[])n(o)?r.push(this.canonicalizeTileURL(o,i)):r.push(o);return r}_makeAPIURL(e,t){const i="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",n=lr(r.API_URL);if(e.protocol=n.protocol,e.authority=n.authority,"http"===e.protocol){const t=e.params.indexOf("secure");t>=0&&e.params.splice(t,1)}if("/"!==n.path&&(e.path=`${n.path}${e.path}`),!r.REQUIRE_ACCESS_TOKEN)return cr(e);if(t=t||r.ACCESS_TOKEN,!this._silenceAuthErrors){if(!t)throw new Error(`An API access token is required to use Mapbox GL. ${i}`);if("s"===t[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${i}`)}return e.params=e.params.filter((e=>-1===e.indexOf("access_token"))),e.params.push(`access_token=${t||""}`),cr(e)}},e.dj=function(e,t){t?Tr.add(e):Tr.delete(e)},e.dk=ji,e.dl=vr,e.dm=wr,e.dn=sr,e.dp=_r,e.dq=yr,e.dr=function(e){Tr.delete(e)},e.ds=br,e.dt=mr,e.du=t,e.dv=function(e,t){Bi=e,Fi=t},e.dw=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Da===Ia||Da===Ca||Da===Pa)throw new Error("setRTLTextPlugin cannot be called multiple times.");Ra=zi.resolveURL(e),Da=Ia,za=t,ka(),i||Fa()},e.dx=Ba,e.dy=function(){wy().acquire(xy)},e.dz=function(){const e=by;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(xy),by=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},e.e=Jt,e.e0=Na,e.e1=function(e){Vi(),ki&&ki.then((t=>{t.keys().then((i=>{for(let r=0;re.arrayBuffer())).then((t=>Zy(t,0,e)))},e.m=Gs,e.n=Zs,e.o=ia,e.p=Km,e.q=el,e.r=sa,e.s=$s,e.t=ra,e.u=Ja,e.v=Vo,e.w=ui,e.x=jo,e.y=No})),r(["./shared"],(function(e){function t(e){const t=e?e.url.toString():void 0;return t?performance.getEntriesByName(t):[]}function i(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return JSON.stringify(e);if(Array.isArray(e)){let t="[";for(const r of e)t+=`${i(r)},`;return`${t}]`}let t="{";for(const r of Object.keys(e).sort())t+=`${r}:${i(e[r])},`;return`${t}}`}function r(t){let r="";for(const n of e.b5)r+=`/${i(t[n])}`;return r}class n{constructor(e){this.keyCache={},this._layers={},this._layerConfigs={},e&&this.replace(e)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(t,i,n){this._options=n;for(const r of t)this._layerConfigs[r.id]=r,(this._layers[r.id]=e.c7(r,this.scope,this._options)).compileFilter(),this.keyCache[r.id]&&delete this.keyCache[r.id];for(const e of i)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const o=function(e,t){const i={};for(let o=0;othis._layers[e.id])),i=t[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const o=i.sourceLayer||"_geojsonTileLayer";let s=n[o];s||(s=n[o]=[]),s.push(t)}}}const o=1*e.dJ;class s{constructor(t){const i={},r=[];for(const e in t){const n=t[e],s=i[e]={};for(const e in n.glyphs){const t=n.glyphs[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const i=t.metrics.localGlyph?o:1,a={x:0,y:0,w:t.bitmap.width+2*i,h:t.bitmap.height+2*i};r.push(a),s[e]=a}}const{w:n,h:s}=e.p(r),a=new e.dI({width:n||1,height:s||1});for(const l in t){const r=t[l];for(const t in r.glyphs){const n=r.glyphs[+t];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const s=i[l][t],c=n.metrics.localGlyph?o:1;e.dI.copy(n.bitmap,a,{x:0,y:0},{x:s.x+c,y:s.y+c},n.bitmap)}}this.image=a,this.positions=i}}e.dH(s,"GlyphAtlas");class a{constructor(t){this.tileID=new e.ap(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.tileZoom=t.tileZoom,this.uid=t.uid,this.zoom=t.zoom,this.canonical=t.tileID.canonical,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.scope=t.scope,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.promoteId=t.promoteId,this.isSymbolTile=t.isSymbolTile,this.tileTransform=e.av(t.tileID.canonical,t.projection),this.projection=t.projection,this.brightness=t.brightness,this.extraShadowCaster=!!t.extraShadowCaster}parse(t,i,r,n,o){this.status="parsing",this.data=t,this.collisionBoxArray=new e.aG;const a=new e.dK(Object.keys(t.layers).sort()),c=new e.dL(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u=new e.dM(256,256),d={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},lineAtlas:u,availableImages:r,brightness:this.brightness},p=i.familiesBySource[this.source];for(const s in p){const i=t.layers[s];if(!i)continue;let n=!1,o=!1,u=!1;for(const e of p[s])"symbol"===e[0].type?n=!0:o=!0,e[0].is3D()&&"model"!==e[0].type&&(u=!0);if(this.extraShadowCaster&&!u)continue;if(!0===this.isSymbolTile&&!n)continue;if(!1===this.isSymbolTile&&!o)continue;1===i.version&&e.w(`Vector tile source "${this.source}" layer "${s}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const f=a.encode(s),m=[];for(let e=0;e=t.maxzoom||"none"!==t.visibility&&(l(e,this.zoom,d.brightness,r),(h[t.id]=t.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:f,sourceID:this.source,projection:this.projection.spec})).populate(m,d,this.tileID.canonical,this.tileTransform),c.bucketLayerIDs.push(e.map((e=>e.id)))))}}let f,m,_,g;u.trim();const y={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},x=()=>{if(f)return this.status="done",o(f);if(this.extraShadowCaster)this.status="done",o(null,{buckets:e.b2(h).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:null,glyphAtlasImage:null,lineAtlas:null,imageAtlas:null,brightness:d.brightness,glyphMap:null,iconMap:null,glyphPositions:null});else if(m&&_&&g){const t=new s(m),i=new e.dO(_,g);for(const n in h){const o=h[n];o instanceof e.aH?(l(o.layers,this.zoom,d.brightness,r),e.dP(o,m,t.positions,_,i.iconPositions,this.showCollisionBoxes,r,this.tileID.canonical,this.tileZoom,this.projection,this.brightness)):o.hasPattern&&(o instanceof e.aN||o instanceof e.aO||o instanceof e.cO)&&(l(o.layers,this.zoom,d.brightness,r),o.addFeatures(d,this.tileID.canonical,i.patternPositions,r,this.tileTransform,this.brightness))}this.status="done",o(null,{buckets:e.b2(h).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:u,imageAtlas:i,brightness:d.brightness})}};if(!this.extraShadowCaster){const t=e.dN(d.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(t).length?n.send("getGlyphs",{uid:this.uid,stacks:t,scope:this.scope},((e,t)=>{f||(f=e,m=t,x())}),void 0,!1,y):m={};const i=Object.keys(d.iconDependencies);i.length?n.send("getImages",{icons:i,source:this.source,scope:this.scope,tileID:this.tileID,type:"icons"},((e,t)=>{f||(f=e,_=t,x())}),void 0,!1,y):_={};const r=Object.keys(d.patternDependencies);r.length?n.send("getImages",{icons:r,source:this.source,scope:this.scope,tileID:this.tileID,type:"patterns"},((e,t)=>{f||(f=e,g=t,x())}),void 0,!1,y):g={}}x()}}function l(t,i,r,n){const o=new e.N(i,{brightness:r});for(const e of t)e.recalculate(o,n)}class c extends e.E{constructor(t,i,r,n,o,s){super(),this.actor=t,this.layerIndex=i,this.availableImages=r,this.loadVectorData=o||e.ak,this.loading={},this.loaded={},this.deduped=new e.ai(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler,this.brightness=s}loadTile(i,r){const n=i.uid,o=i&&i.request,s=o&&o.collectResourceTiming,l=this.loading[n]=new a(i);l.abort=this.loadVectorData(i,((a,c)=>{const h=!this.loading[n];if(delete this.loading[n],h||a||!c)return l.status="done",h||(this.loaded[n]=l),r(a);const u=c.rawData,d={};c.expires&&(d.expires=c.expires),c.cacheControl&&(d.cacheControl=c.cacheControl),l.vectorTile=c.vectorTile||new e.dQ(new e.dR(u));const p=()=>{l.parse(l.vectorTile,this.layerIndex,this.availableImages,this.actor,((i,n)=>{if(i||!n)return r(i);const a={};if(s){const e=t(o);e.length>0&&(a.resourceTiming=JSON.parse(JSON.stringify(e)))}r(null,e.e({rawTileData:u.slice(0)},n,d,a))}))};this.isSpriteLoaded?p():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(p,{type:"parseTile",isSymbolTile:i.isSymbolTile,zoom:i.tileZoom}):p()})),this.loaded=this.loaded||{},this.loaded[n]=l}))}reloadTile(t,i){const r=this.loaded,n=t.uid,o=this;if(r&&r[n]){const s=r[n];s.showCollisionBoxes=t.showCollisionBoxes,s.projection=t.projection,s.brightness=t.brightness,s.tileTransform=e.av(t.tileID.canonical,t.projection),s.extraShadowCaster=t.extraShadowCaster;const a=(e,t)=>{const r=s.reloadCallback;r&&(delete s.reloadCallback,s.parse(s.vectorTile,o.layerIndex,this.availableImages,o.actor,r)),i(e,t)};"parsing"===s.status?s.reloadCallback=a:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a())}else i(null,void 0)}abortTile(e,t){const i=e.uid,r=this.loading[i];r&&(r.abort&&r.abort(),delete this.loading[i]),t()}removeTile(e,t){const i=this.loaded,r=e.uid;i&&i[r]&&delete i[r],t()}}class h{loadTile(t,i){const{uid:r,encoding:n,rawImageData:o,padding:s}=t,a=ImageBitmap&&o instanceof ImageBitmap?this.getImageData(o,s):o;i(null,new e.dS(r,a,n,s<1))}getImageData(e,t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-t,-t,e.width+2*t,e.height+2*t);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),i}}class u{decodeRasterArray(t,i){let{task:r,buffer:n}=t;e.b0.performDecoding(n,r).then((e=>{i(null,e)}),(e=>{i(e)}))}}const d=e.dT.prototype.toGeoJSON;let p=class{constructor(t){this._feature=t,this.extent=e.Y,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))}loadGeometry(){if(1===this._feature.type){const t=[];for(const i of this._feature.geometry)t.push([new e.P(i[0],i[1])]);return t}{const t=[];for(const i of this._feature.geometry){const r=[];for(const t of i)r.push(new e.P(t[0],t[1]));t.push(r)}return t}}toGeoJSON(e,t,i){return d.call(this,e,t,i)}},f=class{constructor(t){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=e.Y,this.length=t.length,this._features=t}feature(e){return new p(this._features[e])}};var m={exports:{}},_=e.dV,g=e.dU.VectorTileFeature,y=x;function x(e,t){this.options=t||{},this.features=e,this.length=e.length}function v(e,t){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}x.prototype.feature=function(e){return new v(this.features[e],this.options.extent)},v.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t>31}function C(e,t){for(var i=e.loadGeometry(),r=e.type,n=0,o=0,s=i.length,a=0;ae},R=Math.fround||(L=new Float32Array(1),e=>(L[0]=+e,L[0]));var L;const k=3,O=5,B=6;class F{constructor(e){this.options=Object.assign(Object.create(D),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:t,minZoom:i,maxZoom:r}=this.options;t&&console.time("total time");const n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;const o=[];for(let a=0;a=i;a--){const e=+Date.now();s=this.trees[a]=this._createTree(this._cluster(s,a)),t&&console.log("z%d: %d clusters in %dms",a,s.numItems,+Date.now()-e)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let i=((e[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[1]));let n=180===e[2]?180:((e[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)i=-180,n=180;else if(i>n){const e=this.getClusters([i,r,180,o],t),s=this.getClusters([-180,r,n,o],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(U(i),j(o),U(n),j(r)),l=s.data,c=[];for(const h of a){const e=this.stride*h;c.push(l[e+O]>1?N(l,e,this.clusterProps):this.points[l[e+k]])}return c}getChildren(e){const t=this._getOriginId(e),i=this._getOriginZoom(e),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const o=n.data;if(t*this.stride>=o.length)throw new Error(r);const s=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=n.within(o[t*this.stride],o[t*this.stride+1],s),l=[];for(const c of a){const t=c*this.stride;o[t+4]===e&&l.push(o[t+O]>1?N(o,t,this.clusterProps):this.points[o[t+k]])}if(0===l.length)throw new Error(r);return l}getLeaves(e,t,i){const r=[];return this._appendLeaves(r,e,t=t||10,i=i||0,0),r}getTile(e,t,i){const r=this.trees[this._limitZoom(e)],n=Math.pow(2,e),{extent:o,radius:s}=this.options,a=s/o,l=(i-a)/n,c=(i+1+a)/n,h={features:[]};return this._addTileFeatures(r.range((t-a)/n,l,(t+1+a)/n,c),r.data,t,i,n,h),0===t&&this._addTileFeatures(r.range(1-a/n,l,1,c),r.data,n,i,n,h),t===n-1&&this._addTileFeatures(r.range(0,l,a/n,c),r.data,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const i=this.getChildren(e);if(t++,1!==i.length)break;e=i[0].properties.cluster_id}return t}_appendLeaves(e,t,i,r,n){const o=this.getChildren(t);for(const s of o){const t=s.properties;if(t&&t.cluster?n+t.point_count<=r?n+=t.point_count:n=this._appendLeaves(e,t.cluster_id,i,r,n):n1;let l,c,h;if(a)l=V(t,e,this.clusterProps),c=t[e],h=t[e+1];else{const i=this.points[t[e+k]];l=i.properties;const[r,n]=i.geometry.coordinates;c=U(r),h=j(n)}const u={type:1,geometry:[[Math.round(this.options.extent*(c*n-i)),Math.round(this.options.extent*(h*n-r))]],tags:l};let d;d=a||this.options.generateId?t[e+k]:this.points[t[e+k]].id,void 0!==d&&(u.id=d),o.features.push(u)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:i,extent:r,reduce:n,minPoints:o}=this.options,s=i/(r*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let h=0;ht&&(p+=a[i+O])}if(p>d&&p>=o){let e,o=i*d,s=r*d,f=-1;const m=(h/c<<5)+(t+1)+this.points.length;for(const i of u){const r=i*c;if(a[r+2]<=t)continue;a[r+2]=t;const l=a[r+O];o+=a[r]*l,s+=a[r+1]*l,a[r+4]=m,n&&(e||(e=this._map(a,h,!0),f=this.clusterProps.length,this.clusterProps.push(e)),n(e,this._map(a,r)))}a[h+4]=m,l.push(o/p,s/p,1/0,m,-1,p),n&&l.push(f)}else{for(let e=0;e1)for(const e of u){const i=e*c;if(!(a[i+2]<=t)){a[i+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,i){if(e[t+O]>1){const r=this.clusterProps[e[t+B]];return i?Object.assign({},r):r}const r=this.points[e[t+k]].properties,n=this.options.map(r);return i&&n===r?Object.assign({},n):n}}function N(e,t,i){return{type:"Feature",id:e[t+k],properties:V(e,t,i),geometry:{type:"Point",coordinates:[(r=e[t],360*(r-.5)),G(e[t+1])]}};var r}function V(e,t,i){const r=e[t+O],n=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+"k":r,o=e[t+B],s=-1===o?{}:Object.assign({},i[o]);return Object.assign(s,{cluster:!0,cluster_id:e[t+k],point_count:r,point_count_abbreviated:n})}function U(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),i=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return i<0?0:i>1?1:i}function G(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}var q={exports:{}};q.exports=function(){function e(i,r,n,o){for(var s,a=o,l=n-r>>1,c=n-r,h=i[r],u=i[r+1],d=i[n],p=i[n+1],f=r+3;fa)s=f,a=m;else if(m===a){var _=Math.abs(f-l);_o&&(s-r>3&&e(i,r,s,o),i[s+2]=a,n-s>3&&e(i,s,n,o))}function t(e,t,i,r,n,o){var s=n-i,a=o-r;if(0!==s||0!==a){var l=((e-i)*s+(t-r)*a)/(s*s+a*a);l>1?(i=n,r=o):l>0&&(i+=s*l,r+=a*l)}return(s=e-i)*s+(a=t-r)*a}function i(e,t,i,n){var o={id:void 0===e?null:e,type:t,geometry:i,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,i=e.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)r(e,t);else if("Polygon"===i||"MultiLineString"===i)for(var n=0;n0&&(a+=n?(o*d-u*s)/2:Math.sqrt(Math.pow(u-o,2)+Math.pow(d-s,2))),o=u,s=d}var p=i.length-3;i[2]=1,e(i,0,p,r),i[p+2]=1,i.size=Math.abs(a),i.start=0,i.end=i.size}function a(e,t,i,r){for(var n=0;n1?1:i}function h(e,t,r,n,o,s,a,l){if(n/=t,s>=(r/=t)&&a=n)return null;for(var c=[],h=0;h=r&&y=n)){var x=[];if("Point"===_||"MultiPoint"===_)u(m,x,r,n,o);else if("LineString"===_)d(m,x,r,n,o,!1,l.lineMetrics);else if("MultiLineString"===_)f(m,x,r,n,o,!1);else if("Polygon"===_)f(m,x,r,n,o,!0);else if("MultiPolygon"===_)for(var v=0;v=i&&s<=r&&(t.push(e[o]),t.push(e[o+1]),t.push(e[o+2]))}}function d(e,t,i,r,n,o,s){for(var a,l,c=p(e),h=0===n?_:g,u=e.start,d=0;di&&(l=h(c,f,y,v,b,i),s&&(c.start=u+a*l)):w>r?T=i&&(l=h(c,f,y,v,b,i),E=!0),T>r&&w<=r&&(l=h(c,f,y,v,b,r),E=!0),!o&&E&&(s&&(c.end=u+a*l),t.push(c),c=p(e)),s&&(u+=a)}var S=e.length-3;f=e[S],y=e[S+1],x=e[S+2],(w=0===n?f:y)>=i&&w<=r&&m(c,f,y,x),S=c.length-3,o&&S>=3&&(c[S]!==c[0]||c[S+1]!==c[1])&&m(c,c[0],c[1],c[2]),c.length&&t.push(c)}function p(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function f(e,t,i,r,n,o){for(var s=0;ss.maxX&&(s.maxX=h),u>s.maxY&&(s.maxY=u)}return s}function T(e,t,i,r){var n=t.geometry,o=t.type,s=[];if("Point"===o||"MultiPoint"===o)for(var a=0;a0&&t.size<(n?s:r))i.numPoints+=t.length/3;else{for(var a=[],l=0;ls)&&(i.numSimplified++,a.push(t[l]),a.push(t[l+1])),i.numPoints++;n&&function(e,t){for(var i=0,r=0,n=e.length,o=n-2;r0===t)for(r=0,n=e.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(e,t){var i=[];if("FeatureCollection"===e.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[d]=w(e,t,i,r,l),this.tileCoords.push({z:t,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var f="z"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++}if(p.source=e,n){if(t===l.maxZoom||t===n)continue;var m=1<1&&console.time("clipping");var _,g,y,x,v,b,T=.5*l.buffer/l.extent,E=.5-T,S=.5+T,A=1+T;_=g=y=x=null,v=h(e,u,i-T,i+S,0,p.minX,p.maxX,l),b=h(e,u,i+E,i+A,0,p.minX,p.maxX,l),e=null,v&&(_=h(v,u,r-T,r+S,1,p.minY,p.maxY,l),g=h(v,u,r+E,r+A,1,p.minY,p.maxY,l),v=null),b&&(y=h(b,u,r-T,r+S,1,p.minY,p.maxY,l),x=h(b,u,r+E,r+A,1,p.minY,p.maxY,l),b=null),c>1&&console.timeEnd("clipping"),a.push(_||[],t+1,2*i,2*r),a.push(g||[],t+1,2*i,2*r+1),a.push(y||[],t+1,2*i+1,2*r),a.push(x||[],t+1,2*i+1,2*r+1)}}},S.prototype.getTile=function(e,t,i){var r=this.options,n=r.extent,o=r.debug;if(e<0||e>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var l,c=e,h=t,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[M(c,h,u)];return l&&l.source?(o>1&&console.log("found parent tile z%d-%d-%d",c,h,u),o>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,e,t,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?v(this.tiles[a],n):null):null},function(e,t){return new S(e,t)}}();var Z=e.dX(q.exports);function $(e,t){const i=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);const r=this._geoJSONIndex.getTile(i.z,i.x,i.y);if(!r)return t(null,null);const n=new f(r.features);let o=z(n);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),t(null,{vectorTile:n,rawData:o.buffer})}class W extends c{constructor(e,t,i,r,n,o){super(e,t,i,r,$,o),n&&(this.loadGeoJSON=n),this._featureMap=new Map}loadData(i,r){const n=i&&i.request,o=n&&n.collectResourceTiming;this.loadGeoJSON(i,((s,a)=>{if(s||!a)return r(s);if("object"!=typeof a)return r(new Error(`Input data given to '${i.source}' is not a valid GeoJSON object.`));{try{if(i.filter){const t=e.t(i.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===t.result)throw new Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a.features=a.features.filter((e=>t.value.evaluate({zoom:0},e)))}if(i.dynamic){"Feature"===a.type&&(a={type:"FeatureCollection",features:[a]}),i.append||this._featureMap.clear();for(const e of a.features||[]){const t=e.id;void 0!==t&&(e.geometry?this._featureMap.set(t,e):this._featureMap.delete(t))}a.features=[...this._featureMap.values()]}this._geoJSONIndex=i.cluster?new F(function(t){let{superclusterOptions:i,clusterProperties:r}=t;if(!r||!i)return i;const n={},o={},s={accumulated:null,zoom:0},a={properties:null},l=Object.keys(r);for(const c of l){const[t,i]=r[c],s=e.t(i),a=e.t("string"==typeof t?[t,["accumulated"],["get",c]]:t);n[c]=s.value,o[c]=a.value}return i.map=e=>{a.properties=e;const t={};for(const i of l)t[i]=n[i].evaluate(s,a);return t},i.reduce=(e,t)=>{a.properties=t;for(const i of l)s.accumulated=e[i],e[i]=o[i].evaluate(s,a)},i}(i)).load(a.features):Z(a,i.geojsonVtOptions)}catch(s){return r(s)}this.loaded={};const l={};if(o){const e=t(n);e&&(l.resourceTiming={},l.resourceTiming[i.source]=JSON.parse(JSON.stringify(e)))}r(null,l)}}))}reloadTile(e,t){const i=this.loaded;return i&&i[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,i){if(t.request)e.g(t.request,i);else{if("string"!=typeof t.data)return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return i(null,JSON.parse(t.data))}catch(e){return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId))}catch(e){t(e)}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId))}catch(e){t(e)}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset))}catch(e){t(e)}}}class Q{constructor(t,i){this.tileID=new e.ap(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.tileZoom=t.tileZoom,this.uid=t.uid,this.zoom=t.zoom,this.canonical=t.tileID.canonical,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.projection=t.projection,this.brightness=i}parse(t,i,r,n){this.status="parsing";const o=new e.ap(r.tileID.overscaledZ,r.tileID.wrap,r.tileID.canonical.z,r.tileID.canonical.x,r.tileID.canonical.y),s={},a=i.familiesBySource[r.source],l=new e.dL(o,r.promoteId);return l.bucketLayerIDs=[],l.is3DTile=!0,e.dY(t).then((t=>{if(!t)return n(new Error("Could not parse tile"));const i=e.dZ(t,1/e.bU(r.tileID.canonical)),c=t.json.extensionsUsed&&t.json.extensionsUsed.includes("MAPBOX_mesh_features")||t.json.asset.extras&&t.json.asset.extras.MAPBOX_mesh_features,h=t.json.extensionsUsed&&t.json.extensionsUsed.includes("EXT_meshopt_compression"),u=new e.N(this.zoom,{brightness:this.brightness});for(const r in a)for(const t of a[r]){const r=t[0];l.bucketLayerIDs.push(t.map((e=>e.id))),r.recalculate(u,[]);const n=new e.d_(i,o,c,h,this.brightness,l);c||(n.needsUpload=!0),s[r.fqid]=n,n.evaluate(r)}this.status="done",n(null,{buckets:s,featureIndex:l})})).catch((e=>n(new Error(e.message))))}}class H{constructor(e,t,i,r,n,o){this.actor=e,this.layerIndex=t,this.brightness=o,this.loading={},this.loaded={}}loadTile(t,i){const r=t.uid,n=this.loading[r]=new Q(t,this.brightness);e.b1(t.request,((e,o)=>{const s=!this.loading[r];return delete this.loading[r],s||e?(n.status="done",s||(this.loaded[r]=n),i(e)):o&&0!==o.byteLength?void n.parse(o,this.layerIndex,t,((e,t)=>{n.status="done",this.loaded=this.loaded||{},this.loaded[r]=n,e||!t?i(e):i(null,t)})):(n.status="done",this.loaded[r]=n,i())}))}reloadTile(e,t){const i=this.loaded,r=e.uid;if(i&&i[r]){const n=i[r];n.projection=e.projection,n.brightness=e.brightness;const o=(i,r)=>{n.reloadCallback&&(delete n.reloadCallback,this.loadTile(e,t)),t(i,r)};"parsing"===n.status?n.reloadCallback=o:"done"===n.status&&this.loadTile(e,t)}}abortTile(e,t){const i=e.uid;this.loading[i]&&delete this.loading[i],t()}removeTile(e,t){const i=this.loaded,r=e.uid;i&&i[r]&&delete i[r],t()}}class X{constructor(t){this.self=t,this.actor=new e.d$(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.br({name:"mercator"}),this.workerSourceTypes={vector:c,geojson:W,"batched-model":H},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.workerSourceTypes[e]=t},this.self.registerRTLTextPlugin=t=>{if(e.e0.isParsed())throw new Error("RTL text plugin already registered.");e.e0.applyArabicShaping=t.applyArabicShaping,e.e0.processBidirectionalText=t.processBidirectionalText,e.e0.processStyledBidirectionalText=t.processStyledBidirectionalText}}clearCaches(e,t,i){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],delete this.rasterArrayWorkerSource,i()}checkIfReady(e,t,i){i()}setReferrer(e,t){this.referrer=t}spriteLoaded(t,i){let{scope:r,isLoaded:n}=i;if(this.isSpriteLoaded[t]||(this.isSpriteLoaded[t]={}),this.isSpriteLoaded[t][r]=n,this.workerSources[t]&&this.workerSources[t][r])for(const o in this.workerSources[t][r]){const i=this.workerSources[t][r][o];for(const t in i)i[t]instanceof c&&(i[t].isSpriteLoaded=n,i[t].fire(new e.b("isSpriteLoaded")))}}setImages(e,t,i){let{scope:r,images:n}=t;if(this.availableImages[e]||(this.availableImages[e]={}),this.availableImages[e][r]=n,this.workerSources[e]&&this.workerSources[e][r]){for(const t in this.workerSources[e][r]){const i=this.workerSources[e][r][t];for(const e in i)i[e].availableImages=n}i()}else i()}setProjection(t,i){this.projections[t]=e.br(i)}setBrightness(e,t,i){this.brightness=t,i()}setLayers(e,t,i){this.getLayerIndex(e,t.scope).replace(t.layers,t.options),i()}updateLayers(e,t,i){this.getLayerIndex(e,t.scope).update(t.layers,t.removedIds,t.options),i()}loadTile(e,t,i){t.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,t.type,t.source,t.scope).loadTile(t,i)}loadDEMTile(e,t,i){this.getDEMWorkerSource(e,t.source,t.scope).loadTile(t,i)}decodeRasterArray(e,t,i){this.getRasterArrayWorkerSource().decodeRasterArray(t,i)}reloadTile(e,t,i){t.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,t.type,t.source,t.scope).reloadTile(t,i)}abortTile(e,t,i){this.getWorkerSource(e,t.type,t.source,t.scope).abortTile(t,i)}removeTile(e,t,i){this.getWorkerSource(e,t.type,t.source,t.scope).removeTile(t,i)}removeSource(e,t,i){if(!(this.workerSources[e]&&this.workerSources[e][t.scope]&&this.workerSources[e][t.scope][t.type]&&this.workerSources[e][t.scope][t.type][t.source]))return;const r=this.workerSources[e][t.scope][t.type][t.source];delete this.workerSources[e][t.scope][t.type][t.source],void 0!==r.removeSource?r.removeSource(t,i):i()}loadWorkerSource(e,t,i){try{this.self.importScripts(t.url),i()}catch(e){i(e.toString())}}syncRTLPluginState(t,i,r){try{e.e0.setState(i);const t=e.e0.getPluginURL();if(e.e0.isLoaded()&&!e.e0.isParsed()&&null!=t){this.self.importScripts(t);const i=e.e0.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),i)}}catch(e){r(e.toString())}}setDracoUrl(e,t){this.dracoUrl=t}getAvailableImages(e,t){this.availableImages[e]||(this.availableImages[e]={});let i=this.availableImages[e][t];return i||(i=[]),i}getLayerIndex(e,t){this.layerIndexes[e]||(this.layerIndexes[e]={});let i=this.layerIndexes[e][t];return i||(i=this.layerIndexes[e][t]=new n,i.scope=t),i}getWorkerSource(e,t,i,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][r]||(this.workerSources[e][r]={}),this.workerSources[e][r][t]||(this.workerSources[e][r][t]={}),this.isSpriteLoaded[e]||(this.isSpriteLoaded[e]={}),!this.workerSources[e][r][t][i]){const n={send:(t,i,r,n,o,s)=>{this.actor.send(t,i,r,e,o,s)},scheduler:this.actor.scheduler};this.workerSources[e][r][t][i]=new this.workerSourceTypes[t](n,this.getLayerIndex(e,r),this.getAvailableImages(e,r),this.isSpriteLoaded[e][r],void 0,this.brightness)}return this.workerSources[e][r][t][i]}getDEMWorkerSource(e,t,i){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][i]||(this.demWorkerSources[e][i]={}),this.demWorkerSources[e][i][t]||(this.demWorkerSources[e][i][t]=new h),this.demWorkerSources[e][i][t]}getRasterArrayWorkerSource(){return this.rasterArrayWorkerSource||(this.rasterArrayWorkerSource=new u),this.rasterArrayWorkerSource}enforceCacheSizeLimit(t,i){e.e1(i)}getWorkerPerformanceMetrics(e,t,i){i(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new X(self)),X})),r(["./shared"],(function(e){function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return!1;for(let r=0;r{window.removeEventListener("click",d,!0)}),0)}function f(e,t){const i=e.getBoundingClientRect();return g(e,i,t)}function m(e,t){const i=e.getBoundingClientRect(),r=[];for(let n=0;n=0?0:e.button}function g(t,i,r){const n=t.offsetWidth===i.width?1:t.offsetWidth/i.width;return new e.P((r.clientX-i.left)*n,(r.clientY-i.top)*n)}class y{constructor(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSourceCaches={},this._updatedPaintProps=new Set,this._updatedImages=new Set}isDirty(){return this._changed}setDirty(){this._changed=!0}getUpdatedSourceCaches(){return this._updatedSourceCaches}updateSourceCache(e,t){this._updatedSourceCaches[e]=t,this.setDirty()}discardSourceCacheUpdate(e){delete this._updatedSourceCaches[e]}updateLayer(e){const t=e.scope;this._updatedLayers[t]=this._updatedLayers[t]||new Set,this._updatedLayers[t].add(e.id),this.setDirty()}removeLayer(e){const t=e.scope;this._removedLayers[t]=this._removedLayers[t]||{},this._updatedLayers[t]=this._updatedLayers[t]||new Set,this._removedLayers[t][e.id]=e,this._updatedLayers[t].delete(e.id),this._updatedPaintProps.delete(e.fqid),this.setDirty()}getRemovedLayer(e){return this._removedLayers[e.scope]?this._removedLayers[e.scope][e.id]:null}discardLayerRemoval(e){this._removedLayers[e.scope]&&delete this._removedLayers[e.scope][e.id]}getLayerUpdatesByScope(){const e={};for(const t in this._updatedLayers)e[t]=e[t]||{},e[t].updatedIds=Array.from(this._updatedLayers[t].values());for(const t in this._removedLayers)e[t]=e[t]||{},e[t].removedIds=Object.keys(this._removedLayers[t]);return e}getUpdatedPaintProperties(){return this._updatedPaintProps}updatePaintProperties(e){this._updatedPaintProps.add(e.fqid),this.setDirty()}getUpdatedImages(){return Array.from(this._updatedImages.values())}updateImage(e){this._updatedImages.add(e),this.setDirty()}resetUpdatedImages(){this._updatedImages.clear()}reset(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSourceCaches={},this._updatedPaintProps.clear(),this._updatedImages.clear()}}class x extends e.E{constructor(e){super(),this.requestManager=e,this.models={"":{}},this.numModelsLoading={}}loadModel(t,i){return e.l(this.requestManager.transformRequest(i,e.R.Model).url).then((i=>{if(!i)return;const r=e.c(i),n=new e.M(t,void 0,void 0,r);return n.computeBoundsAndApplyParent(),n})).catch((r=>{if(r&&404===r.status)return null;this.fire(new e.a(new Error(`Could not load model ${t} from ${i}: ${r.message}`)))}))}load(t,i){this.models[i]||(this.models[i]={});const r=Object.keys(t);this.numModelsLoading[i]=(this.numModelsLoading[i]||0)+r.length;const n=[];for(const e of r)n.push(this.loadModel(e,t[e]));Promise.allSettled(n).then((t=>{for(let e=0;e{this.fire(new e.a(new Error(`Could not load models: ${t.message}`)))}))}isLoaded(){for(const e in this.numModelsLoading)if(this.numModelsLoading[e]>0)return!1;return!0}hasModel(e,t){return!!this.getModel(e,t)}getModel(e,t){return this.models[t]||(this.models[t]={}),this.models[t][e]?this.models[t][e].model:void 0}addModel(e,t,i){this.models[i]||(this.models[i]={}),this.hasModel(e,i)&&this.models[i][e].numReferences++,this.load({[e]:this.requestManager.normalizeModelURL(t)},i)}addModels(e,t){this.models[t]||(this.models[t]={});const i={};for(const r in e)this.models[t][r]={},i[r]=this.requestManager.normalizeModelURL(e[r]);this.load(i,t)}addModelsFromBucket(e,t){this.models[t]||(this.models[t]={});const i={};for(const r of e)this.hasModel(r,t)?this.models[t][r].numReferences++:i[r]=this.requestManager.normalizeModelURL(r);this.load(i,t)}removeModel(e,t){if(this.models[t]&&this.models[t][e]&&(this.models[t][e].numReferences--,0===this.models[t][e].numReferences)){const i=this.models[t][e].model;delete this.models[t][e],i.destroy()}}listModels(e){return this.models[e]||(this.models[e]={}),Object.keys(this.models[e])}upload(e,t){this.models[t]||(this.models[t]={});for(const i in this.models[t])this.models[t][i].model&&this.models[t][i].model.upload(e.context)}}class v{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,i,r){const n=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},e.e(this.stateChanges[t][n],r),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==n&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][n]){this.deletedStates[t][n]={};for(const e in this.state[t][n])r[e]||(this.deletedStates[t][n][e]=null)}else for(const e in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][e]&&delete this.deletedStates[t][n][e]}removeFeatureState(e,t,i){if(null===this.deletedStates[e])return;const r=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},i&&void 0!==t)null!==this.deletedStates[e][r]&&(this.deletedStates[e][r]=this.deletedStates[e][r]||{},this.deletedStates[e][r][i]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][r])for(i in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][i]=null;else this.deletedStates[e][r]=null;else this.deletedStates[e]=null}getState(t,i){const r=String(i),n=e.e({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return{};for(const t in e)delete n[t]}return n}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(t,i){const r={};for(const n in this.stateChanges){this.state[n]=this.state[n]||{};const t={};for(const i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),e.e(this.state[n][i],this.stateChanges[n][i]),t[i]=this.state[n][i];r[n]=t}for(const n in this.deletedStates){this.state[n]=this.state[n]||{};const t={};if(null===this.deletedStates[n])for(const e in this.state[n])t[e]={},this.state[n][e]={};else for(const e in this.deletedStates[n]){if(null===this.deletedStates[n][e])this.state[n][e]={};else if(this.state[n][e])for(const t of Object.keys(this.deletedStates[n][e]))delete this.state[n][e][t];t[e]=this.state[n][e]}r[n]=r[n]||{},e.e(r[n],t)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const e in t)t[e].setFeatureState(r,i)}}function b(e){const{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class w extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded={},this.requestors=[],this.patterns={},this.atlasImage={},this.atlasTexture={},this.dirty=!0}createScope(t){this.images[t]={},this.loaded[t]=!1,this.updatedImages[t]={},this.patterns[t]={},this.callbackDispatchedThisFrame[t]={},this.atlasImage[t]=new e.h({width:1,height:1})}isLoaded(){for(const e in this.loaded)if(!this.loaded[e])return!1;return!0}setLoaded(e,t){if(this.loaded[t]!==e&&(this.loaded[t]=e,e)){for(const{ids:e,callback:i}of this.requestors)this._notify(e,t,i);this.requestors=[]}}hasImage(e,t){return!!this.getImage(e,t)}getImage(e,t){return this.images[t][e]}addImage(e,t,i){this._validate(e,i)&&(this.images[t][e]=i)}_validate(t,i){let r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let i=0;for(const r of e){if(r[0]o)return[new e.V(i,r,`${r} is greater than the maximum value ${o}`)]}return[]}function M(t){const i=t.valueSpec,r=e.u(t.value.type);let n,o,s,a={};const l="categorical"!==r&&void 0===t.value.property,c=!l,h="array"===e.j(t.value.stops)&&"array"===e.j(t.value.stops[0])&&"object"===e.j(t.value.stops[0][0]),u=T({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===r)return[new e.V(t.key,t.value,'identity function may not have a "stops" property')];let i=[];const n=t.value;return i=i.concat(E({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:d})),"array"===e.j(n)&&0===n.length&&i.push(new e.V(t.key,n,"array must have at least one stop")),i},default:function(e){return Z({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===r&&l&&u.push(new e.V(t.key,t.value,'missing required property "property"')),"identity"===r||t.value.stops||u.push(new e.V(t.key,t.value,'missing required property "stops"')),"exponential"===r&&t.valueSpec.expression&&!e.s(t.valueSpec)&&u.push(new e.V(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(c&&!e.m(t.valueSpec)?u.push(new e.V(t.key,t.value,"property functions not supported")):l&&!e.n(t.valueSpec)&&u.push(new e.V(t.key,t.value,"zoom functions not supported"))),"categorical"!==r&&!h||void 0!==t.value.property||u.push(new e.V(t.key,t.value,'"property" property is required')),u;function d(t){let r=[];const n=t.value,l=t.key;if("array"!==e.j(n))return[new e.V(l,n,`array expected, ${e.j(n)} found`)];if(2!==n.length)return[new e.V(l,n,`array length 2 expected, length ${n.length} found`)];if(h){if("object"!==e.j(n[0]))return[new e.V(l,n,`object expected, ${e.j(n[0])} found`)];if(void 0===n[0].zoom)return[new e.V(l,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new e.V(l,n,"object stop key must have value")];const i=e.u(n[0].zoom);if("number"!=typeof i)return[new e.V(l,n[0].zoom,"stop zoom values must be numbers")];if(s&&s>i)return[new e.V(l,n[0].zoom,"stop zoom values must appear in ascending order")];i!==s&&(s=i,o=void 0,a={}),r=r.concat(T({key:`${l}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:S,value:p}}))}else r=r.concat(p({key:`${l}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return e.o(e.q(n[1]))?r.concat([new e.V(`${l}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(Z({key:`${l}[1]`,value:n[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const l=e.j(t.value),c=e.u(t.value),h=null!==t.value?t.value:s;if(n){if(l!==n)return[new e.V(t.key,h,`${l} stop domain type must match previous stop domain type ${n}`)]}else n=l;if("number"!==l&&"string"!==l&&"boolean"!==l&&"number"!=typeof c&&"string"!=typeof c&&"boolean"!=typeof c)return[new e.V(t.key,h,"stop domain value must be a number, string, or boolean")];if("number"!==l&&"categorical"!==r){let n=`number expected, ${l} found`;return e.m(i)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new e.V(t.key,h,n)]}return"categorical"!==r||"number"!==l||"number"==typeof c&&isFinite(c)&&Math.floor(c)===c?"categorical"!==r&&"number"===l&&"number"==typeof c&&"number"==typeof o&&void 0!==o&&cnew e.V(`${t.key}${i.key}`,t.value,i.message)));const r=i.value.expression||i.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new e.V(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!e.v(r))return[new e.V(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext)return I(r,t);if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!e.x(r,["zoom","feature-state"]))return[new e.V(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!e.y(r))return[new e.V(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function I(t,i){const r=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(i.valueSpec&&i.valueSpec.expression)for(const e of i.valueSpec.expression.parameters)r.delete(e);if(0===r.size)return[];const n=[];return t instanceof e.C&&r.has(t.name)?[new e.V(i.key,i.value,`["${t.name}"] expression is not supported in a filter for a ${i.object.type} layer with id: ${i.object.id}`)]:(t.eachChild((e=>{n.push(...I(e,i))})),n)}function C(t){const i=t.key,r=t.value,n=t.valueSpec,o=[];return Array.isArray(n.values)?-1===n.values.indexOf(e.u(r))&&o.push(new e.V(i,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(e.u(r))&&o.push(new e.V(i,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),o}function P(t){return e.A(e.q(t.value))?A(e.k({},t,{expressionContext:"filter",valueSpec:t.styleSpec[`filter_${t.layerType||"fill"}`]})):z(t)}function z(t){const i=t.value,r=t.key;if("array"!==e.j(i))return[new e.V(r,i,`array expected, ${e.j(i)} found`)];const n=t.styleSpec;let o,s=[];if(i.length<1)return[new e.V(r,i,"filter array must have at least 1 element")];switch(s=s.concat(C({key:`${r}[0]`,value:i[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),e.u(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&"$type"===e.u(i[1])&&s.push(new e.V(r,i,`"$type" cannot be use with operator "${i[0]}"`));case"==":case"!=":3!==i.length&&s.push(new e.V(r,i,`filter array for operator "${i[0]}" must have 3 elements`));case"in":case"!in":i.length>=2&&(o=e.j(i[1]),"string"!==o&&s.push(new e.V(`${r}[1]`,i[1],`string expected, ${o} found`)));for(let a=2;a{t in r&&i.push(new e.V(n,r[t],`"${t}" is prohibited for ref layers`))})),o.layers.forEach((i=>{e.u(i.id)===l&&(t=i)})),t?t.ref?i.push(new e.V(n,r.ref,"ref cannot reference another ref layer")):a=e.u(t.type):"string"==typeof l&&i.push(new e.V(n,r.ref,`ref layer "${l}" not found`))}else if("background"!==a&&"sky"!==a&&"slot"!==a)if(r.source){const t=o.sources&&o.sources[r.source],s=t&&e.u(t.type);t?"vector"===s&&"raster"===a?i.push(new e.V(n,r.source,`layer "${r.id}" requires a raster source`)):"raster"===s&&"raster"!==a?i.push(new e.V(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==s||r["source-layer"]?"raster-dem"===s&&"hillshade"!==a?i.push(new e.V(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"raster-array"!==s||["raster","raster-particle"].includes(a)?"line"!==a||!r.paint||!r.paint["line-gradient"]&&!r.paint["line-trim-offset"]||"geojson"===s&&t.lineMetrics?"raster-particle"===a&&"raster-array"!==s&&i.push(new e.V(n,r.source,`layer "${r.id}" requires a 'raster-array' source.`)):i.push(new e.V(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):i.push(new e.V(n,r.source,"raster-array source can only be used with layer type 'raster'.")):i.push(new e.V(n,r,`layer "${r.id}" must specify a "source-layer"`)):i.push(new e.V(n,r.source,`source "${r.source}" not found`))}else i.push(new e.V(n,r,'missing required property "source"'));return i=i.concat(T({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>Z({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"}),filter:t=>P(e.k({layerType:a},t)),layout:t=>T({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>L(e.k({layerType:a},t))}}),paint:t=>T({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>R(e.k({layerType:a,layer:r},t))}})}})),i}function O(t){const i=t.value,r=t.key,n=e.j(i);return"string"!==n?[new e.V(r,i,`string expected, ${n} found`)]:[]}const B={promoteId:function(t){let{key:i,value:r}=t;if("string"===e.j(r))return O({key:i,value:r});{const e=[];for(const t in r)e.push(...O({key:`${i}.${t}`,value:r[t]}));return e}}};function F(t){const i=t.value,r=t.key,n=t.styleSpec,o=t.style;if(!i.type)return[new e.V(r,i,'"type" is required')];const s=e.u(i.type);let a=[];switch(["vector","raster","raster-dem","raster-array"].includes(s)&&(i.url||i.tiles||a.push(new e.i(r,i,'Either "url" or "tiles" is required.'))),s){case"vector":case"raster":case"raster-dem":case"raster-array":return a=a.concat(T({key:r,value:i,valueSpec:n[`source_${s.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:B})),a;case"geojson":if(a=T({key:r,value:i,valueSpec:n.source_geojson,style:o,styleSpec:n,objectElementValidators:B}),i.cluster)for(const e in i.clusterProperties){const[t,n]=i.clusterProperties[e],o="string"==typeof t?[t,["accumulated"],["get",e]]:t;a.push(...A({key:`${r}.${e}.map`,value:n,expressionContext:"cluster-map"})),a.push(...A({key:`${r}.${e}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return a;case"video":return T({key:r,value:i,valueSpec:n.source_video,style:o,styleSpec:n});case"image":return T({key:r,value:i,valueSpec:n.source_image,style:o,styleSpec:n});case"canvas":return[new e.V(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return C({key:`${r}.type`,value:i.type,valueSpec:{values:N(n)},style:o,styleSpec:n})}}function N(e){return e.source.reduce(((t,i)=>{const r=e[i];return"enum"===r.type.type&&(t=t.concat(Object.keys(r.type.values))),t}),[])}function V(t){const i=t.value,r=t.styleSpec,n=r.light,o=t.style;let s=[];const a=e.j(i);if(void 0===i)return s;if("object"!==a)return s=s.concat([new e.V("light",i,`object expected, ${a} found`)]),s;for(const l in i){const t=l.match(/^(.*)-transition$/);s=s.concat(t&&n[t[1]]&&n[t[1]].transition?Z({key:l,value:i[l],valueSpec:r.transition,style:o,styleSpec:r}):n[l]?Z({key:l,value:i[l],valueSpec:n[l],style:o,styleSpec:r}):[new e.V(l,i[l],`unknown property "${l}"`)])}return s}function U(t){const i=t.value;let r=[];if(!i)return r;const n=e.j(i);if("object"!==n)return r=r.concat([new e.V("light-3d",i,`object expected, ${n} found`)]),r;const o=t.styleSpec,s=o["light-3d"],a=t.key,l=t.style,c=t.style.lights;for(const d of["type","id"])if(!(d in i))return r=r.concat([new e.V("light-3d",i,`missing property ${d} on light`)]),r;if(i.type&&c)for(let d=0;d[],array:E,boolean:function(t){const i=t.value,r=t.key,n=e.j(i);return"boolean"!==n?[new e.V(r,i,`boolean expected, ${n} found`)]:[]},number:S,color:function(t){const i=t.key,r=t.value,n=e.j(r);return"string"!==n?[new e.V(i,r,`color expected, ${n} found`)]:null===e.z(r)?[new e.V(i,r,`color expected, "${r}" found`)]:[]},enum:C,filter:P,function:M,layer:k,object:T,source:F,model:e.F,light:V,"light-3d":U,terrain:j,fog:G,string:O,formatted:function(e){return 0===O(e).length?[]:A(e)},resolvedImage:function(e){return 0===O(e).length?[]:A(e)},projection:function(t){const i=t.value,r=t.styleSpec,n=r.projection,o=t.style;let s=[];const a=e.j(i);if("object"===a)for(const e in i)s=s.concat(Z({key:e,value:i[e],valueSpec:n[e],style:o,styleSpec:r}));else"string"!==a&&(s=s.concat([new e.V("projection",i,`object or string expected, ${a} found`)]));return s},import:function(t){const{value:i,styleSpec:r}=t,{data:n,...o}=i;Object.defineProperty(o,"__line__",{value:i.__line__,enumerable:!1});let s=T(e.k({},t,{value:o,valueSpec:r.import}));return""===e.u(o.id)&&s.push(new e.V(`${t.key}.id`,o,"import id can't be an empty string")),n&&(s=s.concat(W(n,r,{key:`${t.key}.data`}))),s}};function Z(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=t.value,n=t.valueSpec,o=t.styleSpec;if(n.expression&&e.B(e.u(r)))return M(t);if(n.expression&&e.o(e.q(r)))return A(t);if(n.type&&q[n.type]){const r=q[n.type](t);return!0===i&&r.length>0&&"array"===e.j(t.value)?A(t):r}return T(e.k({},t,{valueSpec:n.type?o[n.type]:n}))}function $(t){const i=t.value,r=t.key,n=O(t);return n.length||(-1===i.indexOf("{fontstack}")&&n.push(new e.V(r,i,'"glyphs" url must include a "{fontstack}" token')),-1===i.indexOf("{range}")&&n.push(new e.V(r,i,'"glyphs" url must include a "{range}" token'))),n}function W(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.G;return Z({key:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).key||"",value:t,valueSpec:i.$root,styleSpec:i,style:t,objectElementValidators:{glyphs:$,"*":()=>[]}})}function Q(t){return oe(W(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.G))}const H=e=>oe(F(e)),X=e=>oe(V(e)),Y=e=>oe(U(e)),K=e=>oe(j(e)),J=e=>oe(G(e)),ee=e=>oe(k(e)),te=e=>oe(P(e)),ie=e=>oe(R(e)),re=e=>oe(L(e)),ne=t=>oe(e.F(t));function oe(e){return e.slice().sort(((e,t)=>e.line&&t.line?e.line-t.line:0))}function se(t,i){let r=!1;if(i&&i.length)for(const n of i)n instanceof e.i?e.w(n.message):(t.fire(new e.a(new Error(n.message))),r=!0);return r}const ae=new e.H({anchor:new e.J(e.G.light.anchor),position:new e.K(e.G.light.position),color:new e.J(e.G.light.color),intensity:new e.J(e.G.light.intensity)});class le extends e.E{constructor(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"flat";super(),this._transitionable=new e.L(ae),this.setLight(t,i),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._validate(X,e,i)||(this._transitionable.setTransitionOrValue(e),this.id=t)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&se(this,t.call(Q,e.e({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.G})))}}const ce=new e.H({source:new e.J(e.G.terrain.source),exaggeration:new e.J(e.G.terrain.exaggeration)});let he=class extends e.E{constructor(t,i,r,n){super(),this.scope=r,this._transitionable=new e.L(ce,r,n),this._transitionable.setTransitionOrValue(t,n),this._transitioning=this._transitionable.untransitioned(),this.drapeRenderMode=i}get(){return this._transitionable.serialize()}set(e,t){this._transitionable.setTransitionOrValue(e,t)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}getExaggeration(t){return this._transitioning.possiblyEvaluate(new e.N(t)).get("exaggeration")}isZoomDependent(){const t=this._transitionable._values.exaggeration;return null!=t&&null!=t.value&&null!=t.value.expression&&t.value.expression instanceof e.Z}};const ue=45,de=65,pe=.05;function fe(t,i,r,n){const o=e.S(ue,de,r),[s,a]=me(t,n);let l=1-Math.min(1,Math.exp((i-s)/(a-s)*-6));return l*=l*l,l=Math.min(1,1.00747*l),l*o*t.alpha}function me(e,t){const i=.5/Math.tan(.5*t);return[e.range[0]+i,e.range[1]+i]}function _e(t,i,r,n,o){const s=e.Q.transformMat4([],[i,r,n],o.mercatorFogMatrix);return fe(t,e.Q.length(s),o.pitch,o._fov)}function ge(t,i,r,n,o,s,a){const l=[[r,n,0],[o,n,0],[o,s,0],[r,s,0]];let c=Number.MAX_VALUE,h=-Number.MAX_VALUE;for(const u of l){const t=e.Q.transformMat4([],u,i),r=e.Q.length(t);c=Math.min(c,r),h=Math.max(h,r)}return[fe(t,c,a.pitch,a._fov),fe(t,h,a.pitch,a._fov)]}const ye=new e.H({range:new e.J(e.G.fog.range),color:new e.J(e.G.fog.color),"high-color":new e.J(e.G.fog["high-color"]),"space-color":new e.J(e.G.fog["space-color"]),"horizon-blend":new e.J(e.G.fog["horizon-blend"]),"star-intensity":new e.J(e.G.fog["star-intensity"]),"vertical-range":new e.J(e.G.fog["vertical-range"])});class xe extends e.E{constructor(t,i,r,n){super(),this._transitionable=new e.L(ye,r,new Map(n)),this.set(t,n),this._transitioning=this._transitionable.untransitioned(),this._transform=i,this.properties=new e.U(ye)}get state(){const t=this._transform,i="globe"===t.projection.name,r=e.W(t.zoom),n=this.properties.get("range"),o=[.5,3];return{range:i?[e.X(o[0],n[0],r),e.X(o[1],n[1],r)]:n,horizonBlend:this.properties.get("horizon-blend"),alpha:this.properties.get("color").a}}get(){return this._transitionable.serialize()}set(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._validate(J,t,r))return;const n=e.e({},t);for(const o of Object.keys(e.G.fog))void 0===n[o]&&(n[o]=e.G.fog[o].default);this._options=n,this._transitionable.setTransitionOrValue(this._options,i)}getOpacity(t){if(!this._transform.projection.supportsFog)return 0;const i=this.properties&&this.properties.get("color")||1;return("globe"===this._transform.projection.name?1:e.S(ue,de,t))*i.a}getOpacityAtLatLng(t,i){return this._transform.projection.supportsFog?function(t,i,r){const n=e.O.fromLngLat(i),o=r.elevation?r.elevation.getAtPointOrZero(n):0;return _e(t,n.x,n.y,o,r)}(this.state,t,i):0}getOpacityForTile(t){if(!this._transform.projection.supportsFog)return[1,1];const i=this._transform.calculateFogTileMatrix(t.toUnwrapped());return ge(this.state,i,0,0,e.Y,e.Y,this._transform)}getOpacityForBounds(e,t,i,r,n){return this._transform.projection.supportsFog?ge(this.state,e,t,i,r,n,this._transform):[1,1]}getFovAdjustedRange(e){return this._transform.projection.supportsFog?me(this.state,e):[0,1]}isVisibleOnFrustum(t){if(!this._transform.projection.supportsFog)return!1;const i=[4,5,6,7];for(const r of i){const i=t.points[r];let n;if(i[2]>=0)n=i;else{const o=t.points[r-4];n=e._(o,i,o[2]/(o[2]-i[2]))}if(_e(this.state,n[0],n[1],0,this._transform)>=pe)return!0}return!1}updateConfig(e){this._transitionable.setTransitionOrValue(this._options,new Map(e))}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&se(this,t.call(Q,e.e({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.G})))}}class ve extends e.E{constructor(t,i,r,n){super(),this.scope=r,this._options=t,this.properties=new e.U(i),this._transitionable=new e.L(i,r,new Map(n)),this._transitionable.setTransitionOrValue(t.properties),this._transitioning=this._transitionable.untransitioned()}updateConfig(e){this._transitionable.setTransitionOrValue(this._options.properties,new Map(e))}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}get(){return this._options.properties=this._transitionable.serialize(),this._options}set(e,t){this._options=e,this._transitionable.setTransitionOrValue(e.properties,t)}shadowsEnabled(){return!!this.properties&&!0===this.properties.get("cast-shadows")}}const be=new e.H({color:new e.J(e.G.properties_light_ambient.color),intensity:new e.J(e.G.properties_light_ambient.intensity)}),we=new e.H({direction:new e.$(e.G.properties_light_directional.direction),color:new e.J(e.G.properties_light_directional.color),intensity:new e.J(e.G.properties_light_directional.intensity),"cast-shadows":new e.J(e.G.properties_light_directional["cast-shadows"]),"shadow-intensity":new e.J(e.G.properties_light_directional["shadow-intensity"])});class Te{constructor(e,t,i,r){this.screenBounds=e,this.cameraPoint=t,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,r)}static createFromScreenPoints(t,i){let r,n;if(t instanceof e.P||"number"==typeof t[0]){const o=e.P.convert(t);r=[o],n=i.isPointAboveHorizon(o)}else{const o=e.P.convert(t[0]),s=e.P.convert(t[1]);r=[o,s],n=e.a0(o,s).every((e=>i.isPointAboveHorizon(e)))}return new Te(r,i.getCameraPoint(),n,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.a0(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.P(1,1)):this.screenBounds[1],n=e.a0(i,r,0,!1);return this.cameraPoint.y>r.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=r.x?n[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(n[3]=this.cameraPoint)),e.a1(n,t)}bufferedCameraGeometryGlobe(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.P(1,1)):this.screenBounds[1],n=e.a0(i,r,t),o=this.cameraPoint.clone();switch(3*((o.y>i.y)+(o.y>r.y))+((o.x>i.x)+(o.x>r.x))){case 0:n[0]=o,n[4]=o.clone();break;case 1:n.splice(1,0,o);break;case 2:n[1]=o;break;case 3:n.splice(4,0,o);break;case 5:n.splice(2,0,o);break;case 6:n[3]=o;break;case 7:n.splice(3,0,o);break;case 8:n[2]=o}return n}containsTile(t,i,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=t.queryPadding/i._pixelsPerMercatorPixel+1,s=r?this._bufferedCameraMercator(o,i):this._bufferedScreenMercator(o,i);let a=t.tileID.wrap+(s.unwrapped?n:0);const l=s.polygon.map((i=>e.a2(t.tileTransform,i,a)));if(!e.a3(l,0,0,e.Y,e.Y))return;a=t.tileID.wrap+(this.screenGeometryMercator.unwrapped?n:0);const c=this.screenGeometryMercator.polygon.map((i=>e.a4(t.tileTransform,i,a))),h=c.map((t=>new e.P(t[0],t[1]))),u=i.getFreeCameraOptions().position||new e.O(0,0,0),d=e.a4(t.tileTransform,u,a),p=c.map((t=>{const i=e.Q.sub(t,t,d);return e.Q.normalize(i,i),new e.a5(d,i)})),f=e.a6(t,1,i.zoom)*i._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:h,tilespaceRays:p,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=e.a7(l),m.min.x=e.ad(m.min.x,0,e.Y),m.min.y=e.ad(m.min.y,0,e.Y),m.max.x=e.ad(m.max.x,0,e.Y),m.max.y=e.ad(m.max.y,0,e.Y),m),tile:t,tileID:t.tileID,pixelToTileUnitsFactor:f};var m}_bufferedScreenMercator(e,t){const i=Me(e);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedScreenGeometry(e),t):{polygon:this.bufferedScreenGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._screenRaycastCache[i]=r,r}}_bufferedCameraMercator(e,t){const i=Me(e);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(e),t):{polygon:this.bufferedCameraGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._cameraRaycastCache[i]=r,r}}_projectAndResample(t,i){const r=function(t,i){const r=e.a9.multiply([],i.pixelMatrix,i.globeMatrix),n=[0,-e.ae,0,1],o=[0,e.ae,0,1],s=[0,0,0,1];e.aa.transformMat4(n,n,r),e.aa.transformMat4(o,o,r),e.aa.transformMat4(s,s,r);const a=new e.P(n[0]/n[3],n[1]/n[3]),l=new e.P(o[0]/o[3],o[1]/o[3]),c=e.ab(t,a)&&n[3]1?Ee(t.slice(0,d),i):[],m=dnew e.P(Se(t.x),t.y))),m=m.map((t=>new e.P(Se(t.x),t.y)));const _=[...f];0===_.length&&_.push(m[m.length-1]);const g=e.X(_[_.length-1].y,(0===m.length?f[0]:m[0]).y,p);let y;return y=c?[new e.P(0,g),new e.P(0,0),new e.P(1,0),new e.P(1,g)]:[new e.P(1,g),new e.P(1,1),new e.P(0,1),new e.P(0,g)],_.push(...y),0===m.length?_.push(f[0]):_.push(...m),{polygon:_.map((t=>new e.O(t.x,t.y))),unwrapped:!1}}(t,i);if(r)return r;const n=function(t,i){let r=!1,n=-1/0,o=0;for(let e=0;en&&(n=t[e].x,o=e);for(let e=0;e.5&&(n.x{e.x-=1})),{polygon:t,unwrapped:r}}(Ee(t,i).map((t=>new e.P(Se(t.x),t.y))),i);return{polygon:n.polygon.map((t=>new e.O(t.x,t.y))),unwrapped:n.unwrapped}}}function Ee(t,i){return e.ac(t,(e=>{const t=i.pointCoordinate3D(e);e.x=t.x,e.y=t.y}),1/256)}function Se(e){return e<0?1+e%1:e%1}function Me(e){return 100*e|0}function Ae(t,i,r,n,o){const s=function(r,n){if(r)return o(r);if(n){t.url&&n.tiles&&t.tiles&&delete t.tiles;const r=e.af(e.e(n,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(r.vectorLayers=n.vector_layers,r.vectorLayerIds=r.vectorLayers.map((e=>e.id))),n.raster_layers&&(r.rasterLayers=n.raster_layers,r.rasterLayerIds=r.rasterLayers.map((e=>e.id))),r.tiles=i.canonicalizeTileset(r,t.url),o(null,r)}};return t.url?e.g(i.transformRequest(i.normalizeSourceURL(t.url,null,r,n),e.R.Source),s):e.f.frame((()=>s(null,t)))}class Ie{constructor(t,i,r){this.bounds=e.ag.convert(this.validateBounds(t)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),r=Math.floor(e.a8(this.bounds.getWest())*i),n=Math.floor(e.ah(this.bounds.getNorth())*i),o=Math.ceil(e.a8(this.bounds.getEast())*i),s=Math.ceil(e.ah(this.bounds.getSouth())*i);return t.x>=r&&t.x=n&&t.y{this._tileJSONRequest=null,this._loaded=!0,n?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),r&&2!==r.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${r}`),this.fire(new e.a(n))):o&&(e.e(this,o),o.bounds&&(this.tileBounds=new Ie(o.bounds,this.minzoom,this.maxzoom)),e.am(o.tiles,this.map._requestManager._customAccessToken),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(n)}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest();const t=e.aj(this.id,this.scope);this.load((()=>this.map.style.clearSource(t)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.e({},this._options)}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),n={request:this.map._requestManager.transformRequest(r,e.R.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,scope:this.scope,pixelRatio:e.f.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:t.isSymbolTile,brightness:this.map.style&&this.map.style.getBrightness()||0,extraShadowCaster:t.isExtraShadowCaster};if(n.request.collectResourceTiming=this._collectResourceTiming,t.actor&&"expired"!==t.state)"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",n,o.bind(this));else if(t.actor=this._tileWorkers[r]=this._tileWorkers[r]||this.dispatcher.getActor(),this.dispatcher.ready)t.request=t.actor.send("loadTile",n,o.bind(this),void 0,!0);else{const i=e.ak.call({deduped:this._deduped},n,((e,i)=>{e||!i?o.call(this,e):(n.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},t.actor&&t.actor.send("loadTile",n,o.bind(this),void 0,!0))}),!0);t.request={cancel:i}}function o(r,n){return delete t.request,t.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e.al(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send("abortTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope})}unloadTile(e){e.actor&&e.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope}),e.destroy()}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Pe extends e.E{constructor(t,i,r,n){super(),this.id=t,this.dispatcher=r,this.setEventedParent(n),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},i),e.e(this,e.af(i,["url","scheme","tileSize"]))}load(t){this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"})),this._tileJSONRequest=Ae(this._options,this.map._requestManager,null,null,((i,r)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new e.a(i)):r&&(e.e(this,r),r.bounds&&(this.tileBounds=new Ie(r.bounds,this.minzoom,this.maxzoom)),e.am(r.tiles),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(i)}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest();const t=e.aj(this.id,this.scope);this.load((()=>this.map.style.clearSource(t)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const r=e.f.devicePixelRatio>=2,n=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),r,this.tileSize);t.request=e.d(this.map._requestManager.transformRequest(n,e.R.Tile),((r,n,o,s)=>(delete t.request,t.aborted?(t.state="unloaded",i(null)):r?(t.state="errored",i(r)):n?(this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:o,expires:s}),t.setTexture(n,this.map.painter),t.state="loaded",e.al(this.dispatcher),void i(null)):i(null))))}abortTile(e,t){e.request&&(e.request.cancel(),delete e.request),t()}unloadTile(t,i){t.texture&&t.texture instanceof e.T?(t.destroy(!0),t.texture&&t.texture instanceof e.T&&this.map.painter.saveTileTexture(t.texture)):t.destroy(),i()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class ze extends Pe{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-array",this.maxzoom=22,this._options=e.e({type:"raster-array"},i)}triggerRepaint(e){const t=this.map.painter._terrain,i=this.map.style.getSourceCache(this.id);t&&t.enabled&&i&&t._clearRenderCacheForTile(i.id,e.tileID),this.map.triggerRepaint()}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize),n=this.map._requestManager.transformRequest(r,e.R.Tile);t.requestParams=n,t.actor||(t.actor=this.dispatcher.getActor()),t.request=t.fetchHeader(void 0,((e,r,n,o)=>{if(delete t.request,t.aborted)return t.state="unloaded",i(null);if(e){if(20===e.code)return;return t.state="errored",i(e)}this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:n,expires:o}),t.state="empty",i(null)}))}unloadTile(t){const i=t.texture;i&&i instanceof e.T?(t.destroy(!0),this.map.painter.saveTileTexture(i)):(t.destroy(),t.flushQueues(),t._isHeaderLoaded=!1,delete t._mrt,delete t.textureDescriptor),t.fbo&&(t.fbo.destroy(),delete t.fbo),delete t.request,delete t.requestParams,delete t.neighboringTiles,t.state="unloaded"}prepareTile(t,i,r){t._isHeaderLoaded&&("empty"!==t.state&&(t.state="reloading"),t.fetchBand(i,r,((i,r)=>{if(i)return t.state="errored",this.fire(new e.a(i)),void this.triggerRepaint(t);r&&(t.setTexture(r,this.map.painter),t.state="loaded",this.triggerRepaint(t))})))}getInitialBand(e){if(!this.rasterLayers)return 0;const t=this.rasterLayers.find((t=>{let{id:i}=t;return i===e})),i=t&&t.fields,r=i&&i.bands&&i.bands;return r?r[0]:0}getTextureDescriptor(t,i,r){if(!t)return;const n=i.sourceLayer||this.rasterLayerIds&&this.rasterLayerIds[0];if(!n)return;let o=null;i instanceof e.aq?o=i.paint.get("raster-array-band"):i instanceof e.ar&&(o=i.paint.get("raster-particle-array-band"));const s=o||this.getInitialBand(n);if(null!=s)if(t.textureDescriptor){if(!t.updateNeeded(n,s)||r)return Object.assign({},t.textureDescriptor,{texture:t.texture})}else this.prepareTile(t,n,s)}}const De=32,Re=33,Le=new Uint16Array(8184);for(let ya=0;ya<2046;ya++){let e=ya+2,t=0,i=0,r=0,n=0,o=0,s=0;for(1&e?r=n=o=De:t=i=s=De;(e>>=1)>1;){const a=t+r>>1,l=i+n>>1;1&e?(r=t,n=i,t=o,i=s):(t=r,i=n,r=o,n=s),o=a,s=l}const a=4*ya;Le[a+0]=t,Le[a+1]=i,Le[a+2]=r,Le[a+3]=n}const ke=new Uint16Array(2178),Oe=new Uint8Array(1089),Be=new Uint16Array(1089);function Fe(e){return 0===e?-.03125:32===e?.03125:0}class Ne{constructor(e,t,i,r){this.id=Ne.uniqueIdxCounter,Ne.uniqueIdxCounter++,this.context=e;const n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||r||t.destroy()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){this.id=Ne.uniqueIdxCounter,Ne.uniqueIdxCounter++;const t=this.context.gl;this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}Ne.uniqueIdxCounter=0;const Ve={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Ue{constructor(e,t,i,r,n,o){this.length=t.length,this.attributes=i,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.instanceCount=o,this.context=e;const s=e.gl;this.buffer=s.createBuffer(),e.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||n||t.destroy()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){const t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let i=0;i0&&e.vertexAttribDivisor(n,i)}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class je{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Ge extends je{getDefault(){return e.aA.transparent}set(e){const t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class qe extends je{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class Ze extends je{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class $e extends je{getDefault(){return[!0,!0,!0,!0]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class We extends je{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class Qe extends je{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class He extends je{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){const t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class Xe extends je{getDefault(){const e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class Ye extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class Ke extends je{getDefault(){return[0,1]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class Je extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class et extends je{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class tt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class it extends je{getDefault(){const e=this.gl;return[e.ONE,e.ZERO,e.ONE,e.ZERO]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.blendFuncSeparate(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class rt extends je{getDefault(){return e.aA.transparent}set(e){const t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class nt extends je{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquationSeparate(e,e),this.current=e,this.dirty=!1)}}class ot extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class st extends je{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class at extends je{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}let lt=class extends je{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}};class ct extends je{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class ht extends je{getDefault(){const e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class ut extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class dt extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class pt extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class ft extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class mt extends je{getDefault(){return null}set(e){const t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class _t extends je{getDefault(){return null}set(e){this.gl&&(e!==this.current||this.dirty)&&(this.gl.bindVertexArray(e),this.current=e,this.dirty=!1)}}class gt extends je{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class yt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class xt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class vt extends je{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class bt extends vt{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class wt extends vt{attachment(){return this.gl.DEPTH_ATTACHMENT}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,this.attachment(),t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Tt extends vt{attachment(){return this.gl.DEPTH_ATTACHMENT}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,this.attachment(),t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class Et extends wt{attachment(){return this.gl.DEPTH_STENCIL_ATTACHMENT}}class St{constructor(e,t,i,r,n){this.context=e,this.width=t,this.height=i;const o=this.framebuffer=e.gl.createFramebuffer();r&&(this.colorAttachment=new bt(e,o)),n&&(this.depthAttachmentType=n,this.depthAttachment="renderbuffer"===n?new wt(e,o):new Tt(e,o))}destroy(){const e=this.context.gl;if(this.colorAttachment){const t=this.colorAttachment.get();t&&e.deleteTexture(t)}if(this.depthAttachment&&this.depthAttachmentType)if("renderbuffer"===this.depthAttachmentType){const t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}else{const t=this.depthAttachment.get();t&&e.deleteTexture(t)}e.deleteFramebuffer(this.framebuffer)}}class Mt{constructor(e,t,i){this.func=e,this.mask=t,this.range=i}}Mt.ReadOnly=!1,Mt.ReadWrite=!0,Mt.disabled=new Mt(519,Mt.ReadOnly,[0,1]);const At=7680;class It{constructor(e,t,i,r,n,o){this.test=e,this.ref=t,this.mask=i,this.fail=r,this.depthFail=n,this.pass=o}}It.disabled=new It({func:519,mask:0},0,0,At,At,At);const Ct=771;class Pt{constructor(e,t,i,r){this.blendFunction=e,this.blendColor=t,this.mask=i,this.blendEquation=r}}Pt.Replace=[1,0,1,0],Pt.disabled=new Pt(Pt.Replace,e.aA.transparent,[!1,!1,!1,!1]),Pt.unblended=new Pt(Pt.Replace,e.aA.transparent,[!0,!0,!0,!0]),Pt.alphaBlended=new Pt([1,Ct,1,Ct],e.aA.transparent,[!0,!0,!0,!0]),Pt.multiply=new Pt([774,0,774,0],e.aA.transparent,[!0,!0,!0,!0]);const zt=1029,Dt=2305;class Rt{constructor(e,t,i){this.enable=e,this.mode=t,this.frontFace=i}}Rt.disabled=new Rt(!1,zt,Dt),Rt.backCCW=new Rt(!0,zt,Dt),Rt.backCW=new Rt(!0,zt,2304),Rt.frontCW=new Rt(!0,1028,2304),Rt.frontCCW=new Rt(!0,1028,Dt);class Lt{constructor(e,t){this.gl=e,this.clearColor=new Ge(this),this.clearDepth=new qe(this),this.clearStencil=new Ze(this),this.colorMask=new $e(this),this.depthMask=new We(this),this.stencilMask=new Qe(this),this.stencilFunc=new He(this),this.stencilOp=new Xe(this),this.stencilTest=new Ye(this),this.depthRange=new Ke(this),this.depthTest=new Je(this),this.depthFunc=new et(this),this.blend=new tt(this),this.blendFunc=new it(this),this.blendColor=new rt(this),this.blendEquation=new nt(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new at(this),this.program=new lt(this),this.activeTexture=new ct(this),this.viewport=new ht(this),this.bindFramebuffer=new ut(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new pt(this),this.bindVertexBuffer=new ft(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=new _t(this),this.pixelStoreUnpack=new gt(this),this.pixelStoreUnpackPremultiplyAlpha=new yt(this),this.pixelStoreUnpackFlipY=new xt(this),this.options=t?{...t}:{},this.options.extTextureFilterAnisotropicForceOff||(this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT))),this.extDebugRendererInfo=e.getExtension("WEBGL_debug_renderer_info"),this.extDebugRendererInfo&&(this.renderer=e.getParameter(this.extDebugRendererInfo.UNMASKED_RENDERER_WEBGL),this.vendor=e.getParameter(this.extDebugRendererInfo.UNMASKED_VENDOR_WEBGL)),this.options.extTextureFloatLinearForceOff||(this.extTextureFloatLinear=e.getExtension("OES_texture_float_linear")),this.extRenderToTextureHalfFloat=e.getExtension("EXT_color_buffer_half_float"),this.extTimerQuery=e.getExtension("EXT_disjoint_timer_query_webgl2"),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.maxPointSize=e.getParameter(e.ALIASED_POINT_SIZE_RANGE)[1]}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArrayOES.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t,i){return new Ne(this,e,t,i)}createVertexBuffer(e,t,i,r,n){return new Ue(this,e,t,i,r,n)}createRenderbuffer(e,t,i){const r=this.gl,n=r.createRenderbuffer();return this.bindRenderbuffer.set(n),r.renderbufferStorage(r.RENDERBUFFER,e,t,i),this.bindRenderbuffer.set(null),n}createFramebuffer(e,t,i,r){return new St(this,e,t,i,r)}clear(e){let{color:t,depth:i,stencil:r,colorMask:n}=e;const o=this.gl;let s=0;t&&(s|=o.COLOR_BUFFER_BIT,this.clearColor.set(t),this.colorMask.set(n||[!0,!0,!0,!0])),void 0!==i&&(s|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),void 0!==r&&(s|=o.STENCIL_BUFFER_BIT,this.clearStencil.set(r),this.stencilMask.set(255)),o.clear(s)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t(e.blendFunction,Pt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor),e.blendEquation?this.blendEquation.set(e.blendEquation):this.blendEquation.setDefault()),this.colorMask.set(e.mask)}unbindVAO(){this.bindVertexArrayOES.set(null)}}var kt=e.aB([{name:"a_index",type:"Int16",components:1}]);const Ot=.15000000000000002;class Bt{constructor(t,i,r,n){const o={width:r[0],height:r[1],data:null},s=t.gl;this.targetColorTexture=new e.T(t,o,s.RGBA,{useMipmap:!1}),this.backgroundColorTexture=new e.T(t,o,s.RGBA,{useMipmap:!1}),this.context=t,this.setParticleTextureDimension(i,n),this.lastInvalidatedAt=0}setParticleTextureDimension(t,i){if(this.particleTextureDimension===i)return;(this.particleTexture0||this.particleTexture1||this.particleIndexBuffer||this.particleSegment)&&(this.particleTexture0.destroy(),this.particleTexture1.destroy(),this.particleIndexBuffer.destroy(),this.particleSegment.destroy());const r=this.context.gl,n=i*i,o=new Uint8Array(4*n),s=.7692307692307692,a=e.aC(t.key);for(let e=0;e[[new e.P(0,0),new e.P(e.Y+1,0),new e.P(e.Y+1,e.Y+1),new e.P(0,e.Y+1),new e.P(0,0)]]};class Nt{constructor(t,i,r,n,o){this.tileID=t,this.uid=e.aF(),this.uses=0,this.tileSize=i,this.tileZoom=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=o,n&&n.style&&(this._lastUpdatedBrightness=n.style.getBrightness()),this.expiredRequestCount=0,this.state="loading",n&&n.transform&&(this.projection=n.transform.projection)}registerFadeDuration(t){const i=t+this.timeAdded;it.getLayer(e))).filter(Boolean);if(0!==e.length){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(const t of e)i[t.fqid]=r}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.aH){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.aH&&i.hasRTLText){this.hasRTLText=!0,e.aI();break}}this.queryPadding=0;for(const e in this.buckets){const t=this.buckets[e],r=i.style.getOwnLayer(e);if(!r)continue;const n=r.queryRadius(t);this.queryPadding=Math.max(this.queryPadding,n)}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas),this._lastUpdatedBrightness=t.brightness}else this.collisionBoxArray=new e.aG}unloadVectorData(){if(this.hasData()){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(e){return this.buckets[e.fqid]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const i=t.gl,r=this.imageAtlas;if(r&&!r.uploaded){const n=!!Object.keys(r.patternPositions).length;this.imageAtlasTexture=new e.T(t,r.image,i.RGBA,{useMipmap:n}),this.imageAtlas.uploaded=!0}this.glyphAtlasImage&&(this.glyphAtlasTexture=new e.T(t,this.glyphAtlasImage,i.R8),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new e.T(t,this.lineAtlas.image,i.R8),this.lineAtlas.uploaded=!0)}prepare(e,t,i){if(this.imageAtlas&&this.imageAtlasTexture&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture,i),!t||!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData)return;const r=t.style.getBrightness();(this._lastUpdatedBrightness||r)&&(this._lastUpdatedBrightness&&r&&Math.abs(this._lastUpdatedBrightness-r)<.001||(this._lastUpdatedBrightness=r,this.updateBuckets(void 0,t)))}queryRenderedFeatures(e,t,i,r,n,o,s,a){return this.latestFeatureIndex&&(this.latestFeatureIndex.rawTileData||this.latestFeatureIndex.is3DTile)?this.latestFeatureIndex.query({tileResult:r,pixelPosMatrix:s,transform:o,params:n,tileTransform:this.tileTransform},e,t,i):{}}querySourceFeatures(t,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),o=i?i.sourceLayer:"",s=n._geojsonTileLayer||n[o];if(!s)return;const a=e.aJ(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let d=0;de)t=!1;else if(i)if(this.expirationTime=0;e--){const t=4*e,i=Le[t+0],r=Le[t+1],n=Le[t+2],o=Le[t+3],s=i+n>>1,a=r+o>>1,l=s+a-r,c=a+i-s,h=r*Re+i,u=o*Re+n,d=a*Re+s,p=Math.hypot((ke[2*h+0]+ke[2*u+0])/2-ke[2*d+0],(ke[2*h+1]+ke[2*u+1])/2-ke[2*d+1])>=16;Oe[d]=Oe[d]||(p?1:0),e<1022&&(Oe[d]=Oe[d]||Oe[(r+c>>1)*Re+(i+l>>1)]||Oe[(o+c>>1)*Re+(n+l>>1)])}const o=new e.ay,s=new e.az;let a=0;function l(t,i){const r=i*Re+t;return 0===Be[r]&&(o.emplaceBack(ke[2*r+0],ke[2*r+1],t*e.Y/De,i*e.Y/De),Be[r]=++a),Be[r]-1}function c(e,t,i,r,n,o){const a=e+i>>1,h=t+r>>1;if(Math.abs(e-n)+Math.abs(t-o)>1&&Oe[h*Re+a])c(n,o,e,t,a,h),c(i,r,n,o,a,h);else{const a=l(e,t),c=l(i,r),h=l(n,o);s.emplaceBack(a,c,h)}}return c(0,0,De,De,De,0),c(De,De,0,0,0,De),{vertices:o,indices:s}}(this.tileID.canonical,i);n=t.vertices,o=t.indices}else{n=new e.ay,o=new e.az;for(const{x:e,y:i}of r)n.emplaceBack(e,i,0,0);const t=e.aT(n.int16,void 0,4);for(let e=0;e0&&(l=e.a9.invert(new Float64Array(16),i.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,i,s,l,a),this._makeGlobeTileDebugTextBuffer(t,n,i,s,l,a)}_globePoint(t,i,r,n,o,s,a){let l=e.aX(t,i,r);if(s){const o=1<.5?d=-1:u<-.5&&(d=1);let p=(t/e.Y+r.x)/o+d,f=(i/e.Y+r.y)/o;p=(p-c)*n._pixelsPerMercatorPixel+c,f=(f-h)*n._pixelsPerMercatorPixel+h;const m=[p*n.worldSize,f*n.worldSize,0];e.Q.transformMat4(m,m,s),l=e.aY(l,m,a)}return e.Q.transformMat4(l,l,o)}_makeGlobeTileDebugBorderBuffer(t,i,r,n,o,s){const a=new e.aQ,l=new e.aR,c=new e.aZ,h=(e,t,h,u,d)=>{const p=(h-e)/(d-1),f=(u-t)/(d-1),m=a.length;for(let _=0;_u*e+t;for(let e=0;e0&&void 0!==arguments[0]&&arguments[0];for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&(this.imageAtlasTexture.destroy(),delete this.imageAtlasTexture),this.glyphAtlasTexture&&(this.glyphAtlasTexture.destroy(),delete this.glyphAtlasTexture),this.lineAtlasTexture&&(this.lineAtlasTexture.destroy(),delete this.lineAtlasTexture),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),!t&&this.texture&&this.texture instanceof e.T&&(this.texture.destroy(),delete this.texture),this.hillshadeFBO&&(this.hillshadeFBO.destroy(),delete this.hillshadeFBO),this.dem&&delete this.dem,this.neighboringTiles&&delete this.neighboringTiles,this.demTexture&&(this.demTexture.destroy(),delete this.demTexture),this.rasterParticleState&&(this.rasterParticleState.destroy(),delete this.rasterParticleState),this.latestFeatureIndex=null,this.state="unloaded"}}const Vt={vector:Ce,raster:Pe,"raster-dem":class extends Pe{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function n(e,r){e&&(t.state="errored",i(e)),r&&(t.dem=r,t.dem.onDeserialize(),t.needsHillshadePrepare=!0,t.needsDEMTextureUpload=!0,t.state="loaded",i(null))}t.request=e.d(this.map._requestManager.transformRequest(r,e.R.Tile),function(r,o,s,a){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(r)t.state="errored",i(r);else if(o){this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:s,expires:a});const i=ImageBitmap&&o instanceof ImageBitmap&&e.an(),r=1-(o.width-e.ao(o.width))/2;r<1||t.neighboringTiles||(t.neighboringTiles=this._getNeighboringTiles(t.tileID));const l=i?o:e.f.getImageData(o,r),c={uid:t.uid,coord:t.tileID,source:this.id,scope:this.scope,rawImageData:l,encoding:this.encoding,padding:r};t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",c,n.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(t){const i=t.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,o=0===i.x?t.wrap-1:t.wrap,s=(i.x+1+r)%r,a=i.x+1===r?t.wrap+1:t.wrap,l={};return l[new e.ap(t.overscaledZ,o,i.z,n,i.y).key]={backfilled:!1},l[new e.ap(t.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new e.ap(t.overscaledZ,o,i.z,n,i.y-1).key]={backfilled:!1},l[new e.ap(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.ap(t.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+10&&void 0!==arguments[0]&&arguments[0];if(this._pendingLoad)return void(this._coalesce=!0);this.fire(new e.b("dataloading",{dataType:"source"})),this._loaded=!1;const i=e.e({append:t},this.workerOptions);i.scope=this.scope;const r=this._data;"string"==typeof r?(i.request=this.map._requestManager.transformRequest(e.f.resolveURL(r),e.R.Source),i.request.collectResourceTiming=this._collectResourceTiming):i.data=JSON.stringify(r),this._pendingLoad=this.actor.send(`${this.type}.loadData`,i,((i,r)=>{if(this._loaded=!0,this._pendingLoad=null,i)this.fire(new e.a(i));else{const t={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&r&&r.resourceTiming&&r.resourceTiming[this.id]&&(t.resourceTiming=r.resourceTiming[this.id]),this.fire(new e.b("data",t)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(t),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(t,i){const r=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const n={type:this.type,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,scope:this.scope,pixelRatio:e.f.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,brightness:this.map.style&&this.map.style.getBrightness()||0};t.request=this.actor.send(r,n,((e,n)=>(delete t.request,t.destroy(),t.aborted?i(null):e?i(e):(t.loadVectorData(n,this.map.painter,"reloadTile"===r),i(null)))),void 0,"loadTile"===r)}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0}unloadTile(e){this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope}),e.destroy()}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends e.as{constructor(e,t,i,r){super(e,t,i,r),this.roundZoom=!0,this.type="video",this.options=t}load(){this._loaded=!1;const t=this.options;this.urls=[];for(const i of t.urls)this.urls.push(this.map._requestManager.transformRequest(i,e.R.Source).url);e.at(this.urls,((t,i)=>{this._loaded=!0,t?this.fire(new e.a(t)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.a(new e.V(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new e.T(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(t)}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:e.as,model:class extends e.E{constructor(e,t,i,r){super(),this.id=e,this.type="model",this.models=[],this._loaded=!1,this._options=t}load(){const t=[];for(const i in this._options.models){const r=this._options.models[i],n=e.l(this.map._requestManager.transformRequest(r.uri,e.R.Model).url).then((t=>{if(!t)return;const n=e.c(t),o=new e.M(i,r.position,r.orientation,n);o.computeBoundsAndApplyParent(),this.models.push(o)})).catch((t=>{this.fire(new e.a(new Error(`Could not load model ${i} from ${r.uri}: ${t.message}`)))}));t.push(n)}return Promise.allSettled(t).then((()=>{this._loaded=!0,this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"}))})).catch((t=>{this.fire(new e.a(new Error(`Could not load models: ${t.message}`)))}))}onAdd(e){this.map=e,this.load()}hasTransition(){return!1}loaded(){return this._loaded}getModels(){return this.models}loadTile(e,t){}serialize(){return{type:"model"}}},"batched-model":class extends e.E{constructor(e,t,i,r){super(),this.type="batched-model",this.id=e,this.tileSize=512,this._options=t,this.tiles=this._options.tiles,this.maxzoom=t.maxzoom||19,this.minzoom=t.minzoom||0,this.roundZoom=!0,this.usedInConflation=!0,this.dispatcher=i,this.reparseOverscaled=!1,this.scheme="xyz",this._loaded=!1,this.setEventedParent(r)}onAdd(e){this.map=e,this.load()}load(t){this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"}));const i=Array.isArray(this.map._language)?this.map._language.join():this.map._language,r=this.map._worldview;this._tileJSONRequest=Ae(this._options,this.map._requestManager,i,r,((n,o)=>{this._tileJSONRequest=null,this._loaded=!0,n?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),r&&2!==r.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${r}`),this.fire(new e.a(n))):o&&(e.e(this,o),o.bounds&&(this.tileBounds=new Ie(o.bounds,this.minzoom,this.maxzoom)),e.am(o.tiles,this.map._requestManager._customAccessToken),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(n)}))}hasTransition(){return!1}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loaded(){return this._loaded}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),n={request:this.map._requestManager.transformRequest(r,e.R.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,scope:this.scope,showCollisionBoxes:this.map.showCollisionBoxes,isSymbolTile:t.isSymbolTile,brightness:this.map.style&&this.map.style.getBrightness()||0};if(t.actor&&"expired"!==t.state)if("loading"===t.state)t.reloadCallback=i;else{if(t.buckets){const e=Object.values(t.buckets);for(const t of e)t.dirty=!0;return void(t.state="loaded")}t.request=t.actor.send("reloadTile",n,o.bind(this))}else t.actor=this.dispatcher.getActor(),t.request=t.actor.send("loadTile",n,o.bind(this),void 0,!0);function o(e,r){return t.aborted?i(null):e&&404!==e.status?i(e):(r&&(r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(r),t.buckets={...t.buckets,...r.buckets},r.featureIndex&&(t.latestFeatureIndex=r.featureIndex)),t.state="loaded",void i(null))}}serialize(){return e.e({},this._options)}},canvas:class extends e.as{constructor(t,i,r,n){super(t,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new e.a(new e.V(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.a(new e.V(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.a(new e.V(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.a(new e.V(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.a(new e.V(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.a(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?!t&&!this._playing||this.texture instanceof e.au||this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.T(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i)}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},custom:class extends e.E{constructor(t,i,r,n){super(),this.id=t,this.type="custom",this._dataType="raster",this._dispatcher=r,this._implementation=i,this.setEventedParent(n),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new e.a(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new e.a(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new Ie(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),e.e(this,e.af(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]))}serialize(){return e.af(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))}loaded(){return this._loaded}onAdd(t){this._map=t,this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(t),this.load()}onRemove(e){this._implementation.onRemove&&this._implementation.onRemove(e)}hasTile(e){if(this._implementation.hasTile){const{x:t,y:i,z:r}=e.canonical;return this._implementation.hasTile({x:t,y:i,z:r})}return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e,t){const{x:i,y:r,z:n}=e.tileID.canonical,o=new AbortController;e.request=Promise.resolve(this._implementation.loadTile({x:i,y:r,z:n},{signal:o.signal})).then(function(i){return delete e.request,e.aborted?(e.state="unloaded",t(null)):void 0===i?(e.state="errored",t(null)):null===i?(this.loadTileData(e,{width:this.tileSize,height:this.tileSize,data:null}),e.state="loaded",t(null)):function(e){return e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof ImageBitmap||e instanceof HTMLImageElement}(i)?(this.loadTileData(e,i),e.state="loaded",void t(null)):(e.state="errored",t(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((i=>{20!==i.code&&(e.state="errored",t(i))})),e.request.cancel=()=>o.abort()}loadTileData(e,t){e.setTexture(t,this._map.painter)}unloadTile(t,i){if(t.texture&&t.texture instanceof e.T?(t.destroy(!0),t.texture&&t.texture instanceof e.T&&this._map.painter.saveTileTexture(t.texture)):t.destroy(),this._implementation.unloadTile){const{x:e,y:i,z:r}=t.tileID.canonical;this._implementation.unloadTile({x:e,y:i,z:r})}i()}abortTile(e,t){e.request&&e.request.cancel&&(e.request.cancel(),delete e.request),t()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((e=>({x:e.canonical.x,y:e.canonical.y,z:e.canonical.z})))}_clearTiles(){const t=e.aj(this.id,this.scope);this._map.style.clearSource(t)}_update(){this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))}}},Ut=function(t,i,r,n){const o=new Vt[i.type](t,i,r,n);if(o.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${o.id}`);return e.a$(["load","abort","unload","serialize","prepare"],o),o};function jt(t,i){const r=e.a9.identity([]);return e.a9.scale(r,r,[.5*t.width,.5*-t.height,1]),e.a9.translate(r,r,[1,-1,0]),e.a9.multiply(r,r,t.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(r)}function Gt(e,t,i,r,n,o,s){let a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const l=e.tilesIn(r,s,a);l.sort(Zt);const c=[];for(const u of l)c.push({wrappedTileID:u.tile.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(t,i,e._state,u,n,o,jt(e.transform,u.tile.tileID),a)});const h=function(e){const t={},i={};for(const r of e){const e=r.queryResults,n=r.wrappedTileID,o=i[n]=i[n]||{};for(const i in e){const r=e[i],n=o[i]=o[i]||{},s=t[i]=t[i]||[];for(const e of r)n[e.featureIndex]||(n[e.featureIndex]=!0,s.push(e))}}return t}(c);for(const u in h)h[u].forEach((t=>{const i=t.feature,r=i.layer;r&&"background"!==r.type&&"sky"!==r.type&&"slot"!==r.type&&(i.source=r.source,r["source-layer"]&&(i.sourceLayer=r["source-layer"]),i.state=void 0!==i.id?e.getFeatureState(r["source-layer"],i.id):{})}));return h}function qt(e,t){const i=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],n={};for(let o=0;o0&&void 0!==arguments[0]?arguments[0]:16384,i=arguments.length>1?arguments[1]:void 0;const r=this._mrt=new e.b0(30),n=Object.assign({},this.requestParams,{headers:{Range:"bytes=0-"+(t-1)}});return this.entireBuffer=null,this.request=e.b1(n,((e,n,o,s)=>{if(e)i(e);else try{const e=r.getHeaderLength(n);if(e>t)return void(this.request=this.fetchHeader(e,i));r.parseHeader(n),this._isHeaderLoaded=!0;let a=0;for(const t of Object.values(r.layers))a=Math.max(a,t.dataIndex[t.dataIndex.length-1].last_byte);n.byteLength>=a&&(this.entireBuffer=n),i(null,this.entireBuffer||n,o,s)}catch(e){i(e)}})),this.request}fetchBand(t,i,r){const n=this._mrt;if(!this._isHeaderLoaded||!n)return void r(new Error("Tile header is not ready"));const o=this.actor;if(!o)return void r(new Error("Can't fetch tile band without an actor"));let s;const a=(e,n)=>{s.complete(e,n),e?r(e):(this.updateTextureDescriptor(t,i),r(null,this.textureDescriptor&&this.textureDescriptor.img))},l=(e,t)=>{if(e)return r(e);const i=o.send("decodeRasterArray",{buffer:t,task:s},a,void 0,!0);this._workQueue.push((()=>{i&&i.cancel(),s.cancel()}))},c=n.getLayer(t);if(!c)return void r(new Error(`Unknown sourceLayer "${t}"`));if(c.hasDataForBand(i))return this.updateTextureDescriptor(t,i),void r(null,this.textureDescriptor?this.textureDescriptor.img:null);const h=c.getDataRange([i]);if(s=n.createDecodingTask(h),!s||s.tasks.length)if(this.flushQueues(),this.entireBuffer)l(null,this.entireBuffer.slice(h.firstByte,h.lastByte+1));else{const t=Object.assign({},this.requestParams,{headers:{Range:`bytes=${h.firstByte}-${h.lastByte}`}}),i=e.b1(t,l);this._fetchQueue.push((()=>{i.cancel(),s.cancel()}))}else r(null)}updateNeeded(e,t){return(!this.textureDescriptor||this.textureDescriptor.band!==t||this.textureDescriptor.layer!==e)&&"errored"!==this.state}updateTextureDescriptor(t,i){if(!this._mrt)return;const r=this._mrt.getLayer(t);if(!r||!r.hasBand(i)||!r.hasDataForBand(i))return;const{bytes:n,tileSize:o,buffer:s,offset:a,scale:l}=r.getBandView(i),c=o+2*s,h={data:n,width:c,height:c},u=this.texture;u&&u instanceof e.T&&u.update(h,{useMipmap:!1,premultiply:!1}),this.textureDescriptor={layer:t,band:i,img:h,buffer:s,offset:a,tileSize:o,format:r.pixelFormat,mix:[l,256*l,65536*l,16777216*l]}}}class Wt{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(const e in this.data)for(const t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,i){const r=e.wrapped().key;void 0===this.data[r]&&(this.data[r]=[]);const n={value:t,timeout:void 0};if(void 0!==i&&(n.timeout=setTimeout((()=>{this.remove(e,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const 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){const t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){const 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;const i=e.wrapped().key,r=void 0===t?0:this.data[i].indexOf(t),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){const t=[];for(const i in this.data)for(const r of this.data[i])e(r.value)||t.push(r);for(const i of t)this.remove(i.value.tileID,i)}}class Qt extends e.E{constructor(e,t,i){super(),this.id=e,this._onlySymbols=i,t.on("data",(e=>{"source"===e.dataType&&"metadata"===e.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===e.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),t.on("error",(()=>{this._sourceErrored=!0})),this._source=t,this._tiles={},this._cache=new Wt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._loadedParentTiles={},this.castsShadows=!1,this.tileCoverLift=0,this._coveredTiles={},this._shadowCasterTiles={},this._state=new v,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"raster-array"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType}onAdd(e){this.map=e,this._minTileCacheSize=void 0===this._minTileCacheSize&&e?e._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&e?e._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const e in this._tiles){const t=this._tiles[e];if("errored"!==t.state&&("loaded"!==t.state||!t.bucketsLoaded()))return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(e,t){return e.isSymbolTile=this._onlySymbols,e.isExtraShadowCaster=this._shadowCasterTiles[e.tileID.key],this._source.loadTile(e,t)}_unloadTile(e){if(this._source.unloadTile)return this._source.unloadTile(e,(()=>{}))}_abortTile(e){if(this._source.abortTile)return this._source.abortTile(e,(()=>{}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const t in this._tiles){const i=this._tiles[t];i.upload(e),i.prepare(this.map.style.imageManager,this.map?this.map.painter:null,this._source.scope)}}getIds(){return e.b2(this._tiles).map((e=>e.tileID)).sort(Ht).map((e=>e.key))}getRenderableIds(t,i){const r=[];for(const e in this._tiles)this._isIdRenderable(+e,t,i)&&r.push(this._tiles[e]);return t?r.sort(((t,i)=>{const r=t.tileID,n=i.tileID,o=new e.P(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),s=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||s.y-o.y||s.x-o.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(Ht).map((e=>e.key))}hasRenderableParent(e){const t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t,i){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())&&(i||!this._shadowCasterTiles[e])}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(+e,"reloading")}}_reloadTile(e,t){const i=this._tiles[e];i&&("loading"!==i.state&&(i.state=t),this._loadTile(i,this._tileLoaded.bind(this,i,e,t)))}_tileLoaded(t,i,r,n){if(n)if(t.state="errored",404!==n.status)this._source.fire(new e.a(n,{tile:t}));else{if(!(t.tileID.key in this._loadedParentTiles))return void this._source.fire(new e.b("data",{dataType:"source",sourceDataType:"error",sourceId:this._source.id}));if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const e=this.map.painter.terrain;this.update(this.transform,e.getScaledDemTileSize(),!0),e.resetTileLookupCache(this.id)}else this.update(this.transform)}else t.timeAdded=e.f.now(),"expired"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),"raster-dem"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new e.b("data",{dataType:"source",tile:t,coord:t.tileID,sourceCacheId:this.id}))}_backfillDEM(e){const t=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,i,r),e.neighboringTiles&&e.neighboringTiles[o]&&(e.neighboringTiles[o].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,i,r){for(const n in this._tiles){let o=this._tiles[n];if(r[n]||!o.hasData()||o.tileID.overscaledZ<=t||o.tileID.overscaledZ>i)continue;let s=o.tileID;for(;o&&o.tileID.overscaledZ>t+1;){const e=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[e.key],o&&o.hasData()&&(s=e)}let a=s;for(;a.overscaledZ>t;)if(a=a.scaledTo(a.overscaledZ-1),e[a.key]){r[s.key]=s;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){const i=this._loadedParentTiles[e.key];return i&&i.tileID.overscaledZ>=t?i:null}for(let i=e.overscaledZ-1;i>=t;i--){const t=e.scaledTo(i),r=this._getLoadedTile(t);if(r)return r}}_getLoadedTile(e){const t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(this._source.reparseOverscaled?e.wrapped().key:e.canonical.key)}updateCacheSize(e,t){t=t||this._source.tileSize;const i=Math.ceil(e.width/t)+1,r=Math.ceil(e.height/t)+1,n=Math.floor(i*r*5),o="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,n):n,s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(s)}handleWrapJump(e){const t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){const e={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+t),e[r.tileID.key]=r}this._tiles=e;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t])}}update(t,i,r,n){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!r)return;let o;if(this.updateCacheSize(t,i),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._shadowCasterTiles={},this._coveredTiles={},this.used||this.usedForTerrain)if(this._source.tileID)o=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.ap(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)));else if(0!==this.tileCoverLift){const n=t.clone();n.tileCoverLift=this.tileCoverLift,o=n.coveringTiles({tileSize:i||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.minzoom<=1&&"globe"===t.projection.name&&(o.push(new e.ap(1,0,1,0,0)),o.push(new e.ap(1,0,1,1,0)),o.push(new e.ap(1,0,1,0,1)),o.push(new e.ap(1,0,1,1,1)))}else o=t.coveringTiles({tileSize:i||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(o=o.filter((e=>this._source.hasTile(e))));else o=[];if(o.length>0&&this.castsShadows&&n&&"globe"!==this.transform.projection.name&&!this.usedForTerrain&&!Xt(this._source.type)){const e=t.coveringZoomLevel({tileSize:i||this._source.tileSize,roundZoom:this._source.roundZoom&&!r}),s=Math.min(e,this._source.maxzoom),a=t.extendTileCoverForShadows(o,n,s);for(const t of a)this._shadowCasterTiles[t.key]=!0,o.push(t)}const s=this._updateRetainedTiles(o);if(Xt(this._source.type)&&0!==o.length){const t={},i={},r=Object.keys(s);for(const o of r){const r=s[o],n=this._tiles[o];if(!n||n.fadeEndTime&&n.fadeEndTime<=e.f.now())continue;const a=this.findLoadedParent(r,Math.max(r.overscaledZ-Qt.maxOverzooming,this._source.minzoom));a&&(this._addTile(a.tileID),t[a.tileID.key]=a.tileID),i[o]=r}const n=o[o.length-1].overscaledZ;for(const e in this._tiles){const t=this._tiles[e];if(s[e]||!t.hasData())continue;let r=t.tileID;for(;r.overscaledZ>n;){r=r.scaledTo(r.overscaledZ-1);const n=this._tiles[r.key];if(n&&n.hasData()&&i[r.key]){s[e]=t.tileID;break}}}for(const e in t)s[e]||(this._coveredTiles[e]=!0,s[e]=t[e])}for(const e in s)this._tiles[e].clearFadeHold();const a=e.b3(this._tiles,s);for(const e of a){const t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(+e)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(+e)}_updateRetainedTiles(e){const t={};if(0===e.length)return t;const i={},r=e.reduce(((e,t)=>Math.min(e,t.overscaledZ)),1/0),n=e[0].overscaledZ,o=Math.max(n-Qt.maxOverzooming,this._source.minzoom),s=Math.max(n+Qt.maxUnderzooming,this._source.minzoom),a={};for(const l of e){const e=this._addTile(l);t[l.key]=l,e.hasData()||r=this._source.maxzoom){const e=l.children(this._source.maxzoom)[0],i=this.getTile(e);if(i&&i.hasData()){t[e.key]=e;continue}}else{const e=l.children(this._source.maxzoom);if(t[e[0].key]&&t[e[1].key]&&t[e[2].key]&&t[e[3].key])continue}let r=e.wasRequested();for(let n=l.overscaledZ-1;n>=o;--n){const o=l.scaledTo(n);if(i[o.key])break;if(i[o.key]=!0,e=this.getTile(o),!e&&r&&(e=this._addTile(o)),e&&(t[o.key]=o,r=e.wasRequested(),e.hasData()))break}}return t}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const t=[];let i,r=this._tiles[e].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}t.push(r.key);const e=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(e),i)break;r=e}for(const e of t)this._loadedParentTiles[e]=i}}_addTile(t){let i=this._tiles[t.key];if(i)return!0!==i.isExtraShadowCaster||!!this._shadowCasterTiles[t.key]||this._reloadTile(t.key,"reloading"),i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const r=Boolean(i);if(!r){const e=this.map?this.map.painter:null,r=this._source.tileSize*t.overscaleFactor();i="raster-array"===this._source.type?new $t(t,r,this.transform.tileZoom,e,this._isRaster):new Nt(t,r,this.transform.tileZoom,e,this._isRaster),this._loadTile(i,this._tileLoaded.bind(this,i,t.key,i.state))}return i?(i.uses++,this._tiles[t.key]=i,r||this._source.fire(new e.b("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i):null}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),i))}_removeTile(e){const t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state||"empty"===t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(+e);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(t,i,r){const n=[],o=this.transform;if(!o)return n;const s="globe"===o.projection.name,a=e.a8(o.center.lng);for(const l in this._tiles){const c=this._tiles[l];if(r&&c.clearQueryDebugViz(),c.holdingForFade())continue;let h;if(s){const t=c.tileID.canonical;if(0===t.z){const i=[Math.abs(e.ad(a,...Yt(t,-1))-a),Math.abs(e.ad(a,...Yt(t,1))-a)];h=[0,2*i.indexOf(Math.min(...i))-1]}else{const i=[Math.abs(e.ad(a,...Yt(t,-1))-a),Math.abs(e.ad(a,...Yt(t,0))-a),Math.abs(e.ad(a,...Yt(t,1))-a)];h=[i.indexOf(Math.min(...i))-1]}}else h=[0];for(const e of h){const r=t.containsTile(c,o,i,e);r&&n.push(r)}}return n}getShadowCasterCoordinates(){return this._getRenderableCoordinates(!1,!0)}getVisibleCoordinates(e){return this._getRenderableCoordinates(e)}_getRenderableCoordinates(e,t){const i=this.getRenderableIds(e,t).map((e=>this._tiles[e].tileID)),r="globe"===this.transform.projection.name;for(const n of i)n.projMatrix=this.transform.calculateProjMatrix(n.toUnwrapped()),n.expandedProjMatrix=r?this.transform.calculateProjMatrix(n.toUnwrapped(),!1,!0):n.projMatrix;return i}sortCoordinatesByDistance(e){const t=e.slice(),i=this.transform._camera.position,r=this.transform._camera.forward(),n={};for(const o of t){const e=1/(1<n[e.key]-n[t.key])),t}hasTransition(){if(this._source.hasTransition())return!0;if(Xt(this._source.type))for(const t in this._tiles){const i=this._tiles[t];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=e.f.now())return!0}return!1}setFeatureState(e,t,i){this._state.updateState(e=e||"_geojsonTileLayer",t,i)}removeFeatureState(e,t,i){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,i)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,i){const r=this._tiles[e];r&&r.setDependencies(t,i)}reloadTilesForDependencies(e,t){for(const i in this._tiles)this._tiles[i].hasDependency(e,t)&&this._reloadTile(+i,"reloading");this._cache.filter((i=>!i.hasDependency(e,t)))}_preloadTiles(t,i){if(!this._sourceLoaded){const e=()=>{this._sourceLoaded&&(this._source.off("data",e),this._preloadTiles(t,i))};return void this._source.on("data",e)}const r=new Map,n=Array.isArray(t)?t:[t],o=this.map.painter.terrain,s=this.usedForTerrain&&o?o.getScaledDemTileSize():this._source.tileSize;for(const e of n){const t=e.coveringTiles({tileSize:s,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const e of t)r.set(e.key,e);this.usedForTerrain&&e.updateElevation(!1)}const a=Array.from(r.values());e.b4(a,((e,t)=>{const i=new Nt(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(i,(e=>{"raster-dem"===this._source.type&&i.dem&&this._backfillDEM(i),t(e,i)}))}),i)}}function Ht(e,t){const i=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-i||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function Xt(e){return"raster"===e||"image"===e||"video"===e||"custom"===e}function Yt(e,t){const i=1<0:"model"===i.type&&(r=!i.isHidden(e)&&i.paint.get("model-opacity")>0),this.layersGotHidden=this.layersGotHidden||!r&&t.visible,t.visible=r}}updateZOffset(e,t){this.currentBuildingBuckets=[];for(const r of this.layers){const e=r.layer,i=this.style.getLayerSourceCache(e);let n=1;"fill-extrusion"===e.type&&(n=r.visible?e.paint.get("fill-extrusion-vertical-scale"):0);let o=i?i.getTile(t):null;if(!o&&i&&t.canonical.z>i.getSource().minzoom){let e=t.scaledTo(Math.min(i.getSource().maxzoom,t.overscaledZ-1));for(;e.overscaledZ>=i.getSource().minzoom&&(o=i.getTile(e),!o&&0!==e.overscaledZ);)e=e.scaledTo(e.overscaledZ-1)}this.currentBuildingBuckets.push({bucket:o?o.getBucket(e):null,tileID:o?o.tileID:t,verticalScale:n})}e.hasAnyZOffset=!1;let i=!1;for(let r=0;r{e in i&&(r[e]=i[e])})),r}function ei(e){e=e.slice();const t=Object.create(null);for(let i=0;i0?(n-s)/a:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}class hi{constructor(e,t,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(e/i),this.yCellCount=Math.ceil(t/i);for(let o=0;othis.width||r<0||t>this.height)return!n&&[];const s=[];if(e<=0&&t<=0&&this.width<=i&&this.height<=r){if(n)return!0;for(let e=0;e0:s}_queryCircle(e,t,i,r,n){const o=e-i,s=e+i,a=t-i,l=t+i;if(s<0||o>this.width||l<0||a>this.height)return!r&&[];const c=[];return this._forEachCell(o,a,s,l,this._queryCellCircle,c,{hitTest:r,circle:{x:e,y:t,radius:i},seenUids:{box:{},circle:{}}},n),r?c.length>0:c}query(e,t,i,r,n){return this._query(e,t,i,r,!1,n)}hitTest(e,t,i,r,n){return this._query(e,t,i,r,!0,n)}hitTestCircle(e,t,i,r){return this._queryCircle(e,t,i,!0,r)}_queryCell(e,t,i,r,n,o,s,a){const l=s.seenUids,c=this.boxCells[n];if(null!==c){const n=this.bboxes;for(const h of c)if(!l.box[h]){l.box[h]=!0;const c=4*h;if(e<=n[c+2]&&t<=n[c+3]&&i>=n[c+0]&&r>=n[c+1]&&(!a||a(this.boxKeys[h]))){if(s.hitTest)return o.push(!0),!0;o.push({key:this.boxKeys[h],x1:n[c],y1:n[c+1],x2:n[c+2],y2:n[c+3]})}}}const h=this.circleCells[n];if(null!==h){const n=this.circles;for(const c of h)if(!l.circle[c]){l.circle[c]=!0;const h=3*c;if(this._circleAndRectCollide(n[h],n[h+1],n[h+2],e,t,i,r)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return o.push(!0),!0;{const e=n[h],t=n[h+1],i=n[h+2];o.push({key:this.circleKeys[c],x1:e-i,y1:t-i,x2:e+i,y2:t+i})}}}}}_queryCellCircle(e,t,i,r,n,o,s,a){const l=s.circle,c=s.seenUids,h=this.boxCells[n];if(null!==h){const e=this.bboxes;for(const t of h)if(!c.box[t]){c.box[t]=!0;const i=4*t;if(this._circleAndRectCollide(l.x,l.y,l.radius,e[i+0],e[i+1],e[i+2],e[i+3])&&(!a||a(this.boxKeys[t])))return o.push(!0),!0}}const u=this.circleCells[n];if(null!==u){const e=this.circles;for(const t of u)if(!c.circle[t]){c.circle[t]=!0;const i=3*t;if(this._circlesCollide(e[i],e[i+1],e[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[t])))return o.push(!0),!0}}}_forEachCell(e,t,i,r,n,o,s,a){const l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(n.call(this,e,t,i,r,this.xCellCount*l+d,o,s,a))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,i,r,n,o){const s=r-e,a=n-t,l=i+o;return l*l>s*s+a*a}_circleAndRectCollide(e,t,i,r,n,o,s){const a=(o-r)/2,l=Math.abs(e-(r+a));if(l>a+i)return!1;const c=(s-n)/2,h=Math.abs(t-(n+c));if(h>c+i)return!1;if(l<=a||h<=c)return!0;const u=l-a,d=h-c;return u*u+d*d<=i*i}}const ui={unknown:0,flipRequired:1,flipNotRequired:2},di=Math.tan(85*Math.PI/180);function pi(t,i,r,n,o,s,a){const l=e.a9.create();if(r)if("globe"===s.name){const t=e.b6(o,i);e.a9.multiply(l,l,t)}else{const t=e.b7.invert([],a);l[0]=t[0],l[1]=t[1],l[4]=t[2],l[5]=t[3],n||e.a9.rotateZ(l,l,o.angle)}else e.a9.multiply(l,o.labelPlaneMatrix,t);return l}function fi(e,t,i,r,n,o,s){const a=pi(e,t,i,r,n,o,s);return"globe"===o.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function mi(t,i,r,n,o,s,a){if(r){if("globe"===s.name){const l=pi(t,i,r,n,o,s,a);return e.a9.invert(l,l),e.a9.multiply(l,t,l),l}{const i=e.a9.clone(t),r=e.a9.identity([]);return r[0]=a[0],r[1]=a[1],r[4]=a[2],r[5]=a[3],e.a9.multiply(i,i,r),n||e.a9.rotateZ(i,i,-o.angle),i}}return o.glCoordMatrix}function _i(t,i,r,n){const o=[t,i,r,1];r?e.aa.transformMat4(o,o,n):Ai(o,o,n);const s=o[3];return o[0]/=s,o[1]/=s,o[2]/=s,o}function gi(e,t){return Math.min(.5+e/t*.5,1.5)}function yi(e,t){const i=e[0]/e[3],r=e[1]/e[3];return i>=-t[0]&&i<=t[0]&&r>=-t[1]&&r<=t[1]}function xi(t,i,r,n,o,s,a,l,c,h){const u=r.transform,d=n?t.textSizeData:t.iconSizeData,p=e.b8(d,r.transform.zoom),f="globe"===u.projection.name,m=[256/r.width*2+1,256/r.height*2+1],_=n?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;_.clear();let g=null;f&&(g=n?t.text.globeExtVertexArray:t.icon.globeExtVertexArray);const y=t.lineVertexArray,x=n?t.text.placedSymbolArray:t.icon.placedSymbolArray,v=r.transform.width/r.transform.height;let b,w=!1;for(let T=0;TMath.abs(r)?{useVertical:!0}:t===e.b9.vertical?n>0?{needsFlipping:!0}:null:i!==ui.unknown&&function(e,t){return 0===e||Math.abs(t/e)>di}(r,n)?i===ui.flipRequired?{needsFlipping:!0}:null:r<0?{needsFlipping:!0}:null}function wi(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x){const v=i/24,b=t.lineOffsetX*v,w=t.lineOffsetY*v,{lineStartIndex:T,glyphStartIndex:E,numGlyphs:S,segment:M,writingMode:A,flipState:I}=t,C=T+t.lineLength,P=t=>{if(u){const[i,r,n]=t.up,o=h.length;e.bb(u,o+0,i,r,n),e.bb(u,o+1,i,r,n),e.bb(u,o+2,i,r,n),e.bb(u,o+3,i,r,n)}const[i,r,n]=t.point;e.bc(h,i,r,n,t.angle)};if(S>1){const e=vi(v,l,b,w,r,d,p,t,c,s,f,_,!1,g,y,x);if(!e)return{notEnoughRoom:!0};if(n&&!r){let[i,r,n]=e.first.point,[o,s,l]=e.last.point;[i,r]=_i(i,r,n,a),[o,s]=_i(o,s,l,a);const c=bi(A,I,(o-i)*m,s-r);if(t.flipState=c&&c.needsFlipping?ui.flipRequired:ui.flipNotRequired,c)return c}P(e.first);for(let t=E+1;t0?s:Ei(p,n,i,1,o,void 0,g,y.canonical),l=bi(A,I,(a[0]-i[0])*m,a[1]-i[1]);if(t.flipState=l&&l.needsFlipping?ui.flipRequired:ui.flipNotRequired,l)return l}const i=Si(v*l.getoffsetX(E),b,w,r,d,p,M,T,C,c,s,f,_,!1,!1,g,y,x);if(!i)return{notEnoughRoom:!0};P(i)}return{}}function Ti(e,t,i,r,n){const{x:o,y:s,z:a}=r.projectTilePoint(e.x,e.y,t);if(!n)return _i(o,s,a,i);const[l,c,h]=n(e);return _i(o+l,s+c,a+h,i)}function Ei(t,i,r,n,o,s,a,l){const c=Ti(t.sub(i)._unit()._add(t),l,o,a,s);return e.Q.sub(c,r,c),e.Q.normalize(c,c),e.Q.scaleAndAdd(c,r,c,n)}function Si(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y){const x=n?t-i:t+i;let v=x>0?1:-1,b=0;n&&(v*=-1,b=Math.PI),v<0&&(b+=Math.PI);let w=l+a+(v>0?0:1)|0,T=o,E=o,S=0,M=0;const A=Math.abs(x),I=[],C=[];let P=s,z=P;const D=()=>Ei(z,P,E,A-S+1,u,p,_,g.canonical);for(;S+M<=A;){if(w+=v,w=c)return null;if(E=T,z=P,I.push(E),f&&C.push(z),P=new e.P(h.getx(w),h.gety(w)),T=d[w],!T){const e=Ti(P,g.canonical,u,_,p);T=e[3]>0?d[w]=e:D()}S+=M,M=e.Q.distance(E,T)}m&&p&&(d[w]&&(T=D(),M=e.Q.distance(E,T)),d[w]=T);const R=(A-S)/M,L=P.sub(z)._mult(R)._add(z),k=e.Q.sub([],T,E),O=e.Q.scaleAndAdd([],E,k,R);let B=[0,0,1],F=k[0],N=k[1];if(y&&(B=_.upVector(g.canonical,L.x,L.y),0!==B[0]||0!==B[1]||1!==B[2])){const t=[B[2],0,-B[0]],i=e.Q.cross([],B,t);e.Q.normalize(t,t),e.Q.normalize(i,i),F=e.Q.dot(k,t),N=e.Q.dot(k,i)}if(r){const t=e.Q.cross([],B,k);e.Q.normalize(t,t),e.Q.scaleAndAdd(O,O,t,r*v)}const V=b+Math.atan2(N,F);return I.push(O),f&&C.push(L),{point:O,angle:V,path:I,tilePath:C,up:B}}function Mi(e,t){const i=t.length,r=i+4*e;t.resize(r),t.float32.fill(-1/0,4*i,4*r)}function Ai(e,t,i){const r=t[0],n=t[1];return e[0]=i[0]*r+i[4]*n+i[12],e[1]=i[1]*r+i[5]*n+i[13],e[3]=i[3]*r+i[7]*n+i[15],e}const Ii=100;class Ci{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new hi(e.width+200,e.height+200,25),r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new hi(e.width+200,e.height+200,25);this.transform=e,this.grid=i,this.ignoredGrid=r,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+Ii,this.screenBottomBoundary=e.height+Ii,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.fogState=t}placeCollisionBox(e,t,i,r,n,o,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,h=i.projectedAnchorZ;const u=i.elevation,d=i.tileID,p=e.getProjection();if(u&&d){const[e,t,r]=p.upVector(d.canonical,i.tileAnchorX,i.tileAnchorY),n=p.upVectorScale(d.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=e*u*n,c+=t*u*n,h+=r*u*n}const f=this.projectAndGetPerspectiveRatio(s,l,c,h,i.tileID,"globe"===p.name||!!u||this.transform.pitch>0,p),m=o*f.perspectiveRatio,_=(i.x1*t+r.x-i.padding)*m+f.point.x,g=(i.y1*t+r.y-i.padding)*m+f.point.y,y=(i.x2*t+r.x+i.padding)*m+f.point.x,x=(i.y2*t+r.y+i.padding)*m+f.point.y,v=f.perspectiveRatio<=.55||f.occluded;return!this.isInsideGrid(_,g,y,x)||!n&&this.grid.hitTest(_,g,y,x,a)||v?{box:[],offscreen:!1,occluded:f.occluded}:{box:[_,g,y,x],offscreen:this.isOffscreen(_,g,y,x),occluded:!1}}placeCollisionCircles(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=[],g=this.transform.elevation,y=t.getProjection(),x=g?g.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,y):null,v=new e.P(r.tileAnchorX,r.tileAnchorY);let{x:b,y:w,z:T}=y.projectTilePoint(v.x,v.y,m.canonical);if(x){const[e,t,i]=x(v);b+=e,w+=t,T+=i}const E="globe"===y.name,S=this.projectAndGetPerspectiveRatio(a,b,w,T,m,E||!!g||this.transform.pitch>0,y),{perspectiveRatio:M}=S,A=(u?s/M:s*M)/e.bf,I=_i(b,w,T,l),C=S.signedDistanceFromCamera>0?vi(A,o,r.lineOffsetX*A,r.lineOffsetY*A,!1,I,v,r,n,l,{},g&&!u?x:null,u&&!!g,y,m,u):null;let P=!1,z=!1,D=!0;if(C&&!S.occluded){const t=.5*p*M+f,r=new e.P(-100,-100),n=new e.P(this.screenRightBoundary,this.screenBottomBoundary),o=new ci,{first:s,last:a}=C,l=s.path.length;let u=[];for(let e=l-1;e>=1;e--)u.push(s.path[e]);for(let e=1;e{let[i,r,n]=e;return x&&!E&&(n=x(te[3]<=0))&&(u=[]));let g=[];if(u.length>0){let t=1/0,i=-1/0,o=1/0,s=-1/0;for(const e of u)t=Math.min(t,e[0]),o=Math.min(o,e[1]),i=Math.max(i,e[0]),s=Math.max(s,e[1]);i>=r.x&&t<=n.x&&s>=r.y&&o<=n.y&&(g=[u.map((t=>new e.P(t[0],t[1])))],(tn.x||on.y)&&(g=e.bd(g,r.x,r.y,n.x,n.y)))}for(const e of g){o.reset(e,.25*t);let r=0;r=o.length<=.5*t?1:Math.ceil(o.paddedLength/m)+1;for(let e=0;e0){if(e.aa.transformMat4(l,l,t),this.fogState&&o&&"globe"!==a.name){const t=function(t,i,r,n,o,s){const a=s.calculateFogTileMatrix(o),l=[i,r,n];return e.Q.transformMat4(l,l,a),fe(t,e.Q.length(l),s.pitch,s._fov)}(this.fogState,i,r,n,o.toUnwrapped(),this.transform);c=t>.9}}else Ai(l,l,t);const h=l[3];return{point:new e.P((l[0]/h+1)/2*this.transform.width+Ii,(-l[1]/h+1)/2*this.transform.height+Ii),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/h*.5,1.5),signedDistanceFromCamera:h,occluded:s&&l[2]>h||c}}isOffscreen(e,t,i,r){return i=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(e,t,i,r){return i>=0&&e=0&&t5&&void 0!==arguments[5]&&arguments[5];this.text=new Ri(e?e.text:null,t,i,n),this.icon=new Ri(e?e.icon:null,t,r,n),this.clipped=o}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class ki{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.text=e,this.icon=t,this.skipFade=i,this.clipped=r}}class Oi{constructor(){this.invProjMatrix=e.a9.create(),this.viewportMatrix=e.a9.create(),this.circles=[]}}class Bi{constructor(e,t,i,r,n){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=n}}class Fi{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function Ni(t,i,r,n,o){const{horizontalAlign:s,verticalAlign:a}=e.bi(t),l=-(s-.5)*i,c=-(a-.5)*r,h=e.bh(t,n);return new e.P(l+h[0]*o,c+h[1]*o)}function Vi(t,i,r,n,o){const s=new e.P(t,i);return r&&s._rotate(n?o:-o),s}class Ui{constructor(e,t,i,r,n,o){this.transform=e.clone(),this.projection=e.projection.name,this.collisionIndex=new Ci(this.transform,n),this.buildingIndex=o,this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new Fi(i),this.collisionCircleArrays={},this.prevPlacement=r,r&&(r.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(t,i,r,n){const o=r.getBucket(i),s=r.latestFeatureIndex;if(!o||!s||i.fqid!==o.layerIds[0])return;const a=o.layers[0].layout,l=r.collisionBoxArray,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/e.Y,u=r.tileID.toUnwrapped();this.transform.setProjection(o.projection);const d=(p=r.tileID,f=o.getProjection(),m=this.transform,f.name===this.projection?m.calculateProjMatrix(p.toUnwrapped()):Pi(m,f,p));var p,f,m;const _="map"===a.get("text-pitch-alignment"),g="map"===a.get("text-rotation-alignment");i.compileFilter();const y=i.dynamicFilter(),x=i.dynamicFilterNeedsFeature(),v=this.transform.calculatePixelsToTileUnitsMatrix(r),b=fi(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);let w=null;if(_){const t=mi(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);w=e.a9.multiply([],this.transform.labelPlaneMatrix,t)}let T=null;y&&r.latestFeatureIndex&&(T={unwrappedTileID:u,dynamicFilter:y,dynamicFilterNeedsFeature:x,featureIndex:r.latestFeatureIndex}),this.retainedQueryData[o.bucketInstanceId]=new Bi(o.bucketInstanceId,s,o.sourceLayerIndex,o.index,r.tileID);const E={bucket:o,layout:a,posMatrix:d,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:T,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:e.b8(o.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:e.b8(o.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(n)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=e;t.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:E})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:E})}attemptAnchorPlacement(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g){const{textOffset0:y,textOffset1:x,crossTileID:v}=u,b=[y,x],w=Ni(e,i,r,b,n),T=this.collisionIndex.placeCollisionBox(p,n,t,Vi(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate);if(m){const e=p.getSymbolInstanceIconSize(g,this.transform.zoom,u.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(p,e,m,Vi(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate).box.length)return}if(T.box.length>0){let t;return this.prevPlacement&&this.prevPlacement.variableOffsets[v]&&this.prevPlacement.placements[v]&&this.prevPlacement.placements[v].text&&(t=this.prevPlacement.variableOffsets[v].anchor),this.variableOffsets[v]={textOffset:b,width:i,height:r,anchor:e,textScale:n,prevAnchor:t},this.markUsedJustification(p,e,u,f),p.allowVerticalPlacement&&(this.markUsedOrientation(p,f,u),this.placedOrientations[v]=f),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,r,n){const{bucket:o,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:h,textPixelRatio:u,holdingForFade:d,collisionBoxArray:p,partiallyEvaluatedTextSize:f,partiallyEvaluatedIconSize:m,collisionGroup:_}=t.parameters,g=s.get("text-optional"),y=s.get("icon-optional"),x=s.get("text-allow-overlap"),v=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),T="viewport-y"===s.get("symbol-z-order"),E=s.get("symbol-z-elevate");this.transform.setProjection(o.projection);let S=x&&(v||!o.hasIconData()||y),M=v&&(x||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p),r&&n&&o.updateCollisionDebugBuffers(this.transform.zoom,p);const A=(t,n,p)=>{const{crossTileID:T,numVerticalGlyphVertices:E}=t;if(h){const r={zoom:this.transform.zoom,pitch:this.transform.pitch};let n=null;if(h.dynamicFilterNeedsFeature){const e=this.retainedQueryData[o.bucketInstanceId];n=h.featureIndex.loadFeature({featureIndex:t.featureIndex,bucketIndex:e.bucketIndex,sourceLayerIndex:e.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,h.dynamicFilter)(r,n,this.retainedQueryData[o.bucketInstanceId].tileID.canonical,new e.P(t.tileAnchorX,t.tileAnchorY),this.transform.calculateDistanceTileData(h.unwrappedTileID)))return this.placements[T]=new ki(!1,!1,!1,!0),void i.add(T)}if(i.has(T))return;if(d)return void(this.placements[T]=new ki(!1,!1,!1));let A=!1,I=!1,C=!0,P=!1,z=!1,D=null,R={box:null,offscreen:null,occluded:null},L={box:null,offscreen:null,occluded:null},k=null,O=null,B=null,F=0,N=0,V=0;p.textFeatureIndex?F=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(F=t.featureIndex),p.verticalTextFeatureIndex&&(N=p.verticalTextFeatureIndex);const U=e=>{e.tileID=this.retainedQueryData[o.bucketInstanceId].tileID;const i=this.transform.elevation;e.elevation=t.zOffset+(i?i.getAtTileOffset(e.tileID,e.tileAnchorX,e.tileAnchorY):0)},j=p.textBox;if(j){U(j);const i=i=>{let r=e.b9.horizontal;if(o.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[T];e&&(this.placedOrientations[T]=e,r=e,this.markUsedOrientation(o,r,t))}return r},r=(t,i)=>{if(o.allowVerticalPlacement&&E>0&&p.verticalTextBox){for(const r of o.writingModes)if(r===e.b9.vertical?(R=i(),L=R):R=t(),R&&R.box&&R.box.length)break}else R=t()};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[T]){const e=this.prevPlacement.variableOffsets[T];l.indexOf(e.anchor)>0&&(l=l.filter((t=>t!==e.anchor)),l.unshift(e.anchor))}const c=(e,i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),c=(e.x2-e.x1)*s+2*e.padding,h=(e.y2-e.y1)*s+2*e.padding,d=t.hasIconTextFit&&!v?i:null;d&&U(d);let p={box:[],offscreen:!1,occluded:!1};const g=x?2*l.length:l.length;for(let y=0;y=l.length,t,n,o,r,d,f,m);if(i&&(p=i.placedGlyphBoxes,p&&p.box&&p.box.length)){A=!0,D=i.shift;break}}return p};r((()=>c(j,p.iconBox,e.b9.horizontal)),(()=>{const t=p.verticalTextBox;return t&&U(t),o.allowVerticalPlacement&&!(R&&R.box&&R.box.length)&&E>0&&t?c(t,p.verticalIconBox,e.b9.vertical):{box:null,offscreen:null,occluded:null}})),R&&(A=R.box,C=R.offscreen,P=R.occluded);const h=i(!(!R||!R.box));if(!A&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[T];e&&(this.variableOffsets[T]=e,this.markUsedJustification(o,e.anchor,t,h))}}else{const s=(i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),l=this.collisionIndex.placeCollisionBox(o,s,i,new e.P(0,0),x,u,a,_.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(o,r,t),this.placedOrientations[T]=r),l};r((()=>s(j,e.b9.horizontal)),(()=>{const t=p.verticalTextBox;return o.allowVerticalPlacement&&E>0&&t?(U(t),s(t,e.b9.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(R&&R.box&&R.box.length))}}if(k=R,A=k&&k.box&&k.box.length>0,C=k&&k.offscreen,P=k&&k.occluded,t.useRuntimeCollisionCircles){const i=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex),n=e.ba(o.textSizeData,f,i),h=s.get("text-padding");O=this.collisionIndex.placeCollisionCircles(o,x,i,o.lineVertexArray,o.glyphOffsetArray,n,a,l,c,r,w,_.predicate,t.collisionCircleDiameter*n/e.bf,h,this.retainedQueryData[o.bucketInstanceId].tileID),A=x||O.circles.length>0&&!O.collisionDetected,C=C&&O.offscreen,P=O.occluded}if(p.iconFeatureIndex&&(V=p.iconFeatureIndex),p.iconBox){const i=i=>{U(i);const r=t.hasIconTextFit&&D?Vi(D.x,D.y,b,w,this.transform.angle):new e.P(0,0),n=o.getSymbolInstanceIconSize(m,this.transform.zoom,t.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(o,n,i,r,v,u,a,_.predicate)};L&&L.box&&L.box.length&&p.verticalIconBox?(B=i(p.verticalIconBox),I=B.box.length>0):(B=i(p.iconBox),I=B.box.length>0),C=C&&B.offscreen,z=B.occluded}const G=g||0===t.numHorizontalGlyphVertices&&0===E,q=y||0===t.numIconVertices;if(G||q?q?G||(I=I&&A):A=I&&A:I=A=I&&A,A&&k&&k.box&&this.collisionIndex.insertCollisionBox(k.box,s.get("text-ignore-placement"),o.bucketInstanceId,L&&L.box&&N?N:F,_.ID),I&&B&&this.collisionIndex.insertCollisionBox(B.box,s.get("icon-ignore-placement"),o.bucketInstanceId,V,_.ID),O&&(A&&this.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,F,_.ID),r)){const e=o.bucketInstanceId;let t=this.collisionCircleArrays[e];void 0===t&&(t=this.collisionCircleArrays[e]=new Oi);for(let i=0;i=0;--e){const i=t[e];A(o.symbolInstances.get(i),i,o.collisionArrays[i])}o.hasAnyZOffset&&e.w(`${o.layerIds[0]} layer symbol-z-elevate: symbols are not sorted by elevation if symbol-z-order is evaluated to viewport-y`)}else if(o.hasAnyZOffset){const e=o.getSortedIndexesByZOffset();for(let t=0;t=0&&(t.text.placedSymbolArray.get(o).crossTileID=u>=0&&o!==u?0:c),s>=0&&(t.text.placedSymbolArray.get(s).crossTileID=u>=0&&s!==u?0:c),a>=0&&(t.text.placedSymbolArray.get(a).crossTileID=u>=0&&a!==u?0:c),l>=0&&(t.text.placedSymbolArray.get(l).crossTileID=u>=0&&l!==u?0:c)}markUsedOrientation(t,i,r){const n=i===e.b9.horizontal||i===e.b9.horizontalOnly?i:0,o=i===e.b9.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=r,h=t.text.placedSymbolArray;s>=0&&(h.get(s).placedOrientation=n),a>=0&&(h.get(a).placedOrientation=n),l>=0&&(h.get(l).placedOrientation=n),c>=0&&(h.get(c).placedOrientation=o)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const t=this.prevPlacement;let i=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;const r=t?t.symbolFadeChange(e):1,n=t?t.opacities:{},o=t?t.variableOffsets:{},s=t?t.placedOrientations:{};for(const a in this.placements){const e=this.placements[a],t=n[a];t?(this.opacities[a]=new Li(t,r,e.text,e.icon,null,e.clipped),i=i||e.text!==t.text.placed||e.icon!==t.icon.placed):(this.opacities[a]=new Li(null,r,e.text,e.icon,e.skipFade,e.clipped),i=i||e.text||e.icon)}for(const a in n){const e=n[a];if(!this.opacities[a]){const t=new Li(e,r,!1,!1);t.isHidden()||(this.opacities[a]=t,i=i||e.text.placed||e.icon.placed)}}for(const a in o)this.variableOffsets[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.variableOffsets[a]=o[a]);for(const a in s)this.placedOrientations[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.placedOrientations[a]=s[a]);i?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){const i=new Set;for(const r of t){const t=r.getBucket(e);t&&r.latestFeatureIndex&&e.fqid===t.layerIds[0]&&(this.updateBucketOpacities(t,i,r.collisionBoxArray),t.layers[0].layout.get("symbol-z-elevate")&&this.buildingIndex&&(this.buildingIndex.updateZOffset(t,r.tileID),t.updateZOffset()))}}updateBucketOpacities(t,i,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const n=t.layers[0].layout,o=!!t.layers[0].dynamicFilter(),s=new Li(null,0,!1,!1,!0),a=n.get("text-allow-overlap"),l=n.get("icon-allow-overlap"),c=n.get("text-variable-anchor"),h="map"===n.get("text-rotation-alignment"),u="map"===n.get("text-pitch-alignment"),d=new Li(null,0,a&&(l||!t.hasIconData()||n.get("icon-optional")),l&&(a||!t.hasTextData()||n.get("text-optional")),!0);!t.collisionArrays&&r&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(r);const p=(e,t,i)=>{for(let r=0;r0||a>0,v=_>0,b=this.placedOrientations[l],w=b===e.b9.vertical,T=b===e.b9.horizontal||b===e.b9.horizontalOnly;if(!x&&!v||y.isHidden()||f++,x){const e=Xi(y.text);p(t.text,n,w?Yi:e),p(t.text,a,T?Yi:e);const i=y.text.isHidden(),{leftJustifiedTextSymbolIndex:o,centerJustifiedTextSymbolIndex:s,rightJustifiedTextSymbolIndex:c,verticalPlacedTextSymbolIndex:h}=r,u=t.text.placedSymbolArray,d=i||w?1:0;o>=0&&(u.get(o).hidden=d),s>=0&&(u.get(s).hidden=d),c>=0&&(u.get(c).hidden=d),h>=0&&(u.get(h).hidden=i||T?1:0);const f=this.variableOffsets[l];f&&this.markUsedJustification(t,f.anchor,r,b);const m=this.placedOrientations[l];m&&(this.markUsedJustification(t,"left",r,m),this.markUsedOrientation(t,m,r))}if(v){const e=Xi(y.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:n}=r,o=t.icon.placedSymbolArray,s=y.icon.isHidden()?1:0;i>=0&&(p(t.icon,_,w?Yi:e),o.get(i).hidden=s),n>=0&&(p(t.icon,r.numVerticalIconVertices,T?Yi:e),o.get(n).hidden=s)}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const i=t.collisionArrays[m];if(i){let n=new e.P(0,0),s=!0;if(i.textBox||i.verticalTextBox){if(c){const e=this.variableOffsets[l];e?(n=Ni(e.anchor,e.width,e.height,e.textOffset,e.textScale),h&&n._rotate(u?this.transform.angle:-this.transform.angle)):s=!1}o&&(s=!y.clipped),i.textBox&&ji(t.textCollisionBox.collisionVertexArray,y.text.placed,!s||w,n.x,n.y),i.verticalTextBox&&ji(t.textCollisionBox.collisionVertexArray,y.text.placed,!s||T,n.x,n.y)}const a=s&&Boolean(!T&&i.verticalIconBox);i.iconBox&&ji(t.iconCollisionBox.collisionVertexArray,y.icon.placed,a,r.hasIconTextFit?n.x:0,r.hasIconTextFit?n.y:0),i.verticalIconBox&&ji(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!a,r.hasIconTextFit?n.x:0,r.hasIconTextFit?n.y:0)}}}if(t.fullyClipped=0===f,t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function ji(e,t,i,r,n){e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0)}const Gi=Math.pow(2,25),qi=Math.pow(2,24),Zi=Math.pow(2,17),$i=Math.pow(2,16),Wi=Math.pow(2,9),Qi=Math.pow(2,8),Hi=Math.pow(2,1);function Xi(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;const t=e.placed?1:0,i=Math.floor(127*e.opacity);return i*Gi+t*qi+i*Zi+t*$i+i*Wi+t*Qi+i*Hi+t}const Yi=0;class Ki{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[]}continuePlacement(e,t,i,r,n){const o=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex{const t=e.f.now()-o;return!this._forceFullPlacement&&t>2};for(;this._currentPlacementIndex>=0;){const o=i[t[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===o.type&&(!o.minzoom||o.minzoom<=a)&&(!o.maxzoom||o.maxzoom>a)){const t=o,i=t.layout.get("symbol-z-elevate"),a=this._inProgressLayer=this._inProgressLayer||new Ki(t),l=e.aj(o.source,o.scope);if(a.continuePlacement(i?n[l]:r[l],this.placement,this._showCollisionBoxes,o,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const er=512/e.Y/2;class tr{constructor(t,i,r){this.tileID=t,this.bucketInstanceId=r,this.index=new e.bj(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const n=t.canonical.x*e.Y,o=t.canonical.y*e.Y;for(let e=0;ee.overscaledZ)for(const n in i){const o=i[n];o.tileID.isChildOf(e)&&o.findMatches(t.symbolInstances,e,r)}else{const o=i[e.scaledTo(Number(n)).key];o&&o.findMatches(t.symbolInstances,e,r)}}for(let n=0;n{t[e]=!0}));for(const i in this.layerIndexes)t[i]||delete this.layerIndexes[i]}}class or{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=i,this.right=r}interpolate(t,i,r){return null!=i.top&&null!=t.top&&(this.top=e.X(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.X(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=e.X(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=e.X(t.right,i.right,r)),this}getCenter(t,i){const r=e.ad((this.left+t-this.right)/2,0,t),n=e.ad((this.top+i-this.bottom)/2,0,i);return new e.P(r,n)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new or(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function sr(t,i){const r=e.bn(t,3);e.a9.fromQuat(t,i),e.bp(t,3,r)}function ar(t,i){const r=e.bl.identity([]);return e.bl.rotateZ(r,r,-i),e.bl.rotateX(r,r,-t),r}function lr(t,i){const r=[t[0],t[1],0],n=[i[0],i[1],0];if(e.Q.length(r)>=1e-15){const t=e.Q.normalize([],r);e.Q.scale(n,t,e.Q.dot(n,t)),i[0]=n[0],i[1]=n[1]}const o=e.Q.cross([],i,t);if(e.Q.len(o)<1e-15)return null;const s=Math.atan2(-o[1],o[0]);return ar(Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2]),s)}class cr{constructor(e,t){this.position=e,this.orientation=t}get position(){return this._position}set position(t){if(t){const i=t instanceof e.O?t:new e.O(t[0],t[1],t[2]);this._renderWorldCopies&&(i.x=e.bk(i.x,0,1)),this._position=i}else this._position=null}lookAtPoint(t,i){if(this.orientation=null,!this.position)return;const r=this.position,n=this._elevation?this._elevation.getAtPointOrZero(e.O.fromLngLat(t)):0,o=e.O.fromLngLat(t,n),s=[o.x-r.x,o.y-r.y,o.z-r.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=lr(s,i)}setPitchBearing(t,i){this.orientation=ar(e.bm(t),e.bm(-i))}}class hr{constructor(t,i){this._transform=e.a9.identity([]),this.orientation=i,this.position=t}get mercatorPosition(){const t=this.position;return new e.O(t[0],t[1],t[2])}get position(){const t=e.bn(this._transform,3);return[t[0],t[1],t[2]]}set position(t){var i;t&&e.bp(this._transform,3,[(i=t)[0],i[1],i[2],1])}get orientation(){return this._orientation}set orientation(t){this._orientation=t||e.bl.identity([]),t&&sr(this._transform,this._orientation)}getPitchBearing(){const e=this.forward(),t=this.right();return{bearing:Math.atan2(-t[1],t[0]),pitch:Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2])}}setPitchBearing(e,t){this._orientation=ar(e,t),sr(this._transform,this._orientation)}forward(){const t=e.bn(this._transform,2);return[-t[0],-t[1],-t[2]]}up(){const t=e.bn(this._transform,1);return[-t[0],-t[1],-t[2]]}right(){const t=e.bn(this._transform,0);return[t[0],t[1],t[2]]}getCameraToWorld(t,i){const r=new Float64Array(16);return e.a9.invert(r,this.getWorldToCamera(t,i)),r}getCameraToWorldMercator(){return this._transform}getWorldToCameraPosition(t,i,r){const n=this.position;e.Q.scale(n,n,-t);const o=new Float64Array(16);return e.a9.fromScaling(o,[r,r,r]),e.a9.translate(o,o,n),o[10]*=i,o}getWorldToCamera(t,i){const r=new Float64Array(16),n=new Float64Array(4),o=this.position;return e.bl.conjugate(n,this._orientation),e.Q.scale(o,o,-t),e.a9.fromQuat(r,n),e.a9.translate(r,r,o),r[1]*=-1,r[5]*=-1,r[9]*=-1,r[13]*=-1,r[8]*=i,r[9]*=i,r[10]*=i,r[11]*=i,r}getCameraToClipPerspective(t,i,r,n){const o=new Float64Array(16);return e.a9.perspective(o,t,i,r,n),o}getCameraToClipOrthographic(t,i,r,n,o,s){const a=new Float64Array(16);return e.a9.ortho(a,t,i,r,n,o,s),a}getDistanceToElevation(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=0===t?0:e.bo(t,i?e.ax(this.position[1]):this.position[1]),n=this.forward();return(r-this.position[2])/n[2]}clone(){return new hr([...this.position],[...this.orientation])}}const ur=(e,t,i)=>(1-i)*e+i*t,dr=e=>e*e*e*e*e;class pr{constructor(t,i,r,n,o,s,a){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new e.bq(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new or,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._expandedProjMatrixCache={},this._distanceTileDataCache={},this._camera=new hr,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._tileCoverLift=0,this.freezeTileCoverage=!1,this._horizonShift=.1,this._orthographicProjectionAtLowPitch=!1}clone(){const e=new pr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return e._elevation=this._elevation,e._centerAltitude=this._centerAltitude,e._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,e.tileSize=this.tileSize,e.mercatorFromTransition=this.mercatorFromTransition,e.width=this.width,e.height=this.height,e.cameraElevationReference=this.cameraElevationReference,e._center=this._center,e._setZoom(this.zoom),e._seaLevelZoom=this._seaLevelZoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._nearZ=this._nearZ,e._farZ=this._farZ,e._averageElevation=this._averageElevation,e._orthographicProjectionAtLowPitch=this._orthographicProjectionAtLowPitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._camera=this._camera.clone(),e._calcMatrices(),e.freezeTileCoverage=this.freezeTileCoverage,e.frustumCorners=this.frustumCorners,e}get isOrthographic(){return"globe"!==this.projection.name&&this._orthographicProjectionAtLowPitch&&this.pitch<15}get elevation(){return this._elevation}set elevation(e){this._elevation!==e&&(this._elevation=e,this._updateCameraOnTerrain(),this._calcMatrices())}get depthOcclusionForSymbolsAndCircles(){return"globe"!==this.projection.name&&!this.isOrthographic}updateElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(e||i)&&this._constrainCamera(t),this._calcMatrices()}getProjection(){return e.af(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const r=this.projection?this.getProjection():void 0;this.projection=e.br(this.projectionOptions);const n=!t(r,this.getProjection());return n&&this._calcMatrices(),this.mercatorFromTransition=!1,n}setOrthographicProjectionAtLowPitch(e){return this._orthographicProjectionAtLowPitch!==e&&(this._orthographicProjectionAtLowPitch=e,this._calcMatrices(),!0)}setMercatorFromTransition(){const t=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=e.br({name:"mercator"});const i=t!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get cameraWorldSize(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return e.bo(1,this.center.lat)*this.cameraWorldSizeForFog}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return e.bk(this.rotation,-180,180)}set bearing(e){this.rotation=e}get rotation(){return-this.angle/Math.PI*180}set rotation(t){const i=-t*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=e.b7.create(),e.b7.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ad(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const e=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/e)}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=e.bm(t),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(e){this._averageElevation=e,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(e){const t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._setZoom(t),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(e){this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom}get tileCoverLift(){return this._tileCoverLift}set tileCoverLift(e){this._tileCoverLift!==e&&(this._tileCoverLift=e)}_updateCameraOnTerrain(){const e=this.elevation?this.elevation.getAtPoint(this.locationCoordinate(this.center),Number.NEGATIVE_INFINITY):Number.NEGATIVE_INFINITY,t=this.elevation&&e===Number.NEGATIVE_INFINITY&&this.elevation.visibleDemTiles.length>0&&this.elevation.exaggeration()>0&&this._centerAltitudeValidForExaggeration;if(!this._elevation||e===Number.NEGATIVE_INFINITY&&(!t||!this._centerAltitude))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const i=this._elevation;t||this._centerAltitude&&this._centerAltitudeValidForExaggeration&&i.exaggeration()&&this._centerAltitudeValidForExaggeration!==i.exaggeration()?(this._centerAltitude=this._centerAltitude/this._centerAltitudeValidForExaggeration*i.exaggeration(),this._centerAltitudeValidForExaggeration=i.exaggeration()):(this._centerAltitude=e||0,this._centerAltitudeValidForExaggeration=i.exaggeration()),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const t=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],r=this.horizonLineFromTop();let n=0,o=0;for(let s=0;s0,h=t.y+10,d=s.wrap-(c?0:1),p=s.wrap+(l?0:1),f=c?t.x-1:a-1,m=l?t.x+1:0;i[0]<0?(n.push(new e.ap(r,p,t.z,m,t.y)),i[1]<0&&h&&(n.push(new e.ap(r,o,t.z,t.x,t.y+1)),n.push(new e.ap(r,p,t.z,m,t.y+1))),i[1]>0&&u&&(n.push(new e.ap(r,o,t.z,t.x,t.y-1)),n.push(new e.ap(r,p,t.z,m,t.y-1)))):i[0]>0?(n.push(new e.ap(r,d,t.z,f,t.y)),i[1]<0&&h&&(n.push(new e.ap(r,o,t.z,t.x,t.y+1)),n.push(new e.ap(r,d,t.z,f,t.y+1))),i[1]>0&&u&&(n.push(new e.ap(r,o,t.z,t.x,t.y-1)),n.push(new e.ap(r,d,t.z,f,t.y-1)))):i[1]<0&&h?n.push(new e.ap(r,o,t.z,t.x,t.y+1)):u&&n.push(new e.ap(r,o,t.z,t.x,t.y-1))}if(n.length>1){n.sort(((e,t)=>e.overscaledZ-t.overscaledZ||e.wrap-t.wrap||e.canonical.z-t.canonical.z||e.canonical.x-t.canonical.x||e.canonical.y-t.canonical.y));let e=0,t=0;for(;te.isChildOf(t)))||o.push(e);return n=o.filter((e=>!t.some((t=>!!(e.overscaledZt.maxzoom&&(i=t.maxzoom);const a=this.locationCoordinate(this.center),l=this.center.lat,c=1<{const i=1/4e4,r=new e.O(t.x+i,t.y,t.z),n=new e.O(t.x,t.y+i,t.z),o=t.toLngLat(),s=r.toLngLat(),a=n.toLngLat(),l=this.locationCoordinate(o),c=this.locationCoordinate(s),h=this.locationCoordinate(a),u=Math.hypot(c.x-l.x,c.y-l.y),d=Math.hypot(h.x-l.x,h.y-l.y);return Math.sqrt(u*d)*T/i},S=t=>{const i=b,r=w;return{aabb:e.bx(this,c,0,0,0,t,r,i,this.projection),zoom:0,x:0,y:0,minZ:r,maxZ:i,wrap:t,fullyVisible:!1}},M=[];let A=[];const I=i,C=t.reparseOverscaled?r:i,P=e=>e*e,z=P((_-this._centerAltitude)*m),D=e=>{if(!this._elevation||!e.tileID||!s)return;const t=this._elevation.getMinMaxForTile(e.tileID),i=e.aabb;t?(i.min[2]=t.min,i.max[2]=t.max,i.center[2]=(i.min[2]+i.max[2])/2):(e.shouldSplit=R(e),e.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude))},R=t=>{if(t.zoom=.9)return!0}else if(o&&(s=P(t.aabb.distanceZ(g)*m)),this.projection.isReprojectedInTileSpace&&r<=5){const i=Math.pow(2,t.zoom),r=E(new e.O((t.x+.5)/i,(t.y+.5)/i));a=r>.85?1:r}const c=i*i+n*n+s,h=P((1<{if(t*P(.707)0;){const r=M.pop(),n=r.x,a=r.y;let l=r.fullyVisible;const d=()=>"globe"===this.projection.name&&(0===r.y||r.y===(1<>1),d={aabb:s?r.aabb.quadrant(t):e.bx(this,c,r.zoom+1,i,h,r.wrap,r.minZ,r.maxZ,this.projection),zoom:r.zoom+1,x:i,y:h,wrap:r.wrap,fullyVisible:l,tileID:void 0,shouldSplit:void 0,minZ:r.minZ,maxZ:r.maxZ};o&&!u&&(d.tileID=new e.ap(r.zoom+1===I?C:r.zoom+1,r.wrap,r.zoom+1,i,h),D(d)),M.push(d)}else{const o=r.zoom===I?C:r.zoom;if(t.minzoom&&t.minzoom>o)continue;if(!l){let t=y?r.aabb.intersectsPrecise(p):r.aabb.intersectsPreciseFlat(p);if(0===t&&d()){const i=new e.bv(r.zoom,n,a);t=e.bw(this,c,i,!0).intersectsPrecise(p)}if(0===t)continue}const s=h[0]-(.5+n+(r.wrap<{const o=[0,0,0,1],s=[e.Y,e.Y,0,1],a=this.calculateFogTileMatrix(n.tileID.toUnwrapped());e.aa.transformMat4(o,o,a),e.aa.transformMat4(s,s,a);const l=e.aa.min([],o,s),c=e.aa.max([],o,s),h=e.by(l,c);if(0===h)return!0;let u=!1;const d=this._elevation;if(d&&h>i&&0!==r){const i=this.calculateProjMatrix(n.tileID.toUnwrapped());let o;t.isTerrainDEM||(o=d.getMinMaxForTile(n.tileID)),o||(o={min:w,max:b});const s=e.bK(this.rotation),a=[s[0]*e.Y,s[1]*e.Y,o.max];e.Q.transformMat4(a,a,i),u=(1-a[1])*this.height*.5e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(t){const i=e.ad(t.lat,-e.bz,e.bz),r=this.projection.project(t.lng,i);return new e.P(r.x*this.worldSize,r.y*this.worldSize)}unproject(e){return this.projection.unproject(e.x/this.worldSize,e.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/e.bo(1,this.center.lat)/this.worldSize}setLocationAtPoint(t,i){let r,n;const o=this.centerPoint;if("globe"===this.projection.name){const e=this.worldSize;r=(i.x-o.x)/e,n=(i.y-o.y)/e}else{const e=this.pointCoordinate(i),t=this.pointCoordinate(o);r=e.x-t.x,n=e.y-t.y}const s=this.locationCoordinate(t);this.setLocation(new e.O(s.x-r,s.y-n))}setLocation(e){this.center=this.coordinateLocation(e),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(e){return this.projection.locationPoint(this,e)}locationPoint3D(e){return this.projection.locationPoint(this,e,!0)}pointLocation(e){return this.coordinateLocation(this.pointCoordinate(e))}pointLocation3D(e){return this.coordinateLocation(this.pointCoordinate3D(e))}locationCoordinate(t,i){const r=i?e.bo(i,t.lat):void 0,n=this.projection.project(t.lng,t.lat);return new e.O(n.x,n.y,r)}coordinateLocation(e){return this.projection.unproject(e.x,e.y)}pointRayIntersection(t,i){const r=null!=i?i:this._centerAltitude,n=[t.x,t.y,0,1],o=[t.x,t.y,1,1];e.aa.transformMat4(n,n,this.pixelMatrixInverse),e.aa.transformMat4(o,o,this.pixelMatrixInverse);const s=o[3];e.aa.scale(n,n,1/n[3]),e.aa.scale(o,o,1/s);const a=n[2],l=o[2];return{p0:n,p1:o,t:a===l?0:(r-a)/(l-a)}}screenPointToMercatorRay(t){const i=[t.x,t.y,0,1],r=[t.x,t.y,1,1];return e.aa.transformMat4(i,i,this.pixelMatrixInverse),e.aa.transformMat4(r,r,this.pixelMatrixInverse),e.aa.scale(i,i,1/i[3]),e.aa.scale(r,r,1/r[3]),i[2]=e.bo(i[2],this._center.lat)*this.worldSize,r[2]=e.bo(r[2],this._center.lat)*this.worldSize,e.aa.scale(i,i,1/this.worldSize),e.aa.scale(r,r,1/this.worldSize),new e.a5([i[0],i[1],i[2]],e.Q.normalize([],e.Q.sub([],r,i)))}rayIntersectionCoordinate(t){const{p0:i,p1:r,t:n}=t,o=e.bo(i[2],this._center.lat),s=e.bo(r[2],this._center.lat);return new e.O(e.X(i[0],r[0],n)/this.worldSize,e.X(i[1],r[1],n)/this.worldSize,e.X(o,s,n))}pointCoordinate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._centerAltitude;return this.projection.pointCoordinate(this,e.x,e.y,t)}pointCoordinate3D(t){if(!this.elevation)return this.pointCoordinate(t);let i=this.projection.pointCoordinate3D(this,t.x,t.y);if(i)return new e.O(i[0],i[1],i[2]);let r=0,n=this.horizonLineFromTop();if(t.y>n)return this.pointCoordinate(t);const o=.02*n,s=t.clone();for(let a=0;a<10&&n-r>o;a++){s.y=e.X(r,n,.66);const t=this.projection.pointCoordinate3D(this,s.x,s.y);t?(n=s.y,i=t):r=s.y}return i?new e.O(i[0],i[1],i[2]):this.pointCoordinate(t)}isPointAboveHorizon(e){return this.projection.isPointAboveHorizon(this,e)}isPointOnSurface(t){if(t.y<0||t.y>this.height||t.x<0||t.x>this.width)return!1;if(this.elevation||this.zoom>=e.bA)return!this.isPointAboveHorizon(t);const i=this.pointCoordinate(t);return i.y>=0&&i.y<=1}_coordinatePoint(t,i){const r=i&&this.elevation?this.elevation.getAtPointOrZero(t,this._centerAltitude):this._centerAltitude,n=[t.x*this.worldSize,t.y*this.worldSize,r+t.toAltitude(),1];return e.aa.transformMat4(n,n,this.pixelMatrix),n[3]>0?new e.P(n[0]/n[3],n[1]/n[3]):new e.P(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:t,left:i}=this._edgeInsets,r=this.height-this._edgeInsets.bottom,n=this.width-this._edgeInsets.right,o=this.pointLocation3D(new e.P(i,t)),s=this.pointLocation3D(new e.P(n,t)),a=this.pointLocation3D(new e.P(n,r)),l=this.pointLocation3D(new e.P(i,r));let c=Math.min(o.lng,s.lng,a.lng,l.lng),h=Math.max(o.lng,s.lng,a.lng,l.lng),u=Math.min(o.lat,s.lat,a.lat,l.lat),d=Math.max(o.lat,s.lat,a.lat,l.lat);const p=Math.pow(2,-this.zoom)/16*270,f="globe"===this.projection.name?1:4,m=(t,i,r,n,o)=>{const s=(t+r)/2,a=(i+n)/2,l=new e.P(s,a),{lng:_,lat:g}=this.pointLocation3D(l),y=Math.max(0,c-_,u-g,_-h,g-d);c=Math.min(c,_),h=Math.max(h,_),u=Math.min(u,g),d=Math.max(d,g),(op)&&(m(t,i,s,a,o+1),m(s,a,r,n,o+1))};if(m(i,t,n,t,1),m(n,t,n,r,1),m(n,r,i,r,1),m(i,r,i,t,1),"globe"===this.projection.name){const[t,i]=e.bB(this);t?(d=90,h=180,c=-180):i&&(u=-90,h=180,c=-180)}return new e.ag(new e.bq(c,u),new e.bq(h,d))}_getBoundsRectangular(t,i){const{top:r,left:n}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new e.P(n,r),l=new e.P(s,r),c=new e.P(s,o),h=new e.P(n,o);let u=this.pointCoordinate(a,t),d=this.pointCoordinate(l,t);const p=this.pointCoordinate(c,i),f=this.pointCoordinate(h,i),m=(e,t)=>(t.y-e.y)/(t.x-e.x);return u.y>1&&d.y>=0?u=new e.O((1-f.y)/m(f,u)+f.x,1):u.y<0&&d.y<=1&&(u=new e.O(-f.y/m(f,u)+f.x,0)),d.y>1&&u.y>=0?d=new e.O((1-p.y)/m(p,d)+p.x,1):d.y<0&&u.y<=1&&(d=new e.O(-p.y/m(p,d)+p.x,0)),(new e.ag).extend(this.coordinateLocation(u)).extend(this.coordinateLocation(d)).extend(this.coordinateLocation(f)).extend(this.coordinateLocation(p))}_getBoundsRectangularTerrain(){const e=this.elevation;if(!e.visibleDemTiles.length||e.isUsingMockSource())return this._getBoundsRectangular(0,0);const t=e.visibleDemTiles.reduce(((e,t)=>{if(t.dem){const i=t.dem.tree;e.min=Math.min(e.min,i.minimums[0]),e.max=Math.max(e.max,i.maximums[0])}return e}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(t.min*e.exaggeration(),t.max*e.exaggeration())}getBounds(){return"mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))-this.centerOffset.y,i=this.height/2-t*(1-this._horizonShift);return e?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(t){this.maxBounds=t,this.minLat=-e.bz,this.maxLat=e.bz,this.minLng=-180,this.maxLng=180,t&&(this.minLat=t.getSouth(),this.maxLat=t.getNorth(),this.minLng=t.getWest(),this.maxLng=t.getEast(),this.maxLng1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=t.key;let o;if(o=r?this._expandedProjMatrixCache:i?this._alignedProjMatrixCache:this._projMatrixCache,o[n])return o[n];const s=this.calculatePosMatrix(t,this.worldSize);let a;return a=this.projection.isReprojectedInTileSpace?this.mercatorMatrix:r?this.expandedFarZProjMatrix:i?this.alignedProjMatrix:this.projMatrix,e.a9.multiply(s,a,s),o[n]=new Float32Array(s),o[n]}calculatePixelsToTileUnitsMatrix(t){const i=t.tileID.key,r=this._pixelsToTileUnitsCache;if(r[i])return r[i];const n=e.bC(t,this);return r[i]=n,r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}globeToMercatorMatrix(){if("globe"===this.projection.name){const t=1/this.worldSize,i=e.a9.fromScaling([],[t,t,t]);return e.a9.multiply(i,i,this.globeMatrix),i}}recenterOnTerrain(){if(!this._elevation||"globe"===this.projection.name)return;const t=this._elevation;this._updateCameraState();const i=e.bo(1,this._center.lat)*this.worldSize,r=this._computeCameraPosition(i),n=this._camera.forward(),o=e.bo(1,this._center.lat);r[2]/=o,n[2]/=o,e.Q.normalize(n,n);const s=t.raycast(r,n,t.exaggeration());if(s){const t=e.Q.scaleAndAdd([],r,n,s),i=new e.O(t[0],t[1],e.bo(t[2],e.ax(t[1]))),a=(i.z+e.Q.length([i.x-r[0],i.y-r[1],i.z-r[2]*o]))*this._pixelsPerMercatorPixel;this._seaLevelZoom=this._zoomFromMercatorZ(a),this._centerAltitude=i.toAltitude(),this._center=this.coordinateLocation(i),this._updateZoomFromElevation(),this._constrain(),this._calcMatrices()}}_constrainCamera(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this._elevation)return;const i=this._elevation,r=e.bo(1,this._center.lat)*this.worldSize,n=this._computeCameraPosition(r),o=i.getAtPointOrZero(new e.O(...n)),s=this.pixelsPerMeter/this.worldSize*o,a=this._minimumHeightOverTerrain(),l=n[2]-s;if(l<=a)if(l<0||t){const t=this.locationCoordinate(this._center,this._centerAltitude),i=[n[0],n[1],t.z-n[2]],r=e.Q.length(i);i[2]-=(a-l)/this._pixelsPerMercatorPixel;const o=e.Q.length(i);if(0===o)return;e.Q.scale(i,i,r/o*this._pixelsPerMercatorPixel),this._camera.position=[n[0],n[1],t.z*this._pixelsPerMercatorPixel-i[2]],this._updateStateFromCamera()}else this._isCameraConstrained=!0}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t="globe"===this.projection.name||this.mercatorFromTransition;if(this.projection.isReprojectedInTileSpace||t){const i=this.center;return i.lat=e.ad(i.lat,this.minLat,this.maxLat),(this.maxBounds||!this.renderWorldCopies&&!t)&&(i.lng=e.ad(i.lng,this.minLng,this.maxLng)),this.center=i,void(this._constraining=!1)}const i=this._unmodified,{x:r,y:n}=this.point;let o=0,s=r,a=n;const l=this.width/2,c=this.height/2,h=this.worldMinY*this.scale,u=this.worldMaxY*this.scale;if(n-cu&&(a=u-c),u-ht&&(s=t-l),t-e{for(let n=0;n<16;n++)e[n]=ur(t[n],i[n],r)})(a,a,l,dr(this.pitch>=15?1:this.pitch/15))}else a=l;const c=e.a9.mul([],l,s);let h=e.a9.mul([],a,s);if(this.projection.isReprojectedInTileSpace){const t=this.locationCoordinate(this.center),i=e.a9.identity([]);e.a9.translate(i,i,[t.x*this.worldSize,t.y*this.worldSize,0]),e.a9.multiply(i,i,e.bE(this)),e.a9.translate(i,i,[-t.x*this.worldSize,-t.y*this.worldSize,0]),e.a9.multiply(h,h,i),e.a9.multiply(c,c,i),this.inverseAdjustmentMatrix=e.bF(this)}else this.inverseAdjustmentMatrix=[1,0,0,1];if(this.mercatorMatrix=e.a9.scale([],h,[this.worldSize,this.worldSize,this.worldSize/o,1]),this.projMatrix=h,this.invProjMatrix=e.a9.invert(new Float64Array(16),this.projMatrix),i){const i=this._camera.getCameraToClipPerspective(this._fov,this.width/this.height,this._nearZ,1/0);i[8]=2*-t.x/this.width,i[9]=2*t.y/this.height,this.expandedFarZProjMatrix=e.a9.mul([],i,s)}else this.expandedFarZProjMatrix=this.projMatrix;const u=e.a9.invert([],a);this.frustumCorners=e.bG.fromInvProjectionMatrix(u,this.horizonLineFromTop(),this.height),this.cameraFrustum=e.bt.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,0,!i);const d=new Float32Array(16);e.a9.identity(d),e.a9.scale(d,d,[1,-1,1]),e.a9.rotateX(d,d,this._pitch),e.a9.rotateZ(d,d,this.angle);const p=e.a9.perspective(new Float32Array(16),this._fov,this.width/this.height,this._nearZ,this._farZ);this.starsProjMatrix=e.a9.clone(p);const f=(Math.PI/2-this._pitch)*(this.height/this._fov)*this._horizonShift;p[8]=2*-t.x/this.width,p[9]=2*(t.y+f)/this.height,this.skyboxMatrix=e.a9.multiply(d,p,d);const m=this.point,_=m.x,g=m.y,y=this.width%2/2,x=this.height%2/2,v=Math.cos(this.angle),b=Math.sin(this.angle),w=_-Math.round(_)+v*y+b*x,T=g-Math.round(g)+v*x+b*y,E=new Float64Array(h);if(e.a9.translate(E,E,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedProjMatrix=E,h=e.a9.create(),e.a9.scale(h,h,[this.width/2,-this.height/2,1]),e.a9.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=e.a9.create(),e.a9.scale(h,h,[1,-1,1]),e.a9.translate(h,h,[-1,-1,0]),e.a9.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=e.a9.multiply(new Float64Array(16),this.labelPlaneMatrix,c),this._calcFogMatrices(),this._distanceTileDataCache={},h=e.a9.invert(new Float64Array(16),this.pixelMatrix),!h)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=h,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=e.bH(this);const t=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=e.Q.transformMat4(t,t,s),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=h;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={},this._expandedProjMatrixCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const t=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,r=this._camera.position,n=1/this.height/this._pixelsPerMercatorPixel,o=[t,t,i];e.Q.scale(o,o,n),e.Q.scale(r,r,-1),e.Q.multiply(r,r,o);const s=e.a9.create();e.a9.translate(s,s,r),e.a9.scale(s,s,o),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(t,i,n)}_computeCameraPosition(e){const t=(e=e||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),r=this.point,n=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*t-e/this.worldSize*this._centerAltitude;return[r.x/this.worldSize-i[0]*n,r.y/this.worldSize-i[1]*n,e/this.worldSize*this._centerAltitude-i[2]*n]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(t){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),r=this._camera.position[2],n=t[2];let o=1;this.projection.wrap&&(this.center=this.center.wrap()),n>0&&(o=Math.min((i-r)/n,1)),this._camera.position=e.Q.scaleAndAdd([],this._camera.position,t,o),this._updateStateFromCamera()}_updateStateFromCamera(){const t=this._camera.position,i=this._camera.forward(),{pitch:r,bearing:n}=this._camera.getPitchBearing(),o=e.bo(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(e.bm(this._maxPitch)),a=Math.max((t[2]-o)/Math.cos(r),s),l=this._zoomFromMercatorZ(a);e.Q.scaleAndAdd(t,t,i,a),this._pitch=e.ad(r,e.bm(this.minPitch),e.bm(this.maxPitch)),this.angle=e.bk(n,-Math.PI,Math.PI),this._setZoom(e.ad(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new e.O(t[0],t[1],t[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(e){return Math.pow(2,e)*this.tileSize}_mercatorZfromZoom(e){return this.cameraToCenterDistance/this._worldSizeFromZoom(e)}_minimumHeightOverTerrain(){const e=Math.min(null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom,this._maxZoom)+4;return this._mercatorZfromZoom(e)}_zoomFromMercatorZ(e){return this.scaleZoom(this.cameraToCenterDistance/(e*this.tileSize))}zoomFromMercatorZAdjusted(t){let i=0,r=e.bA,n=0,o=1/0;for(;r-i>1e-6&&r>i;){const e=i+.5*(r-i),s=this.tileSize*Math.pow(2,e),a=this.getCameraToCenterDistance(this.projection,e,s),l=this.scaleZoom(a/(t*this.tileSize)),c=Math.abs(e-l);cc||i.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+e.bI(this.fovAboveCenter)>88||this.anyCornerOffEdge(new e.P(0,0),new e.P(this.width,this.height))}zoomDeltaToMovement(t,i){const r=e.Q.length(e.Q.sub([],this._camera.position,t)),n=this._zoomFromMercatorZ(r)+i;return r-this._mercatorZfromZoom(n)}getCameraPoint(){if("globe"===this.projection.name){const t=function(t,i){let[r,n,o]=t;const s=[r,n,o,1];e.aa.transformMat4(s,s,i);const a=s[3]=Math.max(s[3],1e-6);return s[0]/=a,s[1]/=a,s[2]/=a,s}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new e.P(t[0],t[1])}{const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}}getCameraToCenterDistance(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.zoom,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.worldSize;const n=e.bD(t,i,this.width,this.height,1024),o=t.pixelSpaceConversion(this.center.lat,r,n);let s=.5/Math.tan(.5*this._fov)*this.height*o;return this.isOrthographic&&(s=ur(1,s,dr(this.pitch>=15?1:this.pitch/15))),s}getWorldToCameraMatrix(){const t=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return"globe"===this.projection.name&&e.a9.multiply(t,t,this.globeMatrix),t}getFrustum(t){return e.bt.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,t,"meters"===this.projection.zAxisUnit)}}const fr={BaseColor:5,MetallicRoughness:6,Normal:7,Occlusion:8,Emission:9,ShadowMap0:10},mr=(t,i)=>{if(i>0&&t.terrain&&e.w("Cutoff is currently disabled on terrain"),i<=0||t.terrain)return{shouldRenderCutoff:!1,uniformValues:{u_cutoff_params:[0,0,0,1]}};const r=t.transform,n=Math.max(Math.abs(r._zoom-(t.minCutoffZoom-1)),1),o=r.isLODDisabled(!1)?e.S(60,45,r.pitch):e.S(30,15,r.pitch),s=r._farZ-r._nearZ,a=i*r.height,l=((1-(c=o))*r.cameraToCenterDistance+c*(r._farZ+a))*n;var c;return{shouldRenderCutoff:o<1,uniformValues:{u_cutoff_params:[r._nearZ,r._farZ,(l-r._nearZ)/s,(l-a-r._nearZ)/s]}}},_r={cascadeCount:2,shadowMapResolution:2048};class gr{constructor(e,t){this.aabb=e,this.lastCascade=t}}class yr{add(e,t){const i=this.receivers[e.key];void 0!==i?(i.aabb.min[0]=Math.min(i.aabb.min[0],t.min[0]),i.aabb.min[1]=Math.min(i.aabb.min[1],t.min[1]),i.aabb.min[2]=Math.min(i.aabb.min[2],t.min[2]),i.aabb.max[0]=Math.max(i.aabb.max[0],t.max[0]),i.aabb.max[1]=Math.max(i.aabb.max[1],t.max[1]),i.aabb.max[2]=Math.max(i.aabb.max[2],t.max[2])):this.receivers[e.key]=new gr(t,null)}clear(){this.receivers={}}get(e){return this.receivers[e.key]}computeRequiredCascades(t,i,r){const n=e.bV.fromPoints(t.points);let o=0;for(const s in this.receivers){const t=this.receivers[s];if(!t)continue;if(!n.intersectsAabb(t.aabb))continue;t.aabb.min=n.closestPoint(t.aabb.min),t.aabb.max=n.closestPoint(t.aabb.max);const a=t.aabb.getCorners();for(let n=0;n1||o[1]<-1||o[1]>1){s=!1;break}}if(t.lastCascade=n,o=Math.max(o,n),s)break}}return o+1}}class xr{constructor(e){this.painter=e,this._enabled=!1,this._shadowLayerCount=0,this._numCascadesToRender=0,this._cascades=[],this._groundShadowTiles=[],this._receivers=new yr,this._depthMode=new Mt(e.context.gl.LEQUAL,Mt.ReadWrite,[0,1]),this._uniformValues={u_light_matrix_0:new Float32Array(16),u_light_matrix_1:new Float32Array(16),u_shadow_intensity:0,u_fade_range:[0,0],u_shadow_normal_offset:[1,1,1],u_shadow_texel_size:1,u_shadow_map_resolution:1,u_shadow_direction:[0,0,1],u_shadow_bias:[36e-5,.0012,.012],u_shadowmap_0:0,u_shadowmap_1:0},this._forceDisable=!1,this.useNormalOffset=!1,e.tp.registerParameter(this,["Shadows"],"_forceDisable",{label:"forceDisable"},(()=>{this.painter.style.map.triggerRepaint()})),e.tp.registerParameter(_r,["Shadows"],"cascadeCount",{min:1,max:2,step:1}),e.tp.registerParameter(_r,["Shadows"],"shadowMapResolution",{min:32,max:2048,step:32}),e.tp.registerBinding(this,["Shadows"],"_numCascadesToRender",{readonly:!0,label:"numCascadesToRender"})}destroy(){for(const e of this._cascades)e.texture.destroy(),e.framebuffer.destroy();this._cascades=[]}updateShadowParameters(t,i){const r=this.painter;if(this._enabled=!1,this._shadowLayerCount=0,this._receivers.clear(),!i||!i.properties)return;const n=i.properties.get("shadow-intensity");if(!i.shadowsEnabled()||n<=0)return;if(this._shadowLayerCount=r.style.order.reduce(((e,i)=>{const n=r.style._mergedLayers[i];return e+(n.hasShadowPass()&&!n.isHidden(t.zoom)?1:0)}),0),this._enabled=this._shadowLayerCount>0,!this.enabled)return;const o=r.context,s=_r.shadowMapResolution,a=_r.shadowMapResolution;if(0===this._cascades.length||_r.shadowMapResolution!==this._cascades[0].texture.size[0]){this._cascades=[];for(let t=0;t<_r.cascadeCount;++t){const t=r._shadowMapDebug,i=o.gl,n=o.createFramebuffer(s,a,t,"texture"),l=new e.T(o,{width:s,height:a,data:null},i.DEPTH_COMPONENT);if(n.depthAttachment.set(l.texture),t){const t=new e.T(o,{width:s,height:a,data:null},i.RGBA);n.colorAttachment.set(t.texture)}this._cascades.push({framebuffer:n,texture:l,matrix:[],far:0,boundingSphereRadius:0,frustum:new e.bt,scale:0})}}this.shadowDirection=br(i);let l=0;if(t.elevation){const e=t.elevation,i=[1e4,-1e4];e.visibleDemTiles.filter((e=>e.dem)).forEach((e=>{const t=e.dem.tree;i[0]=Math.min(i[0],t.minimums[0]),i[1]=Math.max(i[1],t.maximums[0])})),1e4!==i[0]&&(l=(i[1]-i[0])*e.exaggeration())}const c=1.5*t.cameraToCenterDistance,h=3*c,u=new Float64Array(16);for(let f=0;f3&&void 0!==arguments[3]?arguments[3]:0;if(!this.enabled)return;const o=this.painter.transform,s=this.painter.context,a=s.gl,l=this._uniformValues,c=new Float64Array(16),h=o.calculatePosMatrix(t,o.worldSize);for(let u=0;u2&&void 0!==arguments[2]&&arguments[2];if(!this.enabled)return;const n=this.painter.context,o=n.gl,s=this._uniformValues,a=new Float64Array(16);for(let l=0;l<_r.cascadeCount;l++)e.a9.multiply(a,this._cascades[l].matrix,t),s[0===l?"u_light_matrix_0":"u_light_matrix_1"]=Float32Array.from(a),n.activeTexture.set(o.TEXTURE0+fr.ShadowMap0+l),this._cascades[l].texture.bind(o.NEAREST,o.CLAMP_TO_EDGE);if(this.useNormalOffset=r,r){const e=5;s.u_shadow_normal_offset=[1,e,e],s.u_shadow_bias=[6e-5,.0012,.012]}else s.u_shadow_bias=[36e-5,.0012,.012];i.setShadowUniformValues(n,s)}getShadowUniformValues(){return this._uniformValues}getCurrentCascadeFrustum(){return this._cascades[this.painter.currentShadowCascade].frustum}computeSimplifiedTileShadowVolume(t,i,r,n){if(n[2]>=0)return{};const o=function(t,i,r){const n=r/(1<0&&(e.Q.add(o[1],o[1],[n[0]*s,0,0]),e.Q.add(o[2],o[2],[n[0]*s,0,0])),n[1]<0?(e.Q.add(o[0],o[0],[0,n[1]*s,0]),e.Q.add(o[1],o[1],[0,n[1]*s,0])):n[1]>0&&(e.Q.add(o[2],o[2],[0,n[1]*s,0]),e.Q.add(o[3],o[3],[0,n[1]*s,0]));const a={};return a.vertices=o,a.planes=[vr(o[1],o[0],o[4]),vr(o[2],o[1],o[5]),vr(o[3],o[2],o[6]),vr(o[0],o[3],o[7])],a}addShadowReceiver(t,i,r){this._receivers.add(t,e.bV.fromTileIdAndHeight(t,i,r))}getMaxCascadeForTile(e){const t=this._receivers.get(e);return t&&t.lastCascade?t.lastCascade:0}}function vr(t,i,r){const n=e.Q.sub([],r,i),o=e.Q.sub([],t,i),s=e.Q.cross([],n,o),a=e.Q.length(s);return 0===a?[0,0,1,0]:(e.Q.scale(s,s,1/a),[s[0],s[1],s[2],-e.Q.dot(s,i)])}function br(t){const i=t.properties.get("direction"),r=e.bT(i.x,i.y,i.z);r[2]=e.ad(r[2],0,75);const n=e.bW([r[0],r[1],r[2]]);return e.Q.fromValues(n.x,n.y,n.z)}function wr(t,i){const r=t.properties.get("color"),n=t.properties.get("intensity"),o=t.properties.get("direction"),s=[o.x,o.y,o.z],a=i.properties.get("color"),l=i.properties.get("intensity"),c=Math.max(e.Q.dot([0,0,1],s),0),h=[0,0,0];e.Q.scale(h,a.toArray01Linear().slice(0,3),l);const u=[0,0,0];return e.Q.scale(u,r.toArray01Linear().slice(0,3),c*n),e.bX([h[0]>0?h[0]/(h[0]+u[0]):0,h[1]>0?h[1]/(h[1]+u[1]):0,h[2]>0?h[2]/(h[2]+u[2]):0])}function Tr(t,i,r,n,o,s){const a=t.zoom,l=t.scale,c=t.worldSize,h=1/c,u=t.aspect,d=Math.sqrt(1+u*u)*Math.tan(.5*t.fovX),p=d*d,f=n-r,m=n+r;let _,g;p>f/m?(_=n,g=n*d):(_=.5*m*(1+p),g=.5*Math.sqrt(f*f+2*(n*n+r*r)*p+m*m*p*p));const y=t.projection.pixelsPerMeter(t.center.lat,c),x=t._camera.getCameraToWorldMercator(),v=[0,0,-_*h];e.Q.transformMat4(v,v,x);let b=g*h;const w=t._edgeInsets;if(!(0===w.left&&0===w.top&&0===w.right&&0===w.bottom||w.left===w.right&&w.top===w.bottom)){const i=t._camera.getWorldToCamera(t.worldSize,"meters"===t.projection.zAxisUnit?y:1),o=t._camera.getCameraToClipPerspective(t._fov,t.width/t.height,r,n);o[8]=2*-t.centerOffset.x/t.width,o[9]=2*t.centerOffset.y/t.height;const s=new Float64Array(16);e.a9.mul(s,o,i);const h=new Float64Array(16);e.a9.invert(h,s);const u=e.bt.fromInvProjectionMatrix(h,c,a,!0);for(const r of u.points){const i=((T=r)[0]/=l,T[1]/=l,T[2]=e.bo(T[2],t._center.lat),T);b=Math.max(b,e.Q.len(e.Q.subtract([],v,i)))}}var T;b*=o/(o-1);const E=Math.acos(i[2]),S=Math.atan2(-i[0],-i[1]),M=new hr;M.position=v,M.setPitchBearing(E,S);const A=M.getWorldToCamera(c,y),I=b*c,C=Math.min(t._mercatorZfromZoom(17)*c*-2,-2*I),P=M.getCameraToClipOrthographic(-I,I,-I,I,C,(I+s*y)/i[2]),z=new Float64Array(16);e.a9.multiply(z,P,A);const D=e.Q.fromValues(Math.floor(1e6*v[0])/1e6*c,Math.floor(1e6*v[1])/1e6*c,0),R=.5*o,L=[0,0,0];e.Q.transformMat4(L,D,z),e.Q.scale(L,L,R);const k=[Math.floor(L[0]),Math.floor(L[1]),Math.floor(L[2])],O=[0,0,0];e.Q.sub(O,L,k),e.Q.scale(O,O,-1/R);const B=new Float64Array(16);return e.a9.identity(B),e.a9.translate(B,B,O),e.a9.multiply(z,B,z),[z,I]}const Er=(e,t)=>se(e,t&&t.filter((e=>"source.canvas"!==e.identifier))),Sr=e.af(ti,["addLayer","removeLayer","setLights","setPaintProperty","setLayoutProperty","setSlot","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection","setCamera","addImport","removeImport","updateImport"]),Mr=e.af(ti,["setCenter","setZoom","setBearing","setPitch"]),Ar={version:8,layers:[],sources:{}},Ir={duration:300,delay:0};class Cr extends e.E{constructor(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.map=t,this.scope=i.scope||"",this.globalId=null,this.fragments=[],this.importDepth=i.importDepth||0,this.importsCache=i.importsCache||new Map,this.resolvedImports=i.resolvedImports||new Set,this.transition=e.e({},Ir),this._buildingIndex=new Kt(this),this.crossTileSymbolIndex=new nr,this._mergedOrder=[],this._drapedFirstOrder=[],this._mergedLayers={},this._mergedSourceCaches={},this._mergedOtherSourceCaches={},this._mergedSymbolSourceCaches={},this._has3DLayers=!1,this._hasCircleLayers=!1,this._hasSymbolLayers=!1,this._changes=i.styleChanges||new y,this.dispatcher=i.dispatcher?i.dispatcher:new e.bZ(e.b_(),this),i.imageManager?this.imageManager=i.imageManager:(this.imageManager=new w,this.imageManager.setEventedParent(this)),this.imageManager.createScope(this.scope),this.glyphManager=i.glyphManager?i.glyphManager:new e.b$(t._requestManager,i.localFontFamily?e.c0.all:i.localIdeographFontFamily?e.c0.ideographs:e.c0.none,i.localFontFamily||i.localIdeographFontFamily),i.modelManager?this.modelManager=i.modelManager:(this.modelManager=new x(t._requestManager),this.modelManager.setEventedParent(this)),this._layers={},this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._precompileDone=!1,this._shouldPrecompile=!1,this._availableImages=[],this._order=[],this._markersNeedUpdate=!1,this.options=i.configOptions?i.configOptions:new Map,this._configDependentLayers=i.configDependentLayers?i.configDependentLayers:new Set,this._config=i.config,this._initialConfig=i.initialConfig,this.dispatcher.broadcast("setReferrer",e.c1());const r=this;this._rtlTextPluginCallback=Cr.registerForPluginStateChange((t=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},((t,i)=>{if(e.c2(t),i&&i.every((e=>e)))for(const e in r._sourceCaches){const t=r._sourceCaches[e],i=t.getSource().type;"vector"!==i&&"geojson"!==i||t.reload()}}))})),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;const t=this.getOwnSource(e.sourceId);if(t&&t.vectorLayerIds)for(const i in this._layers){const e=this._layers[i];e.source===t.id&&this._validateLayer(e)}}))}load(e){return e?("string"==typeof e?this.loadURL(e):this.loadJSON(e),this):this}_getGlobalId(t){if(!t)return null;if("string"==typeof t){if(e.c3(t))return t;const i=e.c4(t);if(!i.startsWith("http"))try{return new URL(i,location.href).toString()}catch(e){return i}return i}return`json://${e.c5(JSON.stringify(t))}`}_diffStyle(t,i,r){this.globalId=this._getGlobalId(t);const n=(e,t)=>{try{t(null,this.setState(e,r))}catch(e){t(e,!1)}};if("string"==typeof t){const r=this.map._requestManager.normalizeStyleURL(t),o=this.map._requestManager.transformRequest(r,e.R.Style);e.g(o,((t,r)=>{t?this.fire(new e.a(t)):r&&n(r,i)}))}else"object"==typeof t&&n(t,i)}loadURL(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.b("dataloading",{dataType:"style"}));const r="boolean"==typeof i.validate?i.validate:!e.c3(t);this.globalId=this._getGlobalId(t),t=this.map._requestManager.normalizeStyleURL(t,i.accessToken),this.resolvedImports.add(t);const n=this.importsCache.get(t);if(n)return this._load(n,r);const o=this.map._requestManager.transformRequest(t,e.R.Style);this._request=e.g(o,((i,n)=>{if(this._request=null,i)this.fire(new e.a(i));else if(n)return this.importsCache.set(t,n),this._load(n,r)}))}loadJSON(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.b("dataloading",{dataType:"style"})),this.globalId=this._getGlobalId(t),this._request=e.f.frame((()=>{this._request=null,this._load(t,!1!==i.validate)}))}loadEmpty(){this.fire(new e.b("dataloading",{dataType:"style"})),this._load(Ar,!1)}_loadImports(t,i,r){if(this.importDepth>=4)return e.w("Style doesn't support nesting deeper than 5"),Promise.resolve();const n=[];for(const e of t){const t=this._createFragmentStyle(e),o=new Promise((e=>{t.once("style.import.load",e),t.once("error",e)})).then((()=>this.mergeAll()));if(n.push(o),this.resolvedImports.has(e.url)){t.loadEmpty();continue}const s=e.data||this.importsCache.get(e.url);s?(t.loadJSON(s,{validate:i}),this._isInternalStyle(s)&&(t.globalId=null)):e.url?t.loadURL(e.url,{validate:i}):t.loadEmpty();const a={style:t,id:e.id,config:e.config};if(r){const e=this.fragments.findIndex((e=>{let{id:t}=e;return t===r}));this.fragments=this.fragments.slice(0,e).concat(a).concat(this.fragments.slice(e))}else this.fragments.push(a)}return Promise.allSettled(n)}getImportGlobalIds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const i of e.fragments)i.style.globalId&&t.add(i.style.globalId),this.getImportGlobalIds(i.style,t);return[...t.values()]}_createFragmentStyle(t){const i=this.scope?e.aj(t.id,this.scope):t.id;let r;const n=this._initialConfig&&this._initialConfig[i];(t.config||n)&&(r=e.e({},t.config,n));const o=new Cr(this.map,{scope:i,styleChanges:this._changes,importDepth:this.importDepth+1,importsCache:this.importsCache,resolvedImports:new Set(this.resolvedImports),dispatcher:this.dispatcher,imageManager:this.imageManager,glyphManager:this.glyphManager,modelManager:this.modelManager,config:r,configOptions:this.options,configDependentLayers:this._configDependentLayers});return o.setEventedParent(this.map,{style:o}),o}_reloadImports(){this.mergeAll(),this._updateMapProjection(),this.updateConfigDependencies(),this.map._triggerCameraUpdate(this.camera),this.dispatcher.broadcast("setLayers",{layers:this._serializeLayers(this._order),scope:this.scope,options:this.options}),this._shouldPrecompile=this.isRootStyle()}_isInternalStyle(e){return this.isRootStyle()&&(e.fragment||!!e.schema&&!1!==e.fragment)}_load(t,i){const r=t.schema;if(this._isInternalStyle(t)){const r=e.e({},Ar,{imports:[{id:"basemap",data:t,url:""}]});return void this._load(r,i)}if(this.updateConfig(this._config,r),i&&Er(this,Q(t)))return;this._loaded=!0,this.stylesheet=e.c6(t);for(const e in t.sources)this.addSource(e,t.sources[e],{validate:!1,isInitialLoad:!0});t.sprite?this._loadSprite(t.sprite):(this.imageManager.setLoaded(!0,this.scope),this.dispatcher.broadcast("spriteLoaded",{scope:this.scope,isLoaded:!0})),this.glyphManager.setURL(t.glyphs,this.scope);const n=ei(this.stylesheet.layers);if(this._order=n.map((e=>e.id)),this.stylesheet.light&&e.w("The `light` root property is deprecated, prefer using `lights` with `flat` light type instead."),this.stylesheet.lights)if(1===this.stylesheet.lights.length&&"flat"===this.stylesheet.lights[0].type){const e=this.stylesheet.lights[0];this.light=new le(e.properties,e.id)}else this.setLights(this.stylesheet.lights);this.light||(this.light=new le(this.stylesheet.light)),this._layers={},this._serializedLayers={};for(const a of n){const t=e.c7(a,this.scope,this.options);t.isConfigDependent&&this._configDependentLayers.add(t.fqid),t.setEventedParent(this,{layer:{id:t.id}}),this._layers[t.id]=t,this._serializedLayers[t.id]=t.serialize();const i=this.getOwnLayerSourceCache(t),r=!!this.directionalLight&&this.directionalLight.shadowsEnabled();i&&t.canCastShadows()&&r&&(i.castsShadows=!0)}this.stylesheet.models&&this.modelManager.addModels(this.stylesheet.models,this.scope);const o=this.stylesheet.terrain;o&&(void 0===this.disableElevatedTerrain&&(this.disableElevatedTerrain=e.f.hasCanvasFingerprintNoise()),this.disableElevatedTerrain?e.w("Terrain and hillshade are disabled because of Canvas2D limitations when fingerprinting protection is enabled (e.g. in private browsing mode)."):this.terrainSetForDrapingOnly()||this._createTerrain(o,1)),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this.stylesheet.transition&&this.setTransition(this.stylesheet.transition),this.fire(new e.b("data",{dataType:"style"}));const s=this.isRootStyle();t.imports?this._loadImports(t.imports,i).then((()=>{this._reloadImports(),this.fire(new e.b(s?"style.load":"style.import.load"))})):(this._reloadImports(),this.fire(new e.b(s?"style.load":"style.import.load")))}isRootStyle(){return 0===this.importDepth}mergeAll(){let t,i,r,n,o,s,a,l;this.terrain&&this.terrain.scope!==this.scope&&delete this.terrain,this.forEachFragmentStyle((e=>{if(e.stylesheet){if(null!=e.light&&(t=e.light),e.stylesheet.lights)for(const t of e.stylesheet.lights)"ambient"===t.type&&null!=e.ambientLight&&(i=e.ambientLight),"directional"===t.type&&null!=e.directionalLight&&(r=e.directionalLight);n=this._prioritizeTerrain(n,e.terrain,e.stylesheet.terrain),e.stylesheet.fog&&null!=e.fog&&(o=e.fog),null!=e.stylesheet.camera&&(l=e.stylesheet.camera),null!=e.stylesheet.projection&&(s=e.stylesheet.projection),null!=e.stylesheet.transition&&(a=e.stylesheet.transition)}})),this.light=t,this.ambientLight=i,this.directionalLight=r,this.fog=o,null===n?delete this.terrain:this.terrain=n,this.camera=l||{"camera-projection":"perspective"},this.projection=s||{name:"mercator"},this.transition=e.e({},Ir,a),this.mergeSources(),this.mergeLayers()}forEachFragmentStyle(e){const t=i=>{for(const e of i.fragments)t(e.style);e(i)};t(this)}_prioritizeTerrain(e,t,i){const r=e&&0===e.drapeRenderMode;return null===i?t&&0===t.drapeRenderMode?t:r?e:null:null!=t&&(!e||r||t&&1===t.drapeRenderMode)?t:e}mergeTerrain(){let e;this.terrain&&this.terrain.scope!==this.scope&&delete this.terrain,this.forEachFragmentStyle((t=>{e=this._prioritizeTerrain(e,t.terrain,t.stylesheet.terrain)})),null===e?delete this.terrain:this.terrain=e}mergeProjection(){let e;this.forEachFragmentStyle((t=>{null!=t.stylesheet.projection&&(e=t.stylesheet.projection)})),this.projection=e||{name:"mercator"}}mergeSources(){const t={},i={},r={};this.forEachFragmentStyle((n=>{for(const i in n._sourceCaches){const r=e.aj(i,n.scope);t[r]=n._sourceCaches[i]}for(const t in n._otherSourceCaches){const r=e.aj(t,n.scope);i[r]=n._otherSourceCaches[t]}for(const t in n._symbolSourceCaches){const i=e.aj(t,n.scope);r[i]=n._symbolSourceCaches[t]}})),this._mergedSourceCaches=t,this._mergedOtherSourceCaches=i,this._mergedSymbolSourceCaches=r}mergeLayers(){var t=this;const i={},r=[],n={};this._has3DLayers=!1,this._hasCircleLayers=!1,this._hasSymbolLayers=!1,this.forEachFragmentStyle((t=>{for(const n of t._order){const o=t._layers[n];if("slot"===o.type){const t=e.c8(n);if(i[t])continue;i[t]=[]}o.slot&&i[o.slot]?i[o.slot].push(o):r.push(o)}})),this._mergedOrder=[];const o=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(const s of r)if("slot"===s.type){const t=e.c8(s.id);i[t]&&o(i[t])}else{const i=e.aj(s.id,s.scope);t._mergedOrder.push(i),n[i]=s,s.is3D()&&(t._has3DLayers=!0),"circle"===s.type&&(t._hasCircleLayers=!0),"symbol"===s.type&&(t._hasSymbolLayers=!0)}};o(r),this._mergedLayers=n,this.updateDrapeFirstLayers(),this._buildingIndex.processLayersChanged()}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}getCamera(){return this.stylesheet.camera}setCamera(t){return this.stylesheet.camera=e.e({},this.stylesheet.camera,t),this.camera=this.stylesheet.camera,this}setProjection(e){e?this.stylesheet.projection=e:delete this.stylesheet.projection,this.mergeProjection(),this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?(this.getTerrain()||this.stylesheet.terrain)&&!this.disableElevatedTerrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null,0))}_updateMapProjection(){this.isRootStyle()&&(this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.projection))}_loadSprite(t){this._spriteRequest=function(t,i,r){let n,o,s;const a=e.f.devicePixelRatio>1?"@2x":"";let l=e.g(i.transformRequest(i.normalizeSpriteURL(t,a,".json"),e.R.SpriteJSON),((e,t)=>{l=null,s||(s=e,n=t,h())})),c=e.d(i.transformRequest(i.normalizeSpriteURL(t,a,".png"),e.R.SpriteImage),((e,t)=>{c=null,s||(s=e,o=t,h())}));function h(){if(s)r(s);else if(n&&o){const t=e.f.getImageData(o),i={};for(const r in n){const{width:o,height:s,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:p}=n[r],f=new e.h({width:o,height:s});e.h.copy(t,f,{x:a,y:l},{x:0,y:0},{width:o,height:s}),i[r]={data:f,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:p}}r(null,i)}}return{cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,((t,i)=>{if(this._spriteRequest=null,t)this.fire(new e.a(t));else if(i)for(const e in i)this.imageManager.addImage(e,this.scope,i[e]);this.imageManager.setLoaded(!0,this.scope),this._availableImages=this.imageManager.listImages(this.scope),this.dispatcher.broadcast("setImages",{scope:this.scope,images:this._availableImages}),this.dispatcher.broadcast("spriteLoaded",{scope:this.scope,isLoaded:!0}),this.fire(new e.b("data",{dataType:"style"}))}))}_validateLayer(t){const i=this.getOwnSource(t.source);if(!i)return;const r=t.sourceLayer;r&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(r))&&this.fire(new e.a(new Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${t.id}"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._changes.getUpdatedSourceCaches()).length)return!1;for(const e in this._sourceCaches)if(!this._sourceCaches[e].loaded())return!1;if(!this.imageManager.isLoaded())return!1;if(!this.modelManager.isLoaded())return!1;for(const{style:e}of this.fragments)if(!e.loaded())return!1;return!0}_serializeImports(){if(this.stylesheet.imports)return this.stylesheet.imports.map(((e,t)=>{const i=this.fragments[t];return i&&i.style&&(e.data=i.style.serialize()),e}))}_serializeSources(){const e={};for(const t in this._sourceCaches){const i=this._sourceCaches[t].getSource();e[i.id]||(e[i.id]=i.serialize())}return e}_serializeLayers(e){const t=[];for(const i of e){const e=this._layers[i];e&&"custom"!==e.type&&t.push(e.serialize())}return t}hasLightTransitions(){return!(!this.light||!this.light.hasTransition())||!(!this.ambientLight||!this.ambientLight.hasTransition())||!(!this.directionalLight||!this.directionalLight.hasTransition())}hasFogTransition(){return!!this.fog&&this.fog.hasTransition()}hasTransitions(){if(this.hasLightTransitions())return!0;if(this.hasFogTransition())return!0;for(const e in this._sourceCaches)if(this._sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}get order(){return this.terrain?this._drapedFirstOrder:this._mergedOrder}isLayerDraped(e){return!!this.terrain&&e.isDraped(this.getLayerSourceCache(e))}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}_checkLayer(t){const i=this.getOwnLayer(t);if(i)return i;this.fire(new e.a(new Error(`The layer '${t}' does not exist in the map's style.`)))}_checkSource(t){const i=this.getOwnSource(t);if(i)return i;this.fire(new e.a(new Error(`The source '${t}' does not exist in the map's style.`)))}update(t){if(!this._loaded)return;this.ambientLight&&this.ambientLight.recalculate(t),this.directionalLight&&this.directionalLight.recalculate(t);const i=this.calculateLightsBrightness();t.brightness=i||0,i!==this._brightness&&(this._brightness=i,this.dispatcher.broadcast("setBrightness",i));const r=this._changes.isDirty();if(this._changes.isDirty()){const e=this._changes.getLayerUpdatesByScope();for(const t in e){const{updatedIds:i,removedIds:r}=e[t];(i||r)&&this._updateWorkerLayers(t,i,r)}this.updateSourceCaches(),this._updateTilesForChangedImages(),this.updateLayers(t),this.light&&this.light.updateTransitions(t),this.ambientLight&&this.ambientLight.updateTransitions(t),this.directionalLight&&this.directionalLight.updateTransitions(t),this.fog&&this.fog.updateTransitions(t),this._changes.reset()}const n={};for(const e in this._mergedSourceCaches){const t=this._mergedSourceCaches[e];n[e]=t.used,t.used=!1,t.tileCoverLift=0}for(const e of this._mergedOrder){const i=this._mergedLayers[e];if(i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)){const e=this.getLayerSourceCache(i);e&&(e.used=!0,e.tileCoverLift=Math.max(e.tileCoverLift,i.tileCoverLift()))}if(!this._precompileDone&&this._shouldPrecompile)for(let e=i.minzoom||0;e<(i.maxzoom||25.5);e++){const e=this.map.painter;if(e){const r=i.getProgramIds();if(!r)continue;for(const n of r){const r=i.getDefaultProgramParams(n,t.zoom);r&&(e.style=this,this.fog&&(e._fogVisible=!0,r.overrideFog=!0,e.getOrCreateProgram(n,r)),e._fogVisible=!1,r.overrideFog=!1,e.getOrCreateProgram(n,r),(this.stylesheet.terrain||this.stylesheet.projection&&"globe"===this.stylesheet.projection.name)&&(r.overrideRtt=!0,e.getOrCreateProgram(n,r)))}}}}this._shouldPrecompile&&(this._precompileDone=!0);for(const o in n){const t=this._mergedSourceCaches[o];n[o]!==t.used&&t.getSource().fire(new e.b("data",{sourceDataType:"visibility",dataType:"source",sourceId:t.getSource().id}))}this.light&&this.light.recalculate(t),this.terrain&&this.terrain.recalculate(t),this.fog&&this.fog.recalculate(t),this.z=t.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),r&&this.fire(new e.b("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=this._changes.getUpdatedImages();if(e.length){for(const t in this._sourceCaches)this._sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changes.resetUpdatedImages()}}_updateWorkerLayers(e,t,i){const r=this.getFragmentStyle(e);r&&this.dispatcher.broadcast("updateLayers",{layers:t?r._serializeLayers(t):[],scope:e,removedIds:i||[],options:r.options})}setState(i,r){if(this._checkLoaded(),Er(this,Q(i)))return!1;(i=e.c6(i)).layers=ei(i.layers);const n=function(e,i){if(!e)return[{command:ti.setStyle,args:[i]}];let r=[];try{if(!t(e.version,i.version))return[{command:ti.setStyle,args:[i]}];t(e.center,i.center)||r.push({command:ti.setCenter,args:[i.center]}),t(e.zoom,i.zoom)||r.push({command:ti.setZoom,args:[i.zoom]}),t(e.bearing,i.bearing)||r.push({command:ti.setBearing,args:[i.bearing]}),t(e.pitch,i.pitch)||r.push({command:ti.setPitch,args:[i.pitch]}),t(e.sprite,i.sprite)||r.push({command:ti.setSprite,args:[i.sprite]}),t(e.glyphs,i.glyphs)||r.push({command:ti.setGlyphs,args:[i.glyphs]}),t(e.imports,i.imports)||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;i=i||[];const n=(e=e||[]).map(ai),o=i.map(ai),s=e.reduce(li,{}),a=i.reduce(li,{}),l=n.slice();let c,h,u,d;for(c=0,h=0;c{e.source&&n[e.source]?r.push({command:ti.removeLayer,args:[e.id]}):s.push(e)}));let a=e.terrain;a&&n[a.source]&&(r.push({command:ti.setTerrain,args:[void 0]}),a=void 0),r=r.concat(o),t(a,i.terrain)||r.push({command:ti.setTerrain,args:[i.terrain]}),function(e,i,r){i=i||[];const n=(e=e||[]).map(ai),o=i.map(ai),s=e.reduce(li,{}),a=i.reduce(li,{}),l=n.slice(),c=Object.create(null);let h,u,d,p,f,m,_;for(h=0,u=0;h!(e.command in Mr)));if(0===n.length)return!1;const o=n.filter((e=>!(e.command in Sr)));if(o.length>0)throw new Error(`Unimplemented: ${o.map((e=>e.command)).join(", ")}.`);const s=[];return n.forEach((e=>{s.push(this[e.command].apply(this,e.args))})),r&&Promise.all(s).then(r),this.stylesheet=i,this.mergeAll(),this.dispatcher.broadcast("setLayers",{layers:this._serializeLayers(this._order),scope:this.scope,options:this.options}),!0}addImage(t,i){return this.getImage(t)?this.fire(new e.a(new Error("An image with this name already exists."))):(this.imageManager.addImage(t,this.scope,i),this._afterImageUpdated(t),this)}updateImage(e,t){this.imageManager.updateImage(e,this.scope,t)}getImage(e){return this.imageManager.getImage(e,this.scope)}removeImage(t){return this.getImage(t)?(this.imageManager.removeImage(t,this.scope),this._afterImageUpdated(t),this):this.fire(new e.a(new Error("No image with this name exists.")))}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(this.scope),this._changes.updateImage(t),this.dispatcher.broadcast("setImages",{scope:this.scope,images:this._availableImages}),this.fire(new e.b("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addModel(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._checkLoaded(),this._validate(ne,`models.${e}`,t,null,i)||(this.modelManager.addModel(e,t,this.scope),this._changes.setDirty()),this}hasModel(e){return this.modelManager.hasModel(e,this.scope)}removeModel(t){return this.hasModel(t)?(this.modelManager.removeModel(t,this.scope),this):this.fire(new e.a(new Error("No model with this ID exists.")))}listModels(){return this._checkLoaded(),this.modelManager.listModels(this.scope)}addSource(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._checkLoaded(),void 0!==this.getOwnSource(t))throw new Error(`There is already a source with ID "${t}".`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(H,`sources.${t}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=Ut(t,i,this.dispatcher,this);n.scope=this.scope,n.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(n.id),source:n.serialize(),sourceId:n.id})));const o=t=>{const i=(t?"symbol:":"other:")+n.id,r=e.aj(i,this.scope),o=this._sourceCaches[i]=new Qt(r,n,t);(t?this._symbolSourceCaches:this._otherSourceCaches)[n.id]=o,o.onAdd(this.map)};o(!1),"vector"!==i.type&&"geojson"!==i.type||o(!0),n.onAdd&&n.onAdd(this.map),r.isInitialLoad||(this.mergeSources(),this._changes.setDirty())}removeSource(t){this._checkLoaded();const i=this.getOwnSource(t);if(!i)throw new Error("There is no source with this ID");for(const n in this._layers)if(this._layers[n].source===t)return this.fire(new e.a(new Error(`Source "${t}" cannot be removed while layer "${n}" is using it.`)));if(this.terrain&&this.terrain.scope===this.scope&&this.terrain.get().source===t)return this.fire(new e.a(new Error(`Source "${t}" cannot be removed while terrain is using it.`)));const r=this.getOwnSourceCaches(t);for(const n of r){const t=e.c8(n.id);delete this._sourceCaches[t],this._changes.discardSourceCacheUpdate(n.id),n.fire(new e.b("data",{sourceDataType:"metadata",dataType:"source",sourceId:n.getSource().id})),n.setEventedParent(null),n.clearTiles()}return delete this._otherSourceCaches[t],delete this._symbolSourceCaches[t],this.mergeSources(),i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changes.setDirty(),this}setGeoJSONSourceData(e,t){this._checkLoaded(),this.getOwnSource(e).setData(t),this._changes.setDirty()}getOwnSource(e){const t=this.getOwnSourceCache(e);return t&&t.getSource()}getOwnSources(){const e=[];for(const t in this._otherSourceCaches){const i=this.getOwnSourceCache(t);i&&e.push(i.getSource())}return e}areTilesLoaded(){const e=this._mergedSourceCaches;for(const t in e){const i=e[t]._tiles;for(const e in i){const t=i[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}setLights(t){if(this._checkLoaded(),!t)return delete this.ambientLight,void delete this.directionalLight;const i=this._getTransitionParameters();for(const e of t){if(this._validate(Y,"lights",e))return;switch(e.type){case"ambient":if(this.ambientLight){const t=this.ambientLight;t.set(e),t.updateTransitions(i)}else this.ambientLight=new ve(e,be,this.scope,this.options);break;case"directional":if(this.directionalLight){const t=this.directionalLight;t.set(e),t.updateTransitions(i)}else this.directionalLight=new ve(e,we,this.scope,this.options)}}const r=new e.N(this.z||0,i);this.ambientLight&&this.ambientLight.recalculate(r),this.directionalLight&&this.directionalLight.recalculate(r),this._brightness=this.calculateLightsBrightness(),this.dispatcher.broadcast("setBrightness",this._brightness)}calculateLightsBrightness(){const t=this.directionalLight,i=this.ambientLight;if(!t||!i)return;const r=e=>.2126*(e[0]<=.03928?e[0]/12.92:Math.pow((e[0]+.055)/1.055,2.4))+.7152*(e[1]<=.03928?e[1]/12.92:Math.pow((e[1]+.055)/1.055,2.4))+.0722*(e[2]<=.03928?e[2]/12.92:Math.pow((e[2]+.055)/1.055,2.4)),n=t.properties.get("color").toArray01(),o=t.properties.get("intensity"),s=t.properties.get("direction"),a=1-e.bT(s.x,s.y,s.z)[2]/90,l=r(n)*o*a,c=i.properties.get("color").toArray01(),h=i.properties.get("intensity");return(l+r(c)*h)/2}getBrightness(){return this._brightness}getLights(){if(!this.enable3dLights())return null;const e=[];return this.directionalLight&&e.push(this.directionalLight.get()),this.ambientLight&&e.push(this.ambientLight.get()),e}enable3dLights(){return!!this.ambientLight&&!!this.directionalLight}getFragmentStyle(t){if(!t)return this;if(e.c9(t)){const i=e.ca(t),r=this.fragments.find((e=>{let{id:t}=e;return t===i}));if(!r)throw new Error(`Style import not found: ${t}`);const n=e.c8(t);return r.style.getFragmentStyle(n)}{const e=this.fragments.find((e=>{let{id:i}=e;return i===t}));if(!e)throw new Error(`Style import not found: ${t}`);return e.style}}getConfigProperty(t,i){const r=this.getFragmentStyle(t);if(!r)return null;const n=e.aj(i,r.scope),o=r.options.get(n),s=o?o.value||o.default:null;return s?s.serialize():null}setConfigProperty(t,i,r){const n=this.getFragmentStyle(t);if(!n)return;const o=n.stylesheet.schema;if(!o||!o[i])return;const s=e.t(r);if("success"!==s.result)return void Er(this,s.value);const a=s.value.expression,l=e.aj(i,n.scope),c=n.options.get(l);if(!c)return;let h;const{minValue:u,maxValue:d,stepValue:p,type:f,values:m}=o[i],_=e.t(o[i].default);"success"===_.result&&(h=_.value.expression),h?(this.options.set(l,{...c,value:a,default:h,minValue:u,maxValue:d,stepValue:p,type:f,values:m}),this.updateConfigDependencies()):this.fire(new e.a(new Error(`No schema defined for the config option "${i}" in the "${t}" fragment.`)))}getConfig(t){const i=this.getFragmentStyle(t);if(!i)return null;const r=i.stylesheet.schema;if(!r)return null;const n={};for(const o in r){const t=e.aj(o,i.scope),r=i.options.get(t),s=r?r.value||r.default:null;n[o]=s?s.serialize():null}return n}setConfig(e,t){const i=this.getFragmentStyle(e);i&&(i.updateConfig(t,i.stylesheet.schema),this.updateConfigDependencies())}getSchema(e){const t=this.getFragmentStyle(e);return t?t.stylesheet.schema:null}setSchema(e,t){const i=this.getFragmentStyle(e);i&&(i.stylesheet.schema=t,i.updateConfig(i._config,t),this.updateConfigDependencies())}updateConfig(t,i){if(this._config=t,t||i)if(i)for(const r in i){let n,o;const s=e.t(i[r].default);if("success"===s.result&&(n=s.value.expression),t&&void 0!==t[r]){const i=e.t(t[r]);"success"===i.result&&(o=i.value.expression)}const{minValue:a,maxValue:l,stepValue:c,type:h,values:u}=i[r];if(n){const t=e.aj(r,this.scope);this.options.set(t,{default:n,value:o,minValue:a,maxValue:l,stepValue:c,type:h,values:u})}else this.fire(new e.a(new Error(`No schema defined for config option "${r}".`)))}else this.fire(new e.a(new Error("Attempting to set config for a style without schema.")))}updateConfigDependencies(){for(const e of this._configDependentLayers){const t=this.getLayer(e);t&&(t.possiblyEvaluateVisibility(),this._updateLayer(t))}this.ambientLight&&this.ambientLight.updateConfig(this.options),this.directionalLight&&this.directionalLight.updateConfig(this.options),this.fog&&this.fog.updateConfig(this.options),this._changes.setDirty()}addLayer(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const n=t.id;if(this._layers[n])return void this.fire(new e.a(new Error(`Layer with id "${n}" already exists on this map`)));let o;if("custom"===t.type){if(Er(this,e.cb(t)))return;o=e.c7(t,this.scope,this.options)}else{if("object"==typeof t.source&&(this.addSource(n,t.source),t=e.c6(t),t=e.e(t,{source:n})),this._validate(ee,`layers.${n}`,t,{arrayIndex:-1},r))return;o=e.c7(t,this.scope,this.options),this._validateLayer(o),o.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[o.id]=o.serialize()}o.isConfigDependent&&this._configDependentLayers.add(o.fqid);let s=this._order.length;if(i){const t=this._order.indexOf(i);if(-1===t)return void this.fire(new e.a(new Error(`Layer with id "${i}" does not exist on this map.`)));o.slot===this._layers[i].slot?s=t:e.w(`Layer with id "${i}" has a different slot. Layers can only be rearranged within the same slot.`)}this._order.splice(s,0,n),this._layerOrderChanged=!0,this._layers[n]=o;const a=this.getOwnLayerSourceCache(o),l=!!this.directionalLight&&this.directionalLight.shadowsEnabled();a&&o.canCastShadows()&&l&&(a.castsShadows=!0);const c=this._changes.getRemovedLayer(o);if(c&&o.source&&a&&"custom"!==o.type){this._changes.discardLayerRemoval(o);const t=e.aj(o.source,o.scope);c.type!==o.type?this._changes.updateSourceCache(t,"clear"):(this._changes.updateSourceCache(t,"reload"),a.pause())}this._updateLayer(o),o.onAdd&&o.onAdd(this.map),o.scope=this.scope,this.mergeLayers()}moveLayer(t,i){this._checkLoaded();const r=this._checkLayer(t);if(!r)return;if(t===i)return;const n=this._order.indexOf(t);this._order.splice(n,1);let o=this._order.length;if(i){const t=this._order.indexOf(i);if(-1===t)return void this.fire(new e.a(new Error(`Layer with id "${i}" does not exist on this map.`)));r.slot===this._layers[i].slot?o=t:e.w(`Layer with id "${i}" has a different slot. Layers can only be rearranged within the same slot.`)}this._order.splice(o,0,t),this._changes.setDirty(),this._layerOrderChanged=!0,this.mergeLayers()}removeLayer(e){this._checkLoaded();const t=this._checkLayer(e);if(!t)return;t.setEventedParent(null);const i=this._order.indexOf(e);this._order.splice(i,1),delete this._layers[e],delete this._serializedLayers[e],this._changes.setDirty(),this._layerOrderChanged=!0,this._configDependentLayers.delete(t.fqid),this._changes.removeLayer(t);const r=this.getOwnLayerSourceCache(t);if(r&&r.castsShadows){let e=!1;for(const i in this._layers)if(this._layers[i].source===t.source&&this._layers[i].canCastShadows()){e=!0;break}r.castsShadows=e}t.onRemove&&t.onRemove(this.map),this.mergeLayers()}getOwnLayer(e){return this._layers[e]}hasLayer(e){return e in this._mergedLayers}hasLayerType(e){for(const t in this._layers)if(this._layers[t].type===e)return!0;return!1}setLayerZoomRange(e,t,i){this._checkLoaded();const r=this._checkLayer(e);r&&(r.minzoom===t&&r.maxzoom===i||(null!=t&&(r.minzoom=t),null!=i&&(r.maxzoom=i),this._updateLayer(r)))}setSlot(e,t){this._checkLoaded();const i=this._checkLayer(e);i&&i.slot!==t&&(i.slot=t,this._updateLayer(i))}setFilter(i,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const o=this._checkLayer(i);if(o&&!t(o.filter,r))return null==r?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(te,`layers.${o.id}.filter`,r,{layerType:o.type},n)||(o.filter=e.c6(r),this._updateLayer(o)))}getFilter(t){const i=this._checkLayer(t);if(i)return e.c6(i.filter)}setLayoutProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this._checkLayer(i);if(s&&!t(s.getLayoutProperty(r),n)){if(null!=n&&(!o||!1!==o.validate)&&Er(s,re.call(Q,{key:`layers.${i}.layout.${r}`,layerType:s.type,objectKey:r,value:n,styleSpec:e.G,style:{glyphs:!0,sprite:!0}})))return;s.setLayoutProperty(r,n),s.isConfigDependent&&this._configDependentLayers.add(s.fqid),this._updateLayer(s)}}getLayoutProperty(e,t){const i=this._checkLayer(e);if(i)return i.getLayoutProperty(t)}setPaintProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this._checkLayer(i);if(!s)return;if(t(s.getPaintProperty(r),n))return;if(null!=n&&(!o||!1!==o.validate)&&Er(s,ie.call(Q,{key:`layers.${i}.paint.${r}`,layerType:s.type,objectKey:r,value:n,styleSpec:e.G})))return;const a=s.setPaintProperty(r,n);s.isConfigDependent&&this._configDependentLayers.add(s.fqid),a&&this._updateLayer(s),this._changes.updatePaintProperties(s)}getPaintProperty(e,t){const i=this._checkLayer(e);if(i)return i.getPaintProperty(t)}setFeatureState(t,i){this._checkLoaded();const r=t.source,n=t.sourceLayer,o=this._checkSource(r);if(!o)return;const s=o.type;if("geojson"===s&&n)return void this.fire(new e.a(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!n)return void this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===t.id&&this.fire(new e.a(new Error("The feature id parameter must be provided.")));const a=this.getOwnSourceCaches(r);for(const e of a)e.setFeatureState(n,t.id,i)}removeFeatureState(t,i){this._checkLoaded();const r=t.source,n=this._checkSource(r);if(!n)return;const o=n.type,s="vector"===o?t.sourceLayer:void 0;if("vector"===o&&!s)return void this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof t.id&&"number"!=typeof t.id)return void this.fire(new e.a(new Error("A feature id is required to remove its specific state property.")));const a=this.getOwnSourceCaches(r);for(const e of a)e.removeFeatureState(s,t.id,i)}getFeatureState(t){this._checkLoaded();const i=t.source,r=t.sourceLayer,n=this._checkSource(i);if(n){if("vector"!==n.type||r)return void 0===t.id&&this.fire(new e.a(new Error("The feature id parameter must be provided."))),this.getOwnSourceCaches(i)[0].getFeatureState(r,t.id);this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")))}}setTransition(t){return this.stylesheet.transition=e.e({},this.stylesheet.transition,t),this.transition=this.stylesheet.transition,this}getTransition(){return e.e({},this.stylesheet.transition)}serialize(){this._checkLoaded();const t=this.getTerrain(),i=t&&this.terrain&&this.terrain.scope===this.scope?t:this.stylesheet.terrain;return e.cc({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,fragment:this.stylesheet.fragment,imports:this._serializeImports(),schema:this.stylesheet.schema,camera:this.stylesheet.camera,light:this.stylesheet.light,lights:this.stylesheet.lights,terrain:i,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:this._serializeSources(),layers:this._serializeLayers(this._order)},(e=>void 0!==e))}_updateLayer(t){this._changes.updateLayer(t);const i=this.getLayerSourceCache(t),r=e.aj(t.source,t.scope),n=this._changes.getUpdatedSourceCaches();t.source&&!n[r]&&i&&"raster"!==i.getSource().type&&(this._changes.updateSourceCache(r,"reload"),i.pause()),t.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(e){const t=e=>"fill-extrusion"===this._mergedLayers[e].type||"model"===this._mergedLayers[e].type,i=this.order,r={},n=[];for(let s=i.length-1;s>=0;s--){const o=i[s];if(t(o)){r[o]=s;for(const t of e){const e=t[o];if(e)for(const t of e)n.push(t)}}}n.sort(((e,t)=>t.intersectionZ-e.intersectionZ));const o=[];for(let s=i.length-1;s>=0;s--){const a=i[s];if(t(a))for(let e=n.length-1;e>=0;e--){const t=n[e].feature;if(r[t.layer.id]{const t=this.getLayer(e);return t&&t.is3D()})):this.has3DLayers(),l=Te.createFromScreenPoints(t,r);for(const e in this._mergedSourceCaches){const t=this._mergedSourceCaches[e].getSource();if(!t||t.scope!==i.scope)continue;const c=this._mergedSourceCaches[e].getSource().id;i.layers&&!n[c]||o.push(Gt(this._mergedSourceCaches[e],this._mergedLayers,s,l,i,r,a,!!this.map._showQueryGeometry))}return this.placement&&o.push(function(e,t,i,r,n,o,s){const a={},l=o.queryRenderedSymbols(r),c=[];for(const h of Object.keys(l).map(Number))c.push(s[h]);c.sort(Zt);for(const h of c){const i=h.featureIndex.lookupSymbolFeatures(l[h.bucketInstanceId],t,h.bucketIndex,h.sourceLayerIndex,n.filter,n.layers,n.availableImages,e);for(const e in i){const t=a[e]=a[e]||[],r=i[e];r.sort(((e,t)=>{const i=h.featureSortOrder;if(i){const r=i.indexOf(e.featureIndex);return i.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(const e of r)t.push(e)}}for(const h in a)a[h].forEach((t=>{const r=t.feature,n=i(e[h]);if(!n)return;const o=n.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=o}));return a}(this._mergedLayers,s,this.getLayerSourceCache.bind(this),l.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,t){t&&t.filter&&this._validate(te,"querySourceFeatures.filter",t.filter,null,t);const i=this.getOwnSourceCaches(e);let r=[];for(const n of i)r=r.concat(qt(n,t));return r}addSourceType(e,t,i){return Cr.getSourceType(e)?i(new Error(`A source type called "${e}" already exists.`)):(Cr.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:e,url:t.workerSourceURL},i):i(null,null))}getFlatLight(){return this.light.getLight()}setFlatLight(e,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const n=this.light.getLight();let o=!1;for(const a in e)if(!t(e[a],n[a])){o=!0;break}if(!o)return;const s=this._getTransitionParameters();this.light.setLight(e,i,r),this.light.updateTransitions(s)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0)}setTerrain(i){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this._checkLoaded(),!i)return this.terrainSetForDrapingOnly()&&0!==r||delete this.terrain,null===i?this.stylesheet.terrain=null:delete this.stylesheet.terrain,this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let n=i;const o=null==i.source;if(1===r){if("object"==typeof n.source){const t="terrain-dem-src";this.addSource(t,n.source),n=e.c6(n),n=e.e(n,{source:t})}const t=e.e({},n),i={};if(this.terrain&&o){t.source=this.terrain.get().source;const e=this.terrain?this.getFragmentStyle(this.terrain.scope):null;e&&(i.style=e.serialize())}if(this._validate(K,"terrain",t,i))return}if(!this.terrain||this.terrain.scope!==this.scope&&!o||this.terrain&&r!==this.terrain.drapeRenderMode){if(!n)return;this._createTerrain(n,r),this.fire(new e.b("data",{dataType:"style"}))}else{const r=this.terrain,o=r.get();for(const t of Object.keys(e.G.terrain))!n.hasOwnProperty(t)&&e.G.terrain[t].default&&(n[t]=e.G.terrain[t].default);for(const n in i)if(!t(i[n],o[n])){r.set(i,this.options),this.stylesheet.terrain=i;const t=this._getTransitionParameters({duration:0});r.updateTransitions(t),this.fire(new e.b("data",{dataType:"style"}));break}}this.mergeTerrain(),this.updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(e){const t=this.fog=new xe(e,this.map.transform,this.scope,this.options);this.stylesheet.fog=t.get();const i=this._getTransitionParameters({duration:0});t.updateTransitions(i)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const e of this.map._markers)e._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(e){if(this._checkLoaded(),!e)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog;if(!t(i.get(),e)){i.set(e,this.options),this.stylesheet.fog=i.get();const t=this._getTransitionParameters({duration:0});i.updateTransitions(t)}}else this._createFog(e);this._markersNeedUpdate=!0}_getTransitionParameters(t){return{now:e.f.now(),transition:e.e(this.transition,t)}}updateDrapeFirstLayers(){if(!this.terrain)return;const e=[],t=[];for(const i in this._mergedLayers)this.isLayerDraped(this._mergedLayers[i])?e.push(i):t.push(i);this._drapedFirstOrder=[],this._drapedFirstOrder.push(...e),this._drapedFirstOrder.push(...t)}_createTerrain(e,t){const i=this.terrain=new he(e,t,this.scope,this.options);1===t&&(this.stylesheet.terrain=e),this.mergeTerrain(),this.updateDrapeFirstLayers(),this._force3DLayerUpdate();const r=this._getTransitionParameters({duration:0});i.updateTransitions(r)}_force3DLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"fill-extrusion"===t.type&&this._updateLayer(t)}}_forceSymbolLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"symbol"===t.type&&this._updateLayer(t)}}_validate(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(o&&!1===o.validate)return!1;const s=e.e({},this.serialize());return Er(this,t.call(Q,e.e({key:i,style:s,value:r,styleSpec:e.G},n)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.cd.off("pluginStateChange",this._rtlTextPluginCallback);for(const e in this._mergedLayers)this._mergedLayers[e].setEventedParent(null);for(const e in this._mergedSourceCaches)this._mergedSourceCaches[e].clearTiles(),this._mergedSourceCaches[e].setEventedParent(null);this.setEventedParent(null),delete this.fog,delete this.terrain,delete this.ambientLight,delete this.directionalLight,this.isRootStyle()&&(this.imageManager.setEventedParent(null),this.modelManager.setEventedParent(null),this.dispatcher.remove())}clearSource(e){const t=this.getSourceCaches(e);for(const i of t)i.clearTiles()}clearSources(){for(const e in this._mergedSourceCaches)this._mergedSourceCaches[e].clearTiles()}reloadSource(e){const t=this.getSourceCaches(e);for(const i of t)i.resume(),i.reload()}reloadSources(){for(const e of this.getSources())e.reload&&e.reload()}updateSources(e){let t;this.directionalLight&&(t=br(this.directionalLight));for(const i in this._mergedSourceCaches)this._mergedSourceCaches[i].update(e,void 0,void 0,t)}_generateCollisionBoxes(){for(const e in this._sourceCaches){const t=this._sourceCaches[e];t.resume(),t.reload()}}_updatePlacement(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=!1,a=!1;const l={},c={};for(const h of this._mergedOrder){const i=this._mergedLayers[h];if("symbol"!==i.type)continue;const r=e.aj(i.source,i.scope);let n=l[r];if(!n){const e=this.getLayerSourceCache(i);if(!e)continue;const t=e.getRenderableIds(!0).map((t=>e.getTileByID(t)));c[r]=t.slice(),n=l[r]=t.sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}const o=this.crossTileSymbolIndex.addLayer(i,n,t.center.lng,t.projection);s=s||o}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._mergedOrder),o=o||this._layerOrderChanged||0===r,this._layerOrderChanged&&this.fire(new e.b("neworder")),(o||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.f.now(),t.zoom))&&(this.pauseablePlacement=new Ji(t,this._mergedOrder,o,i,r,n,this.placement,this.fog&&t.projection.supportsFog?this.fog.state:null,this._buildingIndex),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._mergedOrder,this._mergedLayers,l,c),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.f.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s){this._buildingIndex.onNewFrame(t.zoom);for(const t of this._mergedOrder){const i=this._mergedLayers[t];"symbol"===i.type&&this.placement.updateLayerOpacities(i,l[e.aj(i.source,i.scope)])}}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.f.now())}_releaseSymbolFadeTiles(){for(const e in this._sourceCaches)this._sourceCaches[e].releaseSymbolFadeTiles()}addImport(t,i){this._checkLoaded();const r=this.stylesheet.imports=this.stylesheet.imports||[];if(-1!==r.findIndex((e=>{let{id:i}=e;return i===t.id})))return void this.fire(new e.a(new Error(`Import with id '${t.id}' already exists in the map's style.`)));if(!i)return r.push(t),this._loadImports([t],!0);const n=r.findIndex((e=>{let{id:t}=e;return t===i}));return-1===n&&this.fire(new e.a(new Error(`Import with id "${i}" does not exist on this map.`))),this.stylesheet.imports=r.slice(0,n).concat(t).concat(r.slice(n)),this._loadImports([t],!0,i)}updateImport(e,i){this._checkLoaded();const r=this.stylesheet.imports||[],n=this.getImportIndex(e);return-1===n?this:"string"==typeof i?(this.setImportUrl(e,i),this):(i.url&&i.url!==r[n].url&&this.setImportUrl(e,i.url),t(i.config,r[n].config)||this.setImportConfig(e,i.config),t(i.data,r[n].data)||this.setImportData(e,i.data),this)}moveImport(e,t){this._checkLoaded();let i=this.stylesheet.imports||[];const r=this.getImportIndex(e);if(-1===r)return this;const n=this.getImportIndex(t);if(-1===n)return this;const o=i[r],s=this.fragments[r];return i=i.filter((t=>{let{id:i}=t;return i!==e})),this.fragments=this.fragments.filter((t=>{let{id:i}=t;return i!==e})),this.stylesheet.imports=i.slice(0,n).concat(o).concat(i.slice(n)),this.fragments=this.fragments.slice(0,n).concat(s).concat(this.fragments.slice(n)),this.mergeLayers(),this}setImportUrl(e,t){this._checkLoaded();const i=this.stylesheet.imports||[],r=this.getImportIndex(e);if(-1===r)return this;i[r].url=t;const n=this.fragments[r];return n.style=this._createFragmentStyle(i[r]),n.style.on("style.import.load",(()=>this.mergeAll())),n.style.loadURL(t),this}setImportData(e,t){this._checkLoaded();const i=this.getImportIndex(e),r=this.stylesheet.imports||[];return-1===i?this:t?(this.fragments[i].style.setState(t),this._reloadImports(),this):(delete r[i].data,this.setImportUrl(e,r[i].url))}setImportConfig(e,t){this._checkLoaded();const i=this.getImportIndex(e),r=this.stylesheet.imports||[];if(-1===i)return this;t?r[i].config=t:delete r[i].config;const n=this.fragments[i],o=n.style.stylesheet&&n.style.stylesheet.schema;return n.config=t,n.style.updateConfig(t,o),this.updateConfigDependencies(),this}removeImport(e){this._checkLoaded();const t=this.stylesheet.imports||[],i=this.getImportIndex(e);-1!==i&&(t.splice(i,1),this.fragments[i].style._remove(),this.fragments.splice(i,1),this._reloadImports())}getImportIndex(t){const i=(this.stylesheet.imports||[]).findIndex((e=>e.id===t));return-1===i&&this.fire(new e.a(new Error(`Import '${t}' does not exist in the map's style and cannot be updated.`))),i}getLayer(e){return this._mergedLayers[e]}getSources(){const e=[];for(const t in this._mergedOtherSourceCaches){const i=this._mergedOtherSourceCaches[t];i&&e.push(i.getSource())}return e}getSource(e,t){const i=this.getSourceCache(e,t);return i&&i.getSource()}getLayerSource(e){const t=this.getLayerSourceCache(e);return t&&t.getSource()}getSourceCache(t,i){const r=e.aj(t,i);return this._mergedOtherSourceCaches[r]}getLayerSourceCache(t){const i=e.aj(t.source,t.scope);return"symbol"===t.type?this._mergedSymbolSourceCaches[i]:this._mergedOtherSourceCaches[i]}getSourceCaches(e){if(null==e)return Object.values(this._mergedSourceCaches);const t=[];return this._mergedOtherSourceCaches[e]&&t.push(this._mergedOtherSourceCaches[e]),this._mergedSymbolSourceCaches[e]&&t.push(this._mergedSymbolSourceCaches[e]),t}updateSourceCaches(){const e=this._changes.getUpdatedSourceCaches();for(const t in e){const i=e[t];"reload"===i?this.reloadSource(t):"clear"===i&&this.clearSource(t)}}updateLayers(e){const t=this._changes.getUpdatedPaintProperties();for(const i of t){const t=this.getLayer(i);t&&t.updateTransitions(e)}}getImages(e,t,i){this.imageManager.getImages(t.icons,t.scope,i),this._updateTilesForChangedImages();const r=e=>{e&&e.setDependencies(t.tileID.key,t.type,t.icons)};r(this._otherSourceCaches[t.source]),r(this._symbolSourceCaches[t.source])}getGlyphs(e,t,i){this.glyphManager.getGlyphs(t.stacks,t.scope,i)}getResource(t,i,r){return e.ce(i,r)}getOwnSourceCache(e){return this._otherSourceCaches[e]}getOwnLayerSourceCache(e){return"symbol"===e.type?this._symbolSourceCaches[e.source]:this._otherSourceCaches[e.source]}getOwnSourceCaches(e){const t=[];return this._otherSourceCaches[e]&&t.push(this._otherSourceCaches[e]),this._symbolSourceCaches[e]&&t.push(this._symbolSourceCaches[e]),t}_isSourceCacheLoaded(t){const i=this.getOwnSourceCaches(t);return 0===i.length?(this.fire(new e.a(new Error(`There is no source with ID '${t}'`))),!1):i.every((e=>e.loaded()))}has3DLayers(){return this._has3DLayers}hasSymbolLayers(){return this._hasSymbolLayers}hasCircleLayers(){return this._hasCircleLayers}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches")}destroy(){this._clearWorkerCaches(),this.fragments.forEach((e=>{e.style._remove()})),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Cr.getSourceType=function(e){return Vt[e]},Cr.setSourceType=function(e,t){Vt[e]=t},Cr.registerForPluginStateChange=e.bY;var Pr="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#ifdef RENDER_CUTOFF\nfloat cutoff_opacity(vec4 cutoff_params,float depth) {float near=cutoff_params.x;float far=cutoff_params.y;float cutoffStart=cutoff_params.z;float cutoffEnd=cutoff_params.w;float linearDepth=(depth-near)/(far-near);return clamp((linearDepth-cutoffStart)/(cutoffEnd-cutoffStart),0.0,1.0);}\n#endif",zr="\nout vec4 glFragColor;highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}\n#ifdef INDICATOR_CUTOUT\nuniform vec2 u_indicator_cutout_centers;uniform vec4 u_indicator_cutout_params;\n#endif\nvec4 applyCutout(vec4 color) {\n#ifdef INDICATOR_CUTOUT\nfloat holeMinOpacity=u_indicator_cutout_params.x;float holeRadius=max(u_indicator_cutout_params.y,0.0);float holeAspectRatio=u_indicator_cutout_params.z;float fadeStart=u_indicator_cutout_params.w;float distA=distance(vec2(gl_FragCoord.x,gl_FragCoord.y*holeAspectRatio),vec2(u_indicator_cutout_centers[0],u_indicator_cutout_centers[1]*holeAspectRatio));return color*min(smoothstep(fadeStart,holeRadius,distA)+holeMinOpacity,1.0);\n#else\nreturn color;\n#endif\n}\n#ifdef DEBUG_WIREFRAME\n#define HANDLE_WIREFRAME_DEBUG \\\nglFragColor=vec4(0.7,0.0,0.0,0.7); \\\ngl_FragDepth=gl_FragCoord.z-0.0001;\n#else\n#define HANDLE_WIREFRAME_DEBUG\n#endif\n#ifdef RENDER_CUTOFF\nuniform highp vec4 u_cutoff_params;in float v_cutoff_opacity;\n#endif\nvec4 textureLodCustom(sampler2D image,vec2 pos,vec2 lod_coord) {vec2 size=vec2(textureSize(image,0));vec2 dx=dFdx(lod_coord.xy*size);vec2 dy=dFdy(lod_coord.xy*size);float delta_max_sqr=max(dot(dx,dx),dot(dy,dy));float lod=0.5*log2(delta_max_sqr);return textureLod(image,pos,lod);}",Dr="\n#define EXTENT 8192.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(PI/4.0+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}\n#ifdef RENDER_CUTOFF\nuniform vec4 u_cutoff_params;out float v_cutoff_opacity;\n#endif\nconst vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);const float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}",Rr="in highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;out highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",Lr="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\n#ifdef TERRAIN\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture(u_dem,pos).r;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=texture(u_dem,pos).r;float tr=texture(u_dem,pos+vec2(dd,0)).r;float bl=texture(u_dem,pos+vec2(0,dd)).r;float br=texture(u_dem,pos+vec2(dd,dd)).r;return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture(u_dem_prev,pos).r;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=texture(u_dem_prev,pos).r;float tr=texture(u_dem_prev,pos+vec2(dd,0)).r;float bl=texture(u_dem_prev,pos+vec2(0,dd)).r;float br=texture(u_dem_prev,pos+vec2(dd,dd)).r;return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture(u_depth,uv-df.xz)),unpack_depth(texture(u_depth,uv+df.xz)),unpack_depth(texture(u_depth,uv-df.zy)),unpack_depth(texture(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {float tl=texture(u_dem,pos).r;float tr=texture(u_dem,pos+vec2(off.x,0.0)).r;float bl=texture(u_dem,pos+vec2(0.0,off.y)).r;float br=texture(u_dem,pos+off).r;return vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",kr="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;out vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",Or="highp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}\n#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump vec2 u_fog_vertical_limit;uniform mediump float u_fog_temporal_offset;in vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos,float opacity_limit) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,min(opacity,opacity_limit));}vec3 fog_apply(vec3 color,vec3 pos) {return fog_apply(color,pos,1.0);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec4 fog_apply_premultiplied(vec4 color,vec3 pos,float heightMeters) {float verticalProgress=(u_fog_vertical_limit.x > 0.0 || u_fog_vertical_limit.y > 0.0) ? smoothstep(u_fog_vertical_limit.x,u_fog_vertical_limit.y,heightMeters) : 0.0;float opacityLimit=1.0-smoothstep(0.9,1.0,fog_opacity(pos));return mix(fog_apply_premultiplied(color,pos),color,min(verticalProgress,opacityLimit));}vec3 fog_dither(vec3 color) {\n#ifdef FOG_DITHERING\nvec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);\n#else\nreturn color;\n#endif\n}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif",Br="#ifdef RASTER_ARRAY\nuniform sampler2D u_image0;uniform sampler2D u_image1;const vec4 NODATA=vec4(1);ivec4 _raTexLinearCoord(highp vec2 texCoord,highp vec2 texResolution,out highp vec2 fxy) {texCoord=texCoord*texResolution-0.5;fxy=fract(texCoord);texCoord-=fxy;return ivec4(texCoord.xxyy+vec2(1.5,0.5).xyxy);}vec2 _raTexLinearMix(highp vec2 fxy,highp vec4 colorMix,highp float colorOffset,highp vec4 t00,highp vec4 t10,highp vec4 t01,highp vec4 t11) {vec2 c00=t00==NODATA ? vec2(0) : vec2(colorOffset+dot(t00,colorMix),1);vec2 c10=t10==NODATA ? vec2(0) : vec2(colorOffset+dot(t10,colorMix),1);vec2 c01=t01==NODATA ? vec2(0) : vec2(colorOffset+dot(t01,colorMix),1);vec2 c11=t11==NODATA ? vec2(0) : vec2(colorOffset+dot(t11,colorMix),1);return mix(mix(c01,c11,fxy.x),mix(c00,c10,fxy.x),fxy.y);}vec2 raTexture2D_image0_linear(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec2 fxy;ivec4 c=_raTexLinearCoord(texCoord,texResolution,fxy);return _raTexLinearMix(fxy,colorMix,colorOffset,texelFetch(u_image0,c.yz,0),texelFetch(u_image0,c.xz,0),texelFetch(u_image0,c.yw,0),texelFetch(u_image0,c.xw,0)\n);}vec2 raTexture2D_image1_linear(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec2 fxy;ivec4 c=_raTexLinearCoord(texCoord,texResolution,fxy);return _raTexLinearMix(fxy,colorMix,colorOffset,texelFetch(u_image1,c.yz,0),texelFetch(u_image1,c.xz,0),texelFetch(u_image1,c.yw,0),texelFetch(u_image1,c.xw,0)\n);}vec2 raTexture2D_image0_nearest(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec4 t=texelFetch(u_image0,ivec2(texCoord*texResolution),0);return t==NODATA ? vec2(0) : vec2(colorOffset+dot(t,colorMix),1);}vec2 raTexture2D_image1_nearest(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec4 t=texelFetch(u_image1,ivec2(texCoord*texResolution),0);return t==NODATA ? vec2(0) : vec2(colorOffset+dot(t,colorMix),1);}\n#endif",Fr="#ifdef RASTER_ARRAY\nuniform sampler2D u_velocity;uniform mediump vec2 u_velocity_res;uniform mediump float u_max_speed;const vec4 NO_DATA=vec4(1);const vec2 INVALID_VELOCITY=vec2(-1);uniform highp vec2 u_uv_offset;uniform highp float u_data_offset;uniform highp vec4 u_data_scale;ivec4 rasterArrayLinearCoord(highp vec2 texCoord,highp vec2 texResolution,out highp vec2 fxy) {texCoord=texCoord*texResolution-0.5;fxy=fract(texCoord);texCoord-=fxy;return ivec4(texCoord.xxyy+vec2(1.5,0.5).xyxy);}highp vec2 lookup_velocity(highp vec2 uv) {uv=u_uv_offset.x+u_uv_offset.y*uv;highp vec2 fxy;ivec4 c=rasterArrayLinearCoord(uv,u_velocity_res,fxy);highp vec4 tl=texelFetch(u_velocity,c.yz,0);highp vec4 tr=texelFetch(u_velocity,c.xz,0);highp vec4 bl=texelFetch(u_velocity,c.yw,0);highp vec4 br=texelFetch(u_velocity,c.xw,0);if (tl==NO_DATA) {return INVALID_VELOCITY;}if (tr==NO_DATA) {return INVALID_VELOCITY;}if (bl==NO_DATA) {return INVALID_VELOCITY;}if (br==NO_DATA) {return INVALID_VELOCITY;}highp vec4 t=mix(mix(bl,br,fxy.x),mix(tl,tr,fxy.x),fxy.y);highp vec2 velocity=vec2(u_data_offset+dot(t.rg,u_data_scale.yx),-(u_data_offset+dot(t.ba,u_data_scale.yx)));velocity/=max(u_max_speed,length(velocity));return velocity;}\n#endif\nuniform highp float u_particle_pos_scale;uniform highp vec2 u_particle_pos_offset;highp vec4 pack_pos_to_rgba(highp vec2 p) {highp vec2 v=(p+u_particle_pos_offset)/u_particle_pos_scale;highp vec4 r=vec4(v.x,fract(v.x*255.0),v.y,fract(v.y*255.0));return vec4(r.x-r.y/255.0,r.y,r.z-r.w/255.0,r.w);}highp vec2 unpack_pos_from_rgba(highp vec4 v) {v=floor(v*255.0+0.5)/255.0;highp vec2 p=vec2(v.x+(v.y/255.0),v.z+(v.w/255.0));return u_particle_pos_scale*p-u_particle_pos_offset;}",Nr="#ifdef RENDER_SHADOWS\nuniform mediump vec3 u_shadow_direction;uniform highp vec3 u_shadow_normal_offset;vec3 shadow_normal_offset(vec3 normal) {float tileInMeters=u_shadow_normal_offset[0];vec3 n=vec3(-normal.xy,tileInMeters*normal.z);float dotScale=min(1.0-dot(normal,u_shadow_direction),1.0)*0.5+0.5;return n*dotScale;}vec3 shadow_normal_offset_model(vec3 normal) {float dotScale=min(1.0-dot(normal,u_shadow_direction),1.0)*0.5+0.5;return normal*dotScale;}float shadow_normal_offset_multiplier0() {return u_shadow_normal_offset[1];}float shadow_normal_offset_multiplier1() {return u_shadow_normal_offset[2];}\n#endif//RENDER_SHADOWS",Vr="#ifdef RENDER_SHADOWS\n#ifdef DEPTH_TEXTURE\nuniform highp sampler2D u_shadowmap_0;uniform highp sampler2D u_shadowmap_1;\n#else\nuniform sampler2D u_shadowmap_0;uniform sampler2D u_shadowmap_1;\n#endif\nuniform float u_shadow_intensity;uniform float u_shadow_map_resolution;uniform float u_shadow_texel_size;uniform highp vec3 u_shadow_normal_offset;uniform vec2 u_fade_range;uniform mediump vec3 u_shadow_direction;uniform highp vec3 u_shadow_bias;highp float shadow_sample_1(highp vec2 uv,highp float compare) {highp float shadow_depth;\n#ifdef DEPTH_TEXTURE\nshadow_depth=texture(u_shadowmap_1,uv).r;\n#else\nshadow_depth=unpack_depth(texture(u_shadowmap_1,uv))*0.5+0.5;\n#endif\nreturn step(shadow_depth,compare);}highp float shadow_sample_0(highp vec2 uv,highp float compare) {highp float shadow_depth;\n#ifdef DEPTH_TEXTURE\nshadow_depth=texture(u_shadowmap_0,uv).r;\n#else\nshadow_depth=unpack_depth(texture(u_shadowmap_0,uv))*0.5+0.5;\n#endif\nreturn step(shadow_depth,compare);}float shadow_occlusion_1(highp vec4 pos,highp float bias) {highp vec2 uv=pos.xy;return shadow_sample_1(uv,pos.z-bias);}float shadow_occlusion_0(highp vec4 pos,highp float bias) {highp float compare0=pos.z-bias;\n#ifdef NATIVE\nhighp vec2 uv=pos.xy;highp vec4 samples=textureGather(u_shadowmap_0,uv,0);lowp vec4 stepSamples=step(samples,vec4(compare0));\n#else\nhighp vec2 uv00=pos.xy-vec2(0.5*u_shadow_texel_size);highp vec2 uv10=uv00+vec2(u_shadow_texel_size,0.0);highp vec2 uv01=uv00+vec2(0.0,u_shadow_texel_size);highp vec2 uv11=uv01+vec2(u_shadow_texel_size,0.0);lowp vec4 stepSamples=vec4(\nshadow_sample_0(uv01,compare0),shadow_sample_0(uv11,compare0),shadow_sample_0(uv10,compare0),shadow_sample_0(uv00,compare0)\n);\n#endif\nvec2 f=fract(pos.xy*u_shadow_map_resolution-vec2(0.5));lowp vec2 lerpx=mix(stepSamples.wx,stepSamples.zy,f.xx);return mix(lerpx.x,lerpx.y,f.y);}float shadow_occlusion(highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth,highp float bias) {\n#ifdef SHADOWS_SINGLE_CASCADE\nlight_view_pos0.xyz=light_view_pos0.xyz/light_view_pos0.w*0.5+0.5;return shadow_occlusion_0(light_view_pos0,bias);\n#else\nlight_view_pos0.xyz/=light_view_pos0.w;light_view_pos1.xyz/=light_view_pos1.w;vec4 uv=vec4(light_view_pos0.xy,light_view_pos1.xy);vec4 abs_bounds=abs(uv);if (abs_bounds.x < 1.0 && abs_bounds.y < 1.0) {light_view_pos0.xyz=light_view_pos0.xyz*0.5+0.5;return shadow_occlusion_0(light_view_pos0,bias);}if (abs_bounds.z >=1.0 || abs_bounds.w >=1.0) {return 0.0;}light_view_pos1.xyz=light_view_pos1.xyz*0.5+0.5;float occlusion1=shadow_occlusion_1(light_view_pos1,bias);return mix(occlusion1,0.0,smoothstep(u_fade_range.x,u_fade_range.y,view_depth));\n#endif\n}highp float calculate_shadow_bias(float NDotL) {\n#ifdef NORMAL_OFFSET\nreturn 0.5*u_shadow_bias.x;\n#else\nreturn 0.5*(u_shadow_bias.x+clamp(u_shadow_bias.y*tan(acos(NDotL)),0.0,u_shadow_bias.z));\n#endif\n}float shadowed_light_factor_normal(vec3 N,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float NDotL=dot(N,u_shadow_direction);float bias=calculate_shadow_bias(NDotL);float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return mix(0.0,(1.0-(u_shadow_intensity*occlusion))*NDotL,step(0.0,NDotL));}float shadowed_light_factor_normal_unbiased(vec3 N,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float NDotL=dot(N,u_shadow_direction);float bias=0.0;float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return mix(0.0,(1.0-(u_shadow_intensity*occlusion))*NDotL,step(0.0,NDotL));}float shadowed_light_factor(highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float bias=0.0;float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return 1.0-(u_shadow_intensity*occlusion);}float shadow_occlusion(float ndotl,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float bias=calculate_shadow_bias(ndotl);return shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);}\n#endif";const Ur=[];Wr(Pr,Ur),Wr(Dr,Ur),Wr(zr,Ur);const jr={"_prelude_fog.vertex.glsl":kr,"_prelude_terrain.vertex.glsl":Lr,"_prelude_shadow.vertex.glsl":Nr,"_prelude_fog.fragment.glsl":Or,"_prelude_shadow.fragment.glsl":Vr,"_prelude_lighting.glsl":"\n#ifdef LIGHTING_3D_MODE\nuniform mediump vec3 u_lighting_ambient_color;uniform mediump vec3 u_lighting_directional_dir;uniform mediump vec3 u_lighting_directional_color;uniform mediump vec3 u_ground_radiance;float calculate_ambient_directional_factor(vec3 normal) {float NdotL=dot(normal,u_lighting_directional_dir);const float factor_reduction_max=0.3;float dir_luminance=dot(u_lighting_directional_color,vec3(0.2126,0.7152,0.0722));float directional_factor_min=1.0-factor_reduction_max*min(dir_luminance,1.0);float ambient_directional_factor=mix(directional_factor_min,1.0,min((NdotL+1.0),1.0));const float vertical_factor_min=0.92;float vertical_factor=mix(vertical_factor_min,1.0,normal.z*0.5+0.5);return vertical_factor*ambient_directional_factor;}vec3 linearProduct(vec3 srgbIn,vec3 k) {return srgbIn*pow(k,vec3(1./2.2));}vec3 apply_lighting(vec3 color,vec3 normal,float dir_factor) {float ambient_directional_factor=calculate_ambient_directional_factor(normal);vec3 ambient_contrib=ambient_directional_factor*u_lighting_ambient_color;vec3 directional_contrib=u_lighting_directional_color*dir_factor;return linearProduct(color,ambient_contrib+directional_contrib);}vec4 apply_lighting(vec4 color,vec3 normal,float dir_factor) {return vec4(apply_lighting(color.rgb,normal,dir_factor),color.a);}vec3 apply_lighting(vec3 color,vec3 normal) {float dir_factor=max(dot(normal,u_lighting_directional_dir),0.0);return apply_lighting(color.rgb,normal,dir_factor);}vec4 apply_lighting(vec4 color,vec3 normal) {float dir_factor=max(dot(normal,u_lighting_directional_dir),0.0);return vec4(apply_lighting(color.rgb,normal,dir_factor),color.a);}vec3 apply_lighting_ground(vec3 color) {return color*u_ground_radiance;}vec4 apply_lighting_ground(vec4 color) {return vec4(apply_lighting_ground(color.rgb),color.a);}float calculate_NdotL(vec3 normal) {const float ext=0.70710678118;return (clamp(dot(normal,u_lighting_directional_dir),-ext,1.0)+ext)/(1.0+ext);}vec4 apply_lighting_with_emission_ground(vec4 color,float emissive_strength) {return mix(apply_lighting_ground(color),color,emissive_strength);}vec3 compute_flood_lighting(vec3 flood_light_color,float fully_occluded_factor,float occlusion,vec3 ground_shadow_factor) {vec3 fully_occluded_color=flood_light_color*mix(ground_shadow_factor,vec3(1.0),fully_occluded_factor);float occlusion_ramp=smoothstep(0.0,0.2,1.0-occlusion);return mix(fully_occluded_color,flood_light_color,occlusion_ramp);}vec3 compute_emissive_draped(vec3 unlit_color,float fully_occluded_factor,float occlusion,vec3 ground_shadow_factor) {vec3 fully_occluded_color=unlit_color*mix(ground_shadow_factor,vec3(1.0),fully_occluded_factor);return mix(fully_occluded_color,unlit_color,1.0-occlusion);}\n#endif//LIGHTING_3D_MODE","_prelude_raster_array.glsl":Br,"_prelude_raster_particle.glsl":Fr},Gr={};Qr("",Lr),Qr(Or,kr),Qr(Vr,Nr),Qr(Br,""),Qr(Fr,"");const qr=Qr(zr,Dr),Zr=Pr;var $r={background:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nin vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_lighting.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform mediump vec4 u_color;out vec4 v_color;uniform float u_emissive_strength;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting_with_emission_ground(u_color,u_emissive_strength);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),backgroundPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform float u_emissive_strength;uniform sampler2D u_image;in vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=textureLodCustom(u_image,pos,v_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),circle:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin vec3 v_data;in float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nuniform float u_emissive_strength;void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\nglFragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;in vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nout vec3 v_data;out float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}'),clippingMask:Qr("void main() {glFragColor=vec4(1.0);}","in vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Qr('#include "_prelude_fog.fragment.glsl"\nuniform highp float u_intensity;in vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);glFragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {glFragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;in vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nout vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),heatmapTexture:Qr("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));glFragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(0.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}","in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:Qr("in float v_placed;in float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);glFragColor =mix(red,blue,step(0.5,v_placed))*0.5;glFragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}",'#include "_prelude_terrain.vertex.glsl"\nin vec3 a_pos;in vec2 a_anchor_pos;in vec2 a_extrude;in vec2 a_placed;in vec2 a_shift;in float a_size_scale;in vec2 a_padding;in float a_z_offset;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;out float v_placed;out float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*(a_z_offset+elevation(a_anchor_pos)),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}'),collisionCircle:Qr("in float v_radius;in vec2 v_extrude;in float v_perspective_ratio;in float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);glFragColor=color*alpha*opacity_t;}","in vec2 a_pos_2f;in float a_radius;in vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;out float v_radius;out vec2 v_extrude;out float v_perspective_ratio;out float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Qr("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);glFragColor=mix(u_color,overlay_color,overlay_color.a);}",'#include "_prelude_terrain.vertex.glsl"\nin vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;\n#endif\nout vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}'),fill:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nuniform float u_emissive_strength;void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillOutline:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin highp vec2 v_pos;uniform float u_emissive_strength;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;out highp vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillOutlinePattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_emissive_strength;in highp vec2 v_pos;in highp vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out highp vec2 v_pos;out highp vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;in vec2 v_pos;uniform float u_emissive_strength;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillExtrusion:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin vec4 v_color;in vec4 v_flat;\n#ifdef RENDER_SHADOWS\nin highp vec4 v_pos_light_view_0;in highp vec4 v_pos_light_view_1;\n#endif\nuniform lowp float u_opacity;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;in vec2 v_ao;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nin vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nin highp vec3 v_normal;\n#endif\nuniform vec3 u_flood_light_color;uniform highp float u_vertical_scale;uniform float u_flood_light_intensity;uniform vec3 u_ground_shadow_factor;\n#if defined(LIGHTING_3D_MODE) && defined(FLOOD_LIGHT)\nin float v_flood_radius;in float v_has_floodlight;\n#endif\nuniform float u_emissive_strength;in float v_height;void main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nvec3 normal=normalize(v_normal);\n#endif\nfloat z;vec4 color=v_color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);\n#ifdef LIGHTING_3D_MODE\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#else\ncolor=mix(v_color,v_roof_color,z);\n#endif\n#endif\nfloat h=max(0.0,v_height);float ao_shade=1.0;\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h_floors=h/(u_ao[1]*u_vertical_scale);float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);ao_shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);ao_shade*=mix(1.0,x_shade*x_shade*x_shade,concave);\n#ifdef LIGHTING_3D_MODE\n#ifdef FLOOD_LIGHT\ncolor.rgb*=mix(ao_shade,1.0,v_has_floodlight);\n#else\ncolor.rgb*=ao_shade;\n#endif\n#else\ncolor.rgb*=ao_shade;\n#endif\n#endif\n#ifdef LIGHTING_3D_MODE\nfloat flood_radiance=0.0;\n#ifdef FLOOD_LIGHT\nflood_radiance=(1.0-min(h/v_flood_radius,1.0))*u_flood_light_intensity*v_has_floodlight;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef FLOOD_LIGHT\nfloat ndotl_unclamped=dot(normal,u_shadow_direction);float ndotl=max(0.0,ndotl_unclamped);float occlusion=ndotl_unclamped < 0.0 ? 1.0 : shadow_occlusion(ndotl,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);vec3 litColor=apply_lighting(color.rgb,normal,(1.0-u_shadow_intensity*occlusion)*ndotl);vec3 floodLitColor=compute_flood_lighting(u_flood_light_color*u_opacity,1.0-u_shadow_intensity,occlusion,u_ground_shadow_factor);color.rgb=mix(litColor,floodLitColor,flood_radiance);\n#else\nfloat shadowed_lighting_factor=shadowed_light_factor_normal(normal,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);color.rgb=apply_lighting(color.rgb,normal,shadowed_lighting_factor);\n#endif\n#else\ncolor.rgb=apply_lighting(color.rgb,normal);\n#ifdef FLOOD_LIGHT\ncolor.rgb=mix(color.rgb,u_flood_light_color*u_opacity,flood_radiance);\n#endif\n#endif\ncolor.rgb=mix(color.rgb,v_flat.rgb,u_emissive_strength);color*=u_opacity;\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos,h));\n#endif\n#ifdef INDICATOR_CUTOUT\ncolor=applyCutout(color);\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_shadow.vertex.glsl"\n#include "_prelude_lighting.glsl"\nuniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nuniform highp float u_vertical_scale;out vec4 v_color;out vec4 v_flat;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out highp vec4 v_pos_light_view_0;out highp vec4 v_pos_light_view_1;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nout vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nout highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;out vec2 v_ao;\n#endif\n#if defined(LIGHTING_3D_MODE) && defined(FLOOD_LIGHT)\nout float v_flood_radius;out float v_has_floodlight;\n#endif\nout float v_height;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define highp float flood_light_wall_radius\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize highp float flood_light_wall_radius\nbase*=u_vertical_scale;height*=u_vertical_scale;vec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nv_normal=normal;\n#endif\nbase=max(0.0,base);float attr_height=height;height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele=0.0;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat cutoff=1.0;vec3 scaled_pos=pos;\n#ifdef RENDER_CUTOFF\nvec3 centroid_random=vec3(centroid_pos.xy,centroid_pos.x+centroid_pos.y+1.0);vec3 ground_pos=centroid_pos.x==0.0 ? pos.xyz : (centroid_random/8.0);vec4 ground=u_matrix*vec4(ground_pos.xy,ele,1.0);cutoff=max(0.01,cutoff_opacity(u_cutoff_params,ground.z));if (centroid_pos.y !=0.0 && centroid_pos.x !=0.0) {vec3 g=floor(ground_pos);vec3 mod_=centroid_random-g*8.0;float seed=min(1.0,0.1*(min(3.5,max(mod_.x+mod_.y,0.2*attr_height))*0.35+mod_.z));if (cutoff < 0.8-seed) {cutoff=0.0;}}float cutoff_scale=cutoff;scaled_pos.z=mix(c_ele,h,cutoff_scale);\n#endif\nfloat hidden=float((centroid_pos.x==0.0 && centroid_pos.y==1.0) || (cutoff < 0.01 && centroid_pos.x !=0.0));gl_Position=mix(u_matrix*vec4(scaled_pos,1),AWAY,hidden);h=h-ele;v_height=h;\n#ifdef RENDER_SHADOWS\nvec3 shd_pos0=pos;vec3 shd_pos1=pos;\n#ifdef NORMAL_OFFSET\nvec3 offset=shadow_normal_offset(normal);shd_pos0+=offset*shadow_normal_offset_multiplier0();shd_pos1+=offset*shadow_normal_offset_multiplier1();\n#endif\nv_pos_light_view_0=u_light_matrix_0*vec4(shd_pos0,1);v_pos_light_view_1=u_light_matrix_1*vec4(shd_pos1,1);\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifndef LIGHTING_3D_MODE\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);if (normal.y !=0.0) {float r=0.84;r=mix(0.7,0.98,1.0-u_lightintensity);NdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#endif\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec2(mix(concave,-concave,start),y_ground);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\n#ifdef FLOOD_LIGHT\nfloat is_wall=1.0-float(t > 0.0 && top_up_ny.y > 0.0);v_has_floodlight=float(flood_light_wall_radius > 0.0 && is_wall > 0.0);v_flood_radius=flood_light_wall_radius*u_vertical_scale;\n#endif\nv_color=vec4(color.rgb,1.0);v_flat=vec4(linearProduct(color.rgb,vec3(calculate_NdotL(normal))),1.0);\n#else\nv_color=vec4(0.0,0.0,0.0,1.0);v_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_color*=u_opacity;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color=vec4(0.0,0.0,0.0,1.0);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),fillExtrusionDepth:Qr("in highp float v_depth;void main() {\n#ifndef DEPTH_TEXTURE\nglFragColor=pack_depth(v_depth);\n#endif\n}",'#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_edge_radius;uniform float u_vertical_scale;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\nout highp float v_depth;void main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\nbase*=u_vertical_scale;height*=u_vertical_scale;vec3 pos_nx=floor(a_pos_normal_ed.xyz*0.5);mediump vec3 top_up_ny=a_pos_normal_ed.xyz-2.0*pos_nx;base=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nvec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;float ele=elevation(pos_nx.xy);float c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;float h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base);pos=vec3(pos_nx.xy,h);\n#else\npos=vec3(pos_nx.xy,t > 0.0 ? height : base);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);v_depth=gl_Position.z/gl_Position.w;}'),fillExtrusionPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;in vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nin vec3 v_normal;\n#endif\nin vec2 v_pos;in vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define mediump vec4 pattern\n#pragma mapbox: define highp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize highp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,normalize(v_normal))*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef INDICATOR_CUTOUT\nout_color=applyCutout(out_color);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_lighting.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nout vec2 v_pos;out vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;out vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nout vec3 v_normal;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define mediump vec4 pattern\n#pragma mapbox: define highp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize highp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_normal=normal;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}'),groundShadow:Qr('#include "_prelude_shadow.fragment.glsl"\nprecision highp float;uniform vec3 u_ground_shadow_factor;in vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;\n#ifdef FOG\nin float v_fog_opacity;\n#endif\nvoid main() {float light=shadowed_light_factor(v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);vec3 shadow=mix(u_ground_shadow_factor,vec3(1.0),light);\n#ifdef RENDER_CUTOFF\nshadow=mix(vec3(1.0),shadow,cutoff_opacity(u_cutoff_params,1.0/gl_FragCoord.w));\n#endif\n#ifdef FOG\nshadow=mix(shadow,vec3(1.0),v_fog_opacity);\n#endif\n#ifdef INDICATOR_CUTOUT\nshadow=mix(shadow,vec3(1.0),1.0-applyCutout(vec4(1.0)).r);\n#endif\nglFragColor=vec4(shadow,1.0);}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;in vec2 a_pos;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;\n#ifdef FOG\nout float v_fog_opacity;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0.0,1.0);v_pos_light_view_0=u_light_matrix_0*vec4(a_pos,0.0,1.0);v_pos_light_view_1=u_light_matrix_1*vec4(a_pos,0.0,1.0);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);v_fog_opacity=fog(v_fog_pos);\n#endif\n}'),fillExtrusionGroundEffect:Qr("uniform highp float u_ao_pass;uniform highp float u_opacity;uniform highp float u_flood_light_intensity;uniform highp vec3 u_flood_light_color;uniform highp float u_attenuation;uniform sampler2D u_fb;uniform float u_fb_size;\n#ifdef SDF_SUBPASS\nin highp vec2 v_pos;in highp vec4 v_line_segment;in highp float v_flood_light_radius_tile;in highp vec2 v_ao;float line_df(highp vec2 a,highp vec2 b,highp vec2 p) {highp vec2 ba=b-a;highp vec2 pa=p-a;highp float r=clamp(dot(pa,ba)/dot(ba,ba),0.0,1.0);return length(pa-r*ba);}\n#ifdef FOG\nin highp float v_fog;\n#endif\n#endif\nvoid main() {\n#ifdef CLEAR_SUBPASS\nvec4 color=vec4(1.0);\n#ifdef CLEAR_FROM_TEXTURE\ncolor=texture(u_fb,gl_FragCoord.xy/vec2(u_fb_size));\n#endif\nglFragColor=color;\n#else\n#ifdef SDF_SUBPASS\nhighp float d=line_df(v_line_segment.xy,v_line_segment.zw,v_pos);highp float effect_radius=mix(v_flood_light_radius_tile,v_ao.y,u_ao_pass);d/=effect_radius;d=min(d,1.0);d=1.0-pow(1.0-d,u_attenuation);highp float effect_intensity=mix(u_flood_light_intensity,v_ao.x,u_ao_pass);highp float fog=1.0;\n#ifdef FOG\nfog=v_fog;\n#endif\n#ifdef RENDER_CUTOFF\nfog*=v_cutoff_opacity;\n#endif\nglFragColor=vec4(vec3(0.0),mix(1.0,d,effect_intensity*u_opacity*fog));\n#else\nvec4 color=mix(vec4(u_flood_light_color,1.0),vec4(vec3(0.0),1.0),u_ao_pass);\n#ifdef OVERDRAW_INSPECTOR\ncolor=vec4(1.0);\n#endif\nglFragColor=color;\n#endif\nHANDLE_WIREFRAME_DEBUG;\n#endif\n}",'#include "_prelude_fog.vertex.glsl"\nin highp vec4 a_pos_end;in highp float a_angular_offset_factor;in highp float a_hidden_by_landmark;\n#ifdef SDF_SUBPASS\nout highp vec2 v_pos;out highp vec4 v_line_segment;out highp float v_flood_light_radius_tile;out highp vec2 v_ao;\n#ifdef FOG\nout highp float v_fog;\n#endif\n#endif\nuniform highp float u_flood_light_intensity;uniform highp mat4 u_matrix;uniform highp float u_ao_pass;uniform highp float u_meter_to_tile;uniform highp float u_edge_radius;uniform highp vec2 u_ao;\n#pragma mapbox: define highp float flood_light_ground_radius\nconst float TANGENT_CUTOFF=4.0;const float NORM=32767.0;void main() {\n#pragma mapbox: initialize highp float flood_light_ground_radius\nvec2 p=a_pos_end.xy;vec2 q=floor(a_pos_end.zw*0.5);vec2 start_bottom=a_pos_end.zw-q*2.0;float fl_ground_radius=flood_light_ground_radius;fl_ground_radius=abs(flood_light_ground_radius);float direction=flood_light_ground_radius < 0.0 ?-1.0 : 1.0;float flood_radius_tile=fl_ground_radius*u_meter_to_tile;vec2 v=normalize(q-p);float ao_radius=u_ao.y/3.5;float effect_radius=mix(flood_radius_tile,ao_radius,u_ao_pass)+u_edge_radius;float angular_offset_factor=a_angular_offset_factor/NORM*TANGENT_CUTOFF;float angular_offset=direction*angular_offset_factor*effect_radius;float top=1.0-start_bottom.y;float side=(0.5-start_bottom.x)*2.0;vec2 extrusion_parallel=v*side*mix(1.0,angular_offset,top);vec2 perp=vec2(v.y,-v.x);vec2 extrusion_perp=direction*perp*effect_radius*top;vec3 pos=vec3(mix(q,p,start_bottom.x),0.0);pos.xy+=extrusion_parallel+extrusion_perp;\n#ifdef SDF_SUBPASS\nv_pos=pos.xy;v_line_segment=vec4(p,q)+perp.xyxy*u_edge_radius;v_flood_light_radius_tile=flood_radius_tile;v_ao=vec2(u_ao.x,ao_radius);\n#ifdef FOG\nv_fog_pos=fog_position(pos);v_fog=1.0-fog(v_fog_pos);\n#endif\n#endif\nfloat hidden_by_landmark=0.0;\n#ifdef HAS_CENTROID\nhidden_by_landmark=a_hidden_by_landmark;\n#endif\nfloat isFloodlit=float(fl_ground_radius > 0.0 && u_flood_light_intensity > 0.0);float hidden=mix(1.0-isFloodlit,isFloodlit,u_ao_pass);hidden+=hidden_by_landmark;gl_Position=mix(u_matrix*vec4(pos,1.0),AWAY,float(hidden > 0.0));\n#ifdef RENDER_CUTOFF\nv_cutoff_opacity=cutoff_opacity(u_cutoff_params,gl_Position.z);\n#endif\n}'),hillshadePrepare:Qr("precision highp float;uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;float getElevation(vec2 coord) {return texture(u_image,coord).r/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));glFragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);}","uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;uniform float u_emissive_strength;void main() {vec4 pixel=texture(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);glFragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\nglFragColor=apply_lighting_with_emission_ground(glFragColor,u_emissive_strength);\n#endif\n#ifdef FOG\nglFragColor=fog_dither(fog_apply_premultiplied(glFragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),line:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;in vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nfloat luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}uniform float u_emissive_strength;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float border_width\n#pragma mapbox: define lowp vec4 border_color\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float border_width\n#pragma mapbox: initialize lowp vec4 border_color\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture(u_dash_image,v_tex).r;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\nif (u_alpha_discard_threshold !=0.0) {if (alpha < u_alpha_discard_threshold) {discard;}}\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);if (border_color.a==0.0) { \nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}} else {out_color.rgb=mix(border_color.rgb*border_color.a*trimmed,out_color.rgb,smoothAlpha);}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nout_color*=(alpha*opacity);\n#ifdef INDICATOR_CUTOUT\nout_color=applyCutout(out_color);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#define EXTRUDE_SCALE 0.015873016\nin vec2 a_pos_normal;in vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nin highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nin float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;out vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float border_width\n#pragma mapbox: define lowp vec4 border_color\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float border_width\n#pragma mapbox: initialize lowp vec4 border_color\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),linePattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform mediump float u_tile_units_to_pixels;uniform highp vec2 u_trim_offset;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width;\n#ifdef RENDER_LINE_TRIM_OFFSET\nin highp vec4 v_uv;\n#endif\n#ifdef LINE_JOIN_NONE\nin vec2 v_pattern_data;\n#endif\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float pattern_x=v_linesofar/pattern_size.x*aspect;float x=mod(pattern_x,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec2 lod_pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(pattern_x,y));vec4 color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {color=vec4(0,0,0,0);}}\n#endif\n#ifdef LINE_JOIN_NONE\nfloat pattern_len=pattern_size.x/aspect;float segment_phase=pattern_len-mod((v_linesofar-v_pattern_data.x),pattern_len);float visible_start=segment_phase-step(pattern_len*0.5,segment_phase)*pattern_len;float visible_end=floor((v_pattern_data.y-segment_phase)/pattern_len)*pattern_len+segment_phase;visible_end+=step(pattern_len*0.5,v_pattern_data.y-visible_end)*pattern_len;if (v_pattern_data.x < visible_start || v_pattern_data.x >=visible_end) {color=vec4(0.0);}\n#endif\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting_ground(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ncolor*=(alpha*opacity);\n#ifdef INDICATOR_CUTOUT\ncolor=applyCutout(color);\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#define scale 0.015873016\nin vec2 a_pos_normal;in vec4 a_data;\n#ifdef RENDER_LINE_TRIM_OFFSET\nin highp vec4 a_packed;\n#endif\nin float a_linesofar;\n#ifdef LINE_JOIN_NONE\nin vec2 a_pattern_data;out vec2 v_pattern_data;\n#endif\nuniform mat4 u_matrix;uniform mediump float u_tile_units_to_pixels;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width;\n#ifdef RENDER_LINE_TRIM_OFFSET\nout highp vec4 v_uv;\n#endif\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#ifdef RENDER_LINE_TRIM_OFFSET\nfloat a_uv_x=a_packed[0];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];v_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef LINE_JOIN_NONE\nv_width+=ANTIALIASING;float offset_sign=(fract(a_pattern_data.x)-0.5)*4.0;float line_progress_offset=offset_sign*v_width*0.5/u_tile_units_to_pixels;v_linesofar+=line_progress_offset;v_pattern_data=vec2(a_pattern_data.x+line_progress_offset,a_pattern_data.y);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),raster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\n#include "_prelude_raster_array.glsl"\nuniform float u_fade_t;uniform float u_opacity;uniform highp float u_raster_elevation;uniform highp float u_zoom_transition;in vec2 v_pos0;in vec2 v_pos1;in float v_depth;\n#ifdef PROJECTION_GLOBE_VIEW\nin float v_split_fade;\n#endif\nuniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;uniform float u_emissive_strength;\n#ifndef RASTER_ARRAY\nuniform sampler2D u_image0;uniform sampler2D u_image1;\n#endif\n#ifdef RASTER_COLOR\nuniform sampler2D u_color_ramp;uniform highp vec4 u_colorization_mix;uniform highp float u_colorization_offset;uniform vec2 u_texture_res;\n#endif\nvoid main() {vec4 color0,color1,color;vec2 value;\n#ifdef RASTER_COLOR\n#ifdef RASTER_ARRAY\n#ifdef RASTER_ARRAY_LINEAR\nvalue=mix(\nraTexture2D_image0_linear(v_pos0,u_texture_res,u_colorization_mix,u_colorization_offset),raTexture2D_image1_linear(v_pos1,u_texture_res,u_colorization_mix,u_colorization_offset),u_fade_t\n);\n#else\nvalue=mix(\nraTexture2D_image0_nearest(v_pos0,u_texture_res,u_colorization_mix,u_colorization_offset),raTexture2D_image1_nearest(v_pos1,u_texture_res,u_colorization_mix,u_colorization_offset),u_fade_t\n);\n#endif\nif (value.y > 0.0) value.x/=value.y;\n#else\ncolor=mix(texture(u_image0,v_pos0),texture(u_image1,v_pos1),u_fade_t);value=vec2(u_colorization_offset+dot(color.rgb,u_colorization_mix.rgb),color.a);\n#endif\ncolor=texture(u_color_ramp,vec2(value.x,0.5));if (color.a > 0.0) color.rgb/=color.a;color.a*=value.y;\n#else\ncolor0=texture(u_image0,v_pos0);color1=texture(u_image1,v_pos1);if (color0.a > 0.0) color0.rgb/=color0.a;if (color1.a > 0.0) color1.rgb/=color1.a;color=mix(color0,color1,u_fade_t);\n#endif\ncolor.a*=u_opacity;\n#ifdef GLOBE_POLES\ncolor.a*=1.0-smoothstep(0.0,0.05,u_zoom_transition);\n#endif\nvec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(vec4(out_color,1.0),u_emissive_strength).rgb;\n#endif\n#ifdef FOG\nhighp float fog_limit_high_meters=1000000.0;highp float fog_limit_low_meters=600000.0;float fog_limit=1.0-smoothstep(fog_limit_low_meters,fog_limit_high_meters,u_raster_elevation);out_color=fog_dither(fog_apply(out_color,v_fog_pos,fog_limit));\n#endif\nglFragColor=vec4(out_color*color.a,color.a);\n#ifdef PROJECTION_GLOBE_VIEW\nglFragColor*=mix(1.0,1.0-smoothstep(0.0,0.05,u_zoom_transition),smoothstep(0.8,0.9,v_split_fade));\n#endif\n#ifdef RENDER_CUTOFF\nglFragColor=glFragColor*cutoff_opacity(u_cutoff_params,v_depth);\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform mat3 u_grid_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;uniform vec2 u_texture_offset;uniform float u_raster_elevation;uniform float u_zoom_transition;uniform vec2 u_merc_center;\n#define GLOBE_UPSCALE GLOBE_RADIUS/6371008.8\n#ifdef GLOBE_POLES\nin vec3 a_globe_pos;in vec2 a_uv;\n#else\nin vec2 a_pos;in vec2 a_texture_pos;\n#endif\nout vec2 v_pos0;out vec2 v_pos1;out float v_depth;\n#ifdef PROJECTION_GLOBE_VIEW\nout float v_split_fade;\n#endif\nvoid main() {vec2 uv;\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;gl_Position=u_matrix*u_globe_matrix*vec4(globe_pos ,1.0);uv=a_uv;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(a_globe_pos,1.0)).xyz);\n#endif\n#else\nfloat w=1.0+dot(a_texture_pos,u_perspective_transform);uv=a_texture_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);vec3 globe_pos=latLngToECEF(latLng.xy);globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;vec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);float mercatorY=mercatorYfromLat(latLng[0]);float mercatorX=mercatorXfromLng(latLng[1]); \nv_split_fade=0.0;if (u_zoom_transition > 0.0) {vec2 merc_pos=vec2(mercatorX,mercatorY);merc_world_pos=vec4(merc_pos,u_raster_elevation,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;float opposite_merc_center=mod(u_merc_center.x+0.5,1.0);float dist_from_poles=(abs(mercatorY-0.5)*2.0);float range=0.1;v_split_fade=abs(opposite_merc_center-mercatorX);v_split_fade=clamp(1.0-v_split_fade,0.0,1.0);v_split_fade=max(smoothstep(1.0-range,1.0,dist_from_poles),max(smoothstep(1.0-range,1.0,v_split_fade),smoothstep(1.0-range,1.0,1.0-v_split_fade)));}float tiles=u_grid_matrix[0][2];if (tiles > 0.0) {float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];float uvY=mercatorY*tiles-idy;float uvX=mercatorX*tiles-idx;uv=vec2(uvX,uvY);}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition)*w,w);gl_Position=u_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n#else\ngl_Position=u_matrix*vec4(a_pos*w,u_raster_elevation*w,w);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n#endif\n#endif\nv_pos0=uv;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;v_pos0=u_texture_offset.x+u_texture_offset.y*v_pos0;v_pos1=u_texture_offset.x+u_texture_offset.y*v_pos1;\n#ifdef RENDER_CUTOFF\nv_depth=gl_Position.z;\n#endif\n}'),rasterParticle:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform float u_fade_t;uniform float u_opacity;uniform highp float u_raster_elevation;in vec2 v_pos0;in vec2 v_pos1;uniform sampler2D u_image0;uniform sampler2D u_image1;void main() {vec4 color0,color1,color;color0=texture(u_image0,v_pos0);color1=texture(u_image1,v_pos1);if (color0.a > 0.0) color0.rgb/=color0.a;if (color1.a > 0.0) color1.rgb/=color1.a;color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 out_color=color.rgb;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(vec4(out_color,1.0),0.0).rgb;\n#endif\n#ifdef FOG\nhighp float fog_limit_high_meters=1000000.0;highp float fog_limit_low_meters=600000.0;float fog_limit=1.0-smoothstep(fog_limit_low_meters,fog_limit_high_meters,u_raster_elevation);out_color=fog_dither(fog_apply(out_color,v_fog_pos,fog_limit));\n#endif\nglFragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform mat3 u_grid_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_raster_elevation;uniform float u_zoom_transition;uniform vec2 u_merc_center;\n#define GLOBE_UPSCALE GLOBE_RADIUS/6371008.8\nin vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {float w=1.0;vec2 uv;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float mercatorX=mercatorXfromLng(latLng[1]);float tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];float uvX=mercatorX*tiles-idx;float uvY=mercatorY*tiles-idy;uv=vec2(uvX,uvY);vec3 globe_pos=latLngToECEF(latLng.xy);globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;vec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {vec2 merc_pos=vec2(mercatorX,mercatorY);merc_world_pos=vec4(merc_pos,u_raster_elevation,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition)*w,w);gl_Position=u_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n#else\nuv=a_texture_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*w,u_raster_elevation*w,w);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n#endif\nv_pos0=uv;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}'),rasterParticleDraw:Qr("uniform sampler2D u_color_ramp;in float v_particle_speed;void main() {glFragColor=texture(u_color_ramp,vec2(v_particle_speed,0.5));}",'#include "_prelude_raster_particle.glsl"\nin float a_index;uniform sampler2D u_particle_texture;uniform float u_particle_texture_side_len;uniform vec2 u_tile_offset;out float v_particle_speed;void main() {ivec2 pixel_coord=ivec2(\nmod(a_index,u_particle_texture_side_len),a_index/u_particle_texture_side_len);vec4 pixel=texelFetch(u_particle_texture,pixel_coord,0);vec2 pos=unpack_pos_from_rgba(pixel)+u_tile_offset;vec2 tex_coord=fract(pos);vec2 velocity=lookup_velocity(tex_coord);if (velocity==INVALID_VELOCITY) {gl_Position=AWAY;v_particle_speed=0.0;} else {gl_Position=vec4(2.0*pos-vec2(1.0),0.0,1.0);v_particle_speed=length(velocity);}gl_PointSize=1.0;}'),rasterParticleTexture:Qr("uniform sampler2D u_texture;uniform float u_opacity;in vec2 v_tex_pos;void main() {vec4 color=texture(u_texture,v_tex_pos);glFragColor=vec4(floor(255.0*color*u_opacity)/255.0);}","in vec2 a_pos;out vec2 v_tex_pos;void main() {vec2 uv=0.5*a_pos+vec2(0.5);v_tex_pos=uv;gl_Position=vec4(a_pos,0.0,1.0);}"),rasterParticleUpdate:Qr('#include "_prelude_raster_particle.glsl"\nuniform sampler2D u_particle_texture;uniform mediump float u_particle_texture_side_len;uniform mediump float u_speed_factor;uniform highp float u_reset_rate;uniform highp float u_rand_seed;in highp vec2 v_tex_coord;const highp vec3 rand_constants=vec3(12.9898,78.233,4375.85453);highp float rand(const highp vec2 co) {highp float t=dot(rand_constants.xy,co);return fract(sin(t)*(rand_constants.z+t));}void main() {ivec2 pixel_coord=ivec2(v_tex_coord*u_particle_texture_side_len);highp vec4 pixel=texelFetch(u_particle_texture,pixel_coord,0);highp vec2 pos=unpack_pos_from_rgba(pixel);highp vec2 velocity=lookup_velocity(clamp(pos,0.0,1.0));highp vec2 dp=velocity==INVALID_VELOCITY ? vec2(0) : velocity*u_speed_factor;pos=pos+dp;highp vec2 seed=(pos+v_tex_coord)*u_rand_seed;highp vec2 random_pos=vec2(rand(seed+1.3),rand(seed+2.1));highp float speed=velocity==INVALID_VELOCITY ? 0.0 : length(velocity);highp float reset_rate_bump=speed*u_reset_rate;highp vec2 particle_pos_min=-u_particle_pos_offset;highp vec2 particle_pos_max=vec2(1.0)+u_particle_pos_offset;highp vec2 pos_drop_rate=vec2(1.0)-step(particle_pos_min,pos)+step(particle_pos_max,pos);highp float drop_rate=max(u_reset_rate+reset_rate_bump,length(pos_drop_rate));highp float drop=step(1.0-drop_rate,rand(seed));highp vec2 next_pos=mix(pos,random_pos,drop);glFragColor=pack_pos_to_rgba(next_pos);}',"in vec2 a_pos;out vec2 v_tex_coord;void main() {v_tex_coord=0.5*(a_pos+vec2(1.0));gl_Position=vec4(a_pos,0.0,1.0);}"),symbolIcon:Qr('#include "_prelude_lighting.glsl"\nuniform sampler2D u_texture;\n#ifdef ICON_TRANSITION\nuniform float u_icon_transition;\n#endif\nin float v_fade_opacity;in vec2 v_tex_a;\n#ifdef ICON_TRANSITION\nin vec2 v_tex_b;\n#endif\n#ifdef COLOR_ADJUSTMENT\nuniform mat4 u_color_adj_mat;\n#endif\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float emissive_strength\nlowp float alpha=opacity*v_fade_opacity;vec4 out_color;\n#ifdef ICON_TRANSITION\nvec4 a=texture(u_texture,v_tex_a)*(1.0-u_icon_transition);vec4 b=texture(u_texture,v_tex_b)*u_icon_transition;out_color=(a+b);\n#else\nout_color=texture(u_texture,v_tex_a);\n#endif\n#ifdef COLOR_ADJUSTMENT\nout_color=u_color_adj_mat*out_color;\n#endif\nout_color*=alpha;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_pixeloffset;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\n#ifdef ICON_TRANSITION\nin vec2 a_texb;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout vec2 v_tex_a;\n#ifdef ICON_TRANSITION\nout vec2 v_tex_b;\n#endif\nout float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float out_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nv_tex_a=a_tex/u_texsize;\n#ifdef ICON_TRANSITION\nv_tex_b=a_texb/u_texsize;\n#endif\nv_fade_opacity=out_fade_opacity;}'),symbolSDF:Qr('#include "_prelude_lighting.glsl"\n#define SDF_PX 8.0\nuniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;uniform bool u_is_halo;in float v_draw_halo;in vec2 v_data0;in vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;bool draw_halo=v_draw_halo > 0.0;if (draw_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).r;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);vec4 out_color=color*(alpha*opacity*fade_opacity);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_pixeloffset;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform bool u_is_halo;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout float v_draw_halo;out vec2 v_data0;out vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float out_fade_opacity=interpolated_fade_opacity*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nfloat gamma_scale=gl_Position.w;v_draw_halo=(u_is_halo && float(gl_InstanceID)==0.0) ? 1.0 : 0.0;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,out_fade_opacity);}'),symbolTextAndIcon:Qr('#include "_prelude_lighting.glsl"\n#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_halo;in float v_draw_halo;in vec4 v_data0;in vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;glFragColor=texture(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;bool draw_halo=v_draw_halo > 0.0;if (draw_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).r;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);vec4 out_color=color*(alpha*opacity*fade_opacity);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;uniform bool u_is_halo;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout float v_draw_halo;out vec4 v_data0;out vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nfloat out_fade_opacity=interpolated_fade_opacity*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nfloat gamma_scale=gl_Position.w;v_draw_halo=(u_is_halo && float(gl_InstanceID)==0.0) ? 1.0 : 0.0;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,out_fade_opacity,is_sdf);}'),terrainRaster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image0;in vec2 v_pos0;\n#ifdef FOG\nin float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nin vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;\n#endif\nuniform vec3 u_ground_shadow_factor;void main() {vec4 image_color=texture(u_image0,v_pos0);vec4 color;\n#ifdef LIGHTING_3D_MODE\nconst vec3 normal=vec3(0.0,0.0,1.0);\n#ifdef RENDER_SHADOWS\nfloat cutoffOpacity=1.0;\n#ifdef RENDER_CUTOFF\ncutoffOpacity=cutoff_opacity(u_cutoff_params,1.0/gl_FragCoord.w);\n#endif\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\nvec3 unlit_base=image_color.rgb*(1.0-image_color.a);vec3 emissive_base=image_color.rgb*image_color.a;float ndotl=u_shadow_direction.z;float occlusion=ndotl < 0.0 ? 1.0 : shadow_occlusion(v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w,0.0);ndotl=max(0.0,ndotl);vec3 lit=apply_lighting(unlit_base,normal,mix(1.0,(1.0-(u_shadow_intensity*occlusion))*ndotl,cutoffOpacity));vec3 emissive=compute_emissive_draped(emissive_base,1.0-u_shadow_intensity,occlusion,u_ground_shadow_factor);color.rgb=lit+emissive;color.a=1.0;\n#else\nfloat lighting_factor=shadowed_light_factor_normal_unbiased(normal,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);color=apply_lighting(image_color,normal,mix(1.0,lighting_factor,cutoffOpacity));\n#endif\n#else\nfloat lighting_factor=u_lighting_directional_dir.z;color=apply_lighting(image_color,normal,lighting_factor);\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\ncolor.rgb=mix(color.rgb,image_color.rgb,image_color.a);color.a=1.0;\n#endif\n#endif\n#else\ncolor=image_color;\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_skirt_height;in vec2 a_pos;out vec2 v_pos0;\n#ifdef FOG\nout float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;out float v_depth;\n#endif\nvoid main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;v_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);\n#endif\n}'),terrainDepth:Qr("precision highp float;in float v_depth;void main() {glFragColor=pack_depth(v_depth);}",'#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;in vec2 a_pos;out float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}'),skybox:Qr('#include "_prelude_fog.fragment.glsl"\nin lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=texture(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);glFragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}',Rr),skyboxGradient:Qr('#include "_prelude_fog.fragment.glsl"\nin highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);glFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}',Rr),skyboxCapture:Qr("\nin highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;precision highp float;\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;glFragColor=vec4(color,1.0);}","in highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;out highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image0;uniform float u_far_z_cutoff;in vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture(u_image0,v_pos0);\n#ifdef LIGHTING_3D_MODE\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\nraster=apply_lighting_with_emission_ground(raster,raster.a);color=vec4(raster.rgb*antialias,antialias);\n#else\nraster=apply_lighting_ground(raster);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#endif\n#else\ncolor=vec4(raster.rgb*antialias,raster.a*antialias);\n#endif\n#else\ncolor=texture(u_image0,v_pos0);\n#ifdef LIGHTING_3D_MODE\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\ncolor=apply_lighting_with_emission_ground(color,color.a);color.a=1.0;\n#else\ncolor=apply_lighting_ground(color);\n#endif\n#endif\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ncolor*=1.0-step(u_far_z_cutoff,1.0/gl_FragCoord.w);glFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nin vec3 a_globe_pos;in vec2 a_uv;\n#else\nin vec2 a_pos;\n#endif\nout vec2 v_pos0;void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);globe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}'),globeAtmosphere:Qr('#include "_prelude_fog.fragment.glsl"\nuniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec4 u_color;uniform vec4 u_high_color;uniform vec4 u_space_color;uniform float u_horizon_angle;in highp vec3 v_ray_dir;in highp vec3 v_horizon_dir;void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {\n#ifdef ALPHA_PASS\nglFragColor=vec4(0,0,0,0);return;\n#else\n#ifdef NATIVE\nglFragColor=vec4(1,1,1,1);\n#else\nglFragColor=vec4(0,0,0,1);\n#endif\nreturn;\n#endif\n}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(clamp(dot(dir,horizon_dir),-1.0,1.0)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;highp float closest_point_to_center=length(closest_point-u_globe_pos);highp float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;\n#ifdef ALPHA_PASS\nfloat a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);glFragColor=vec4(1.0,1.0,1.0,a);\n#else\nvec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c=c2;\n#ifndef NATIVE\nc=dither(c,gl_FragCoord.xy+u_temporal_offset);\n#endif\nglFragColor=vec4(c*t,t);\n#endif\n}',"in vec3 a_pos;in vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;out highp vec3 v_ray_dir;out highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}"),model:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform float u_opacity;uniform vec3 u_lightcolor;uniform vec3 u_lightpos;uniform float u_lightintensity;uniform vec4 u_baseColorFactor;uniform vec4 u_emissiveFactor;uniform float u_metallicFactor;uniform float u_roughnessFactor;uniform float u_emissive_strength;in highp vec4 v_position_height;in lowp vec4 v_color_mix;\n#ifdef RENDER_SHADOWS\nin vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;in float v_depth_shadows;\n#endif\n#ifdef OCCLUSION_TEXTURE_TRANSFORM\nuniform vec4 u_occlusionTextureTransform;\n#endif\n#pragma mapbox: define-attribute highp vec3 normal_3f\n#pragma mapbox: define-attribute highp vec3 color_3f\n#pragma mapbox: define-attribute highp vec4 color_4f\n#pragma mapbox: define-attribute highp vec2 uv_2f\n#pragma mapbox: initialize-attribute highp vec3 normal_3f\n#pragma mapbox: initialize-attribute highp vec3 color_3f\n#pragma mapbox: initialize-attribute highp vec4 color_4f\n#pragma mapbox: initialize-attribute highp vec2 uv_2f\n#ifdef HAS_ATTRIBUTE_a_pbr\nin lowp vec4 v_roughness_metallic_emissive_alpha;in mediump vec4 v_height_based_emission_params;\n#endif\n#ifdef HAS_TEXTURE_u_baseColorTexture\nuniform sampler2D u_baseColorTexture;uniform bool u_baseTextureIsAlpha;uniform bool u_alphaMask;uniform float u_alphaCutoff;\n#endif\n#ifdef HAS_TEXTURE_u_metallicRoughnessTexture\nuniform sampler2D u_metallicRoughnessTexture;\n#endif\n#ifdef HAS_TEXTURE_u_occlusionTexture\nuniform sampler2D u_occlusionTexture;uniform float u_aoIntensity;\n#endif\n#ifdef HAS_TEXTURE_u_normalTexture\nuniform sampler2D u_normalTexture;\n#endif\n#ifdef HAS_TEXTURE_u_emissionTexture\nuniform sampler2D u_emissionTexture;\n#endif\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nin highp float v_depth;uniform sampler2D u_depthTexture;uniform vec2 u_inv_depth_size;bool isOccluded() {vec2 coord=gl_FragCoord.xy*u_inv_depth_size;highp float depth=unpack_depth(texture(u_depthTexture,coord));return v_depth > depth+0.0005;}\n#endif\n#define saturate(_x) clamp(_x,0.,1.)\nvec3 linearTosRGB(vec3 color) {return pow(color,vec3(1./2.2));}vec3 sRGBToLinear(vec3 srgbIn) {return pow(srgbIn,vec3(2.2));}float calculate_NdotL(vec3 normal,vec3 lightDir) {const float ext=0.70710678118;return (clamp(dot(normal,lightDir),-ext,1.0)+ext)/(1.0+ext);}vec3 getDiffuseShadedColor(vec3 albedo,vec3 normal,vec3 lightDir,vec3 lightColor)\n{\n#ifdef LIGHTING_3D_MODE\nvec3 transformed_normal=vec3(-normal.xy,normal.z);float lighting_factor;\n#ifdef RENDER_SHADOWS\nlighting_factor=shadowed_light_factor_normal(transformed_normal,v_pos_light_view_0,v_pos_light_view_1,v_depth_shadows);\n#else\nlighting_factor=saturate(dot(transformed_normal,u_lighting_directional_dir));\n#endif\nreturn apply_lighting(albedo,transformed_normal,lighting_factor);\n#else\nvec3 n=normal;float colorvalue=((albedo.x*0.2126)+(albedo.y*0.7152))+(albedo.z*0.0722);vec3 c=vec3(0.03,0.03,0.03);float directional=clamp(dot(n,vec3(lightDir)),0.0,1.0);directional=mix(1.0-u_lightintensity,max((1.0-colorvalue)+u_lightintensity,1.0),directional);vec3 c3=c+clamp((albedo*directional)*lightColor,mix(vec3(0.0),vec3(0.3),vec3(1.0)-lightColor),vec3(1.0));return c3;\n#endif\n}vec4 getBaseColor() {vec4 albedo=u_baseColorFactor;\n#ifdef HAS_ATTRIBUTE_a_color_3f\nalbedo*=vec4(color_3f,1.0);\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\n#else\n#ifdef HAS_ATTRIBUTE_a_color_4f\nalbedo*=color_4f;\n#endif\n#endif\n#if defined (HAS_TEXTURE_u_baseColorTexture) && defined (HAS_ATTRIBUTE_a_uv_2f)\nvec4 texColor=texture(u_baseColorTexture,uv_2f);if(u_alphaMask) {if (texColor.w < u_alphaCutoff) {discard;}}\n#ifdef UNPREMULT_TEXTURE_IN_SHADER\nif(texColor.w > 0.0) {texColor.rgb/=texColor.w;}texColor.w=1.0;\n#endif\nif(u_baseTextureIsAlpha) {if (texColor.r < 0.5) {discard;}} else {texColor.rgb=sRGBToLinear(texColor.rgb);albedo*=texColor;}\n#endif\nreturn vec4(mix(albedo.rgb,v_color_mix.rgb,v_color_mix.a),albedo.a);}highp mat3 cotangentFrame(highp vec3 N,highp vec3 p,highp vec2 uv ) {\n#ifdef HAS_TEXTURE_u_normalTexture\nhighp vec3 dp1=vec3(dFdx(p.x),dFdx(p.y),dFdx(p.z));highp vec3 dp2=vec3(dFdy(p.x),dFdy(p.y),dFdy(p.z));highp vec2 duv1=vec2(dFdx(uv.x),dFdx(uv.y));highp vec2 duv2=vec2(dFdy(uv.x),dFdy(uv.y));highp vec3 dp2perp=cross( dp2,N );highp vec3 dp1perp=cross( N,dp1 );highp vec3 T=dp2perp*duv1.x+dp1perp*duv2.x;highp vec3 B=dp2perp*duv1.y+dp1perp*duv2.y;highp float lengthT=dot(T,T);highp float lengthB=dot(B,B);highp float maxLength=max(lengthT,lengthB);highp float invmax=inversesqrt( maxLength );highp mat3 res=mat3( T*invmax,B*invmax,N );return res;\n#else\nreturn mat3(1.0);\n#endif\n}highp vec3 getNormal(){highp vec3 n;\n#ifdef HAS_ATTRIBUTE_a_normal_3f\nn=normalize(normal_3f);\n#else\nhighp vec3 fdx=vec3(dFdx(v_position_height.x),dFdx(v_position_height.y),dFdx(v_position_height.z));highp vec3 fdy=vec3(dFdy(v_position_height.x),dFdy(v_position_height.y),dFdy(v_position_height.z));n=normalize(cross(fdx,fdy))*-1.0;\n#endif\n#if defined(HAS_TEXTURE_u_normalTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\nvec3 nMap=texture( u_normalTexture,uv_2f).xyz;nMap=normalize(2.0*nMap-vec3(1.0));highp vec3 v=normalize(-v_position_height.xyz);highp mat3 TBN=cotangentFrame(n,v,uv_2f);n=normalize(TBN*nMap);\n#endif\nreturn n;}struct Material {float perceptualRoughness;float alphaRoughness;float metallic;vec3 f90;vec4 baseColor;vec3 diffuseColor;vec3 specularColor;highp vec3 normal;};Material getPBRMaterial() {Material mat;mat.baseColor=getBaseColor();mat.perceptualRoughness=u_roughnessFactor;mat.metallic=u_metallicFactor;\n#ifdef HAS_ATTRIBUTE_a_pbr\nmat.perceptualRoughness=v_roughness_metallic_emissive_alpha.x;mat.metallic=v_roughness_metallic_emissive_alpha.y;mat.baseColor.w*=v_roughness_metallic_emissive_alpha.w;\n#endif\n#if defined(HAS_TEXTURE_u_metallicRoughnessTexture) && defined(HAS_ATTRIBUTE_a_uv_2f) \nvec4 mrSample=texture(u_metallicRoughnessTexture,uv_2f);mat.perceptualRoughness*=mrSample.g;mat.metallic*=mrSample.b;\n#endif\nconst float c_minRoughness=0.04;mat.perceptualRoughness=clamp(mat.perceptualRoughness,c_minRoughness,1.0);mat.metallic=saturate(mat.metallic);mat.alphaRoughness=mat.perceptualRoughness*mat.perceptualRoughness;const vec3 f0=vec3(0.04);mat.diffuseColor=mat.baseColor.rgb*(vec3(1.0)-f0);mat.diffuseColor*=1.0-mat.metallic;mat.specularColor=mix(f0,mat.baseColor.rgb,mat.metallic);highp float reflectance=max(max(mat.specularColor.r,mat.specularColor.g),mat.specularColor.b);highp float reflectance90=saturate(reflectance*25.0);mat.f90=vec3(reflectance90);mat.normal=getNormal();return mat;}float V_GGX(float NdotL,float NdotV,float roughness)\n{float a2=roughness*roughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-a2)+a2);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-a2)+a2);return 0.5/(GGXV+GGXL);}float V_GGXFast(float NdotL,float NdotV,float roughness) {float a=roughness;float GGXV=NdotL*(NdotV*(1.0-a)+a);float GGXL=NdotV*(NdotL*(1.0-a)+a);return 0.5/(GGXV+GGXL);}vec3 F_Schlick(vec3 specularColor,vec3 f90,float VdotH)\n{return specularColor+(f90-specularColor)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}vec3 F_SchlickFast(vec3 specularColor,float VdotH)\n{float x=1.0-VdotH;float x4=x*x*x*x;return specularColor+(1.0-specularColor)*x4*x;}float D_GGX(highp float NdotH,float alphaRoughness)\n{highp float a4=alphaRoughness*alphaRoughness;highp float f=(NdotH*a4-NdotH)*NdotH+1.0;return a4/(PI*f*f);}vec3 diffuseBurley(Material mat,float LdotH,float NdotL,float NdotV)\n{float f90=2.0*LdotH*LdotH*mat.alphaRoughness-0.5;return (mat.diffuseColor/PI)*(1.0+f90*pow((1.0-NdotL),5.0))*(1.0+f90*pow((1.0-NdotV),5.0));}vec3 diffuseLambertian(Material mat)\n{\n#ifdef LIGHTING_3D_MODE\nreturn mat.diffuseColor;\n#else\nreturn mat.diffuseColor/PI;\n#endif\n}vec3 EnvBRDFApprox(vec3 specularColor,float roughness,highp float NdotV)\n{vec4 c0=vec4(-1,-0.0275,-0.572,0.022);vec4 c1=vec4(1,0.0425,1.04,-0.04);highp vec4 r=roughness*c0+c1;highp float a004=min(r.x*r.x,exp2(-9.28*NdotV))*r.x+r.y;vec2 AB=vec2(-1.04,1.04)*a004+r.zw;return specularColor*AB.x+AB.y;}vec3 computeIndirectLightContribution(Material mat,float NdotV,vec3 normal)\n{vec3 env_light=vec3(0.65,0.65,0.65);\n#ifdef LIGHTING_3D_MODE\nfloat ambient_factor=calculate_ambient_directional_factor(normal);env_light=u_lighting_ambient_color*ambient_factor;\n#endif\nvec3 envBRDF=EnvBRDFApprox(mat.specularColor,mat.perceptualRoughness,NdotV);vec3 indirectSpecular= envBRDF*env_light;vec3 indirectDiffuse=mat.diffuseColor*env_light;return indirectSpecular+indirectDiffuse;}vec3 computeLightContribution(Material mat,vec3 lightPosition,vec3 lightColor)\n{highp vec3 n=mat.normal;highp vec3 v=normalize(-v_position_height.xyz);highp vec3 l=normalize(lightPosition);highp vec3 h=normalize(v+l);float NdotV=clamp(abs(dot(n,v)),0.001,1.0);float NdotL=saturate(dot(n,l));highp float NdotH=saturate(dot(n,h));float VdotH=saturate(dot(v,h));vec3 f=F_SchlickFast(mat.specularColor,VdotH);float g=V_GGXFast(NdotL,NdotV,mat.alphaRoughness);float d=D_GGX(NdotH,mat.alphaRoughness);vec3 diffuseTerm=(1.0-f)*diffuseLambertian(mat);vec3 specularTerm=f*g*d;vec3 transformed_normal=vec3(-n.xy,n.z);float lighting_factor;\n#ifdef RENDER_SHADOWS\nlighting_factor=shadowed_light_factor_normal(transformed_normal,v_pos_light_view_0,v_pos_light_view_1,v_depth_shadows);\n#else\nlighting_factor=NdotL;\n#endif\nvec3 directLightColor=(specularTerm+diffuseTerm)*lighting_factor*lightColor;vec3 indirectLightColor=computeIndirectLightContribution(mat,NdotV,transformed_normal);vec3 color=(saturate(directLightColor)+indirectLightColor);float intensityFactor=1.0;\n#if !defined(LIGHTING_3D_MODE)\nconst vec3 luminosityFactor=vec3(0.2126,0.7152,0.0722);float luminance=dot(diffuseTerm,luminosityFactor);intensityFactor=mix((1.0-u_lightintensity),max((1.0-luminance+u_lightintensity),1.0),NdotL);\n#endif\ncolor*=intensityFactor;return color;}void main() {\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nif (isOccluded()) {discard;}\n#endif\nvec3 lightDir=u_lightpos;vec3 lightColor=u_lightcolor;\n#ifdef LIGHTING_3D_MODE\nlightDir=u_lighting_directional_dir;lightDir.xy=-lightDir.xy;lightColor=u_lighting_directional_color;\n#endif\nvec4 finalColor;\n#ifdef DIFFUSE_SHADED\nvec3 N=getNormal();vec3 baseColor=getBaseColor().rgb;vec3 diffuse=getDiffuseShadedColor(baseColor,N,lightDir,lightColor);\n#ifdef HAS_TEXTURE_u_occlusionTexture\nfloat ao=(texture(u_occlusionTexture,uv_2f).r-1.0)*u_aoIntensity+1.0;diffuse*=ao;\n#endif\nfinalColor=vec4(mix(diffuse,baseColor,u_emissive_strength),1.0)*u_opacity;\n#else\nMaterial mat=getPBRMaterial();vec3 color=computeLightContribution(mat,lightDir,lightColor);float ao=1.0;\n#if defined (HAS_TEXTURE_u_occlusionTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\n#ifdef OCCLUSION_TEXTURE_TRANSFORM\nvec2 uv=uv_2f.xy*u_occlusionTextureTransform.zw+u_occlusionTextureTransform.xy;\n#else\nvec2 uv=uv_2f;\n#endif\nao=(texture(u_occlusionTexture,uv).x-1.0)*u_aoIntensity+1.0;color*=ao;\n#endif\nvec4 emissive=u_emissiveFactor;\n#if defined(HAS_TEXTURE_u_emissionTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\nemissive.rgb*=sRGBToLinear(texture(u_emissionTexture,uv_2f).rgb);\n#endif\ncolor+=emissive.rgb;float opacity=mat.baseColor.w*u_opacity;\n#ifdef HAS_ATTRIBUTE_a_pbr\nfloat resEmission=v_roughness_metallic_emissive_alpha.z;resEmission*=v_height_based_emission_params.z+v_height_based_emission_params.w*pow(clamp(v_height_based_emission_params.x,0.0,1.0),v_height_based_emission_params.y);color=mix(color,v_color_mix.rgb,min(1.0,resEmission));\n#ifdef HAS_ATTRIBUTE_a_color_4f\nfloat distance=length(vec2(1.3*max(0.0,abs(color_4f.x)-color_4f.z),color_4f.y));distance+= mix(0.5,0.0,clamp(resEmission-1.0,0.0,1.0));opacity*=v_roughness_metallic_emissive_alpha.w*saturate(1.0-distance*distance);\n#endif\n#endif\nvec3 unlitColor=mat.baseColor.rgb*ao+emissive.rgb;color=mix(color,unlitColor,u_emissive_strength);color=linearTosRGB(color);color*=opacity;finalColor=vec4(color,opacity);\n#endif\n#ifdef FOG\nfinalColor=fog_dither(fog_apply_premultiplied(finalColor,v_fog_pos,v_position_height.w));\n#endif\n#ifdef RENDER_CUTOFF\nfinalColor*=v_cutoff_opacity;\n#endif\n#ifdef INDICATOR_CUTOUT\nfinalColor=applyCutout(finalColor);\n#endif\nglFragColor=finalColor;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_shadow.vertex.glsl"\nin vec3 a_pos_3f;\n#pragma mapbox: define-attribute highp vec3 normal_3f\n#pragma mapbox: define-attribute highp vec2 uv_2f\n#pragma mapbox: define-attribute highp vec3 color_3f\n#pragma mapbox: define-attribute highp vec4 color_4f\n#pragma mapbox: define-attribute-vertex-shader-only highp vec4 pbr\n#pragma mapbox: define-attribute-vertex-shader-only highp vec3 heightBasedEmissiveStrength\nuniform mat4 u_matrix;uniform mat4 u_node_matrix;uniform mat4 u_lighting_matrix;uniform vec3 u_camera_pos;uniform vec4 u_color_mix;\n#ifdef INSTANCED_ARRAYS\nin vec4 a_normal_matrix0;in vec4 a_normal_matrix1;in vec4 a_normal_matrix2;in vec4 a_normal_matrix3;\n#else\nuniform highp mat4 u_normal_matrix;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;out float v_depth_shadows;\n#endif\nout vec4 v_position_height;out lowp vec4 v_color_mix;\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nout highp float v_depth;\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\nout lowp vec4 v_roughness_metallic_emissive_alpha;out mediump vec4 v_height_based_emission_params;\n#endif\nvec3 sRGBToLinear(vec3 srgbIn) {return pow(srgbIn,vec3(2.2));}void main() {\n#pragma mapbox: initialize-attribute highp vec3 normal_3f\n#pragma mapbox: initialize-attribute highp vec2 uv_2f\n#pragma mapbox: initialize-attribute highp vec3 color_3f\n#pragma mapbox: initialize-attribute highp vec4 color_4f\n#pragma mapbox: initialize-attribute-custom highp vec4 pbr\n#pragma mapbox: initialize-attribute-custom highp vec3 heightBasedEmissiveStrength\nhighp mat4 normal_matrix;\n#ifdef INSTANCED_ARRAYS\nnormal_matrix=mat4(a_normal_matrix0,a_normal_matrix1,a_normal_matrix2,a_normal_matrix3);\n#else\nnormal_matrix=u_normal_matrix;\n#endif\nvec3 local_pos;mat3 rs;\n#ifdef MODEL_POSITION_ON_GPU\nvec3 pos_color=normal_matrix[0].xyz;vec4 translate=normal_matrix[1];vec3 pos_a=floor(pos_color);vec3 rgb=1.05*(pos_color-pos_a);float color_mix=pos_a.z/100.0;v_color_mix=vec4(sRGBToLinear(rgb),color_mix);float meter_to_tile=normal_matrix[0].w;vec4 pos=vec4(pos_a.xy,translate.z,1.0);rs[0].x=normal_matrix[1].w;rs[0].yz=normal_matrix[2].xy;rs[1].xy=normal_matrix[2].zw;rs[1].z=normal_matrix[3].x;rs[2].xyz=normal_matrix[3].yzw;vec4 pos_node=u_lighting_matrix*vec4(a_pos_3f,1.0);vec3 rotated_pos_node=rs*pos_node.xyz;vec3 pos_model_tile=(rotated_pos_node+vec3(translate.xy,0.0))*vec3(meter_to_tile,meter_to_tile,1.0);pos.xyz+=pos_model_tile;local_pos=pos.xyz;gl_Position=u_matrix*pos;pos.z*=meter_to_tile;v_position_height.xyz=pos.xyz-u_camera_pos;\n#else\nlocal_pos=a_pos_3f;gl_Position=u_matrix*vec4(a_pos_3f,1);v_position_height.xyz=vec3(u_lighting_matrix*vec4(a_pos_3f,1));v_color_mix=vec4(sRGBToLinear(u_color_mix.rgb),u_color_mix.a);\n#endif\nv_position_height.w=a_pos_3f.z;\n#ifdef HAS_ATTRIBUTE_a_pbr\nvec4 albedo_c=decode_color(pbr.xy);vec2 e_r_m=unpack_float(pbr.z);vec2 r_m= unpack_float(e_r_m.y*16.0);r_m.r=r_m.r*16.0;v_color_mix=vec4(albedo_c.rgb,1.0);v_roughness_metallic_emissive_alpha=vec4(vec3(r_m,e_r_m.x)/255.0,albedo_c.a);v_roughness_metallic_emissive_alpha.z*=2.0;float heightBasedRelativeIntepolation=a_pos_3f.z*heightBasedEmissiveStrength.x+heightBasedEmissiveStrength.y;v_height_based_emission_params.x=heightBasedRelativeIntepolation;v_height_based_emission_params.y=heightBasedEmissiveStrength.z;vec2 emissionMultiplierValues=unpack_float(pbr.w)/256.0;v_height_based_emission_params.z=emissionMultiplierValues.x;v_height_based_emission_params.w=emissionMultiplierValues.y-emissionMultiplierValues.x;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(local_pos);\n#endif\n#ifdef RENDER_CUTOFF\nv_cutoff_opacity=cutoff_opacity(u_cutoff_params,gl_Position.z);\n#endif\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nv_depth=gl_Position.z/gl_Position.w;\n#endif\n#ifdef HAS_ATTRIBUTE_a_normal_3f\n#ifdef MODEL_POSITION_ON_GPU\nfloat x_squared_scale=dot(rs[0],rs[0]);float y_squared_scale=dot(rs[1],rs[1]);float z_squared_scale=dot(rs[2],rs[2]);vec3 squared_scale=vec3(x_squared_scale,y_squared_scale,z_squared_scale);normal_3f=rs*((u_lighting_matrix*vec4(normal_3f,0.0)).xyz/squared_scale);normal_3f=normalize(normal_3f);\n#else\nnormal_3f=vec3(normal_matrix*vec4(normal_3f,0));\n#endif\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\n#ifdef HAS_ATTRIBUTE_a_color_4f\nv_roughness_metallic_emissive_alpha.w=clamp(color_4f.a*v_roughness_metallic_emissive_alpha.w*(v_roughness_metallic_emissive_alpha.z-1.0),0.0,1.0);\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec4 shadow_pos=u_node_matrix*vec4(local_pos,1.0);\n#ifdef NORMAL_OFFSET\n#ifdef HAS_ATTRIBUTE_a_normal_3f\n#ifdef MODEL_POSITION_ON_GPU\nvec3 offset=shadow_normal_offset(vec3(-normal_3f.xy,normal_3f.z));shadow_pos.xyz+=offset*shadow_normal_offset_multiplier0();\n#else\nvec3 offset=shadow_normal_offset_model(normalize(normal_3f));shadow_pos.xyz+=offset*shadow_normal_offset_multiplier0();\n#endif\n#endif\n#endif\nv_pos_light_view_0=u_light_matrix_0*shadow_pos;v_pos_light_view_1=u_light_matrix_1*shadow_pos;v_depth_shadows=gl_Position.w;\n#endif\n}'),modelDepth:Qr("in highp float v_depth;void main() {\n#ifndef DEPTH_TEXTURE\nglFragColor=pack_depth(v_depth);\n#endif\n}","in vec3 a_pos_3f;uniform mat4 u_matrix;out highp float v_depth;\n#ifdef MODEL_POSITION_ON_GPU\n#ifdef INSTANCED_ARRAYS\nin vec4 a_normal_matrix0;in vec4 a_normal_matrix1;in vec4 a_normal_matrix2;in vec4 a_normal_matrix3;\n#else\nuniform highp mat4 u_instance;\n#endif\nuniform highp mat4 u_node_matrix;\n#endif\nvoid main() {\n#ifdef MODEL_POSITION_ON_GPU\nhighp mat4 instance;\n#ifdef INSTANCED_ARRAYS\ninstance=mat4(a_normal_matrix0,a_normal_matrix1,a_normal_matrix2,a_normal_matrix3);\n#else\ninstance=u_instance;\n#endif\nvec3 pos_color=instance[0].xyz;vec4 translate=instance[1];vec3 pos_a=floor(pos_color);float meter_to_tile=instance[0].w;vec4 pos=vec4(pos_a.xy,translate.z,1.0);mat3 rs;rs[0].x=instance[1].w;rs[0].yz=instance[2].xy;rs[1].xy=instance[2].zw;rs[1].z=instance[3].x;rs[2].xyz=instance[3].yzw;vec4 pos_node=u_node_matrix*vec4(a_pos_3f,1.0);vec3 rotated_pos_node=rs*pos_node.xyz;vec3 pos_model_tile=(rotated_pos_node+vec3(translate.xy,0.0))*vec3(meter_to_tile,meter_to_tile,1.0);pos.xyz+=pos_model_tile;gl_Position=u_matrix*pos;\n#else\ngl_Position=u_matrix*vec4(a_pos_3f,1);\n#endif\nv_depth=gl_Position.z/gl_Position.w;}"),stars:Qr("in highp vec2 v_uv;in mediump float v_intensity;float shapeCircle(in vec2 uv)\n{float beginFade=0.6;float lengthFromCenter=length(v_uv);return 1.0-clamp((lengthFromCenter-beginFade)/(1.0-beginFade),0.0,1.0);}void main() {float alpha=shapeCircle(v_uv);vec3 color=vec3(1.0,1.0,1.0);alpha*=v_intensity;glFragColor=vec4(color*alpha,alpha);HANDLE_WIREFRAME_DEBUG;}","\nin vec3 a_pos_3f;in vec2 a_uv;in float a_size_scale;in float a_fade_opacity;uniform mat4 u_matrix;uniform vec3 u_up;uniform vec3 u_right;uniform float u_intensity_multiplier;out highp vec2 v_uv;out mediump float v_intensity;void main() {v_uv=a_uv;v_intensity=a_fade_opacity*u_intensity_multiplier;vec3 pos=a_pos_3f;pos+=a_uv.x*u_right*a_size_scale;pos+=a_uv.y*u_up*a_size_scale;gl_Position=u_matrix*vec4(pos,1.0);}")};function Wr(e,t){const i=e.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let r of i)if(r=r.trim(),"#"===r[0]&&r.includes("if")&&!r.includes("endif")){r=r.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const e=r.split(" ");for(const i of e)t.includes(i)||t.push(i)}}function Qr(e,t){const i=/#include\s+"([^"]+)"/g,r=/#pragma mapbox: ([\w\-]+) ([\w]+) ([\w]+) ([\w]+)/g;let n=t.match(/(attribute(\S*)|(^\s*|;)in) (highp |mediump |lowp )?([\w]+) ([\w]+)/gm);n&&(n=n.map((e=>{const t=e.split(" ");return t[t.length-1]})),n=[...new Set(n)]);const o={},s=[],a=[];if(e=e.replace(i,((e,t)=>(a.push(t),""))),(t=t.replace(i,((e,t)=>(s.push(t),"")))).includes("flat out"))return void console.error('The usage of "flat" qualifier is disallowed, see: https://bugs.webkit.org/show_bug.cgi?id=268071');let l=[...Ur];Wr(e,l),Wr(t,l);for(const c of[...s,...a])jr[c]||console.error(`Undefined include: ${c}`),Gr[c]||(Gr[c]=[],Wr(jr[c],Gr[c])),l=[...l,...Gr[c]];return{fragmentSource:e=e.replace(r,((e,t,i,r,n)=>(o[n]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nin ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize"===t?`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n in ${i} ${r} ${n};\n#endif\n`:"initialize-attribute"===t?"":void 0))),vertexSource:t=t.replace(r,((e,t,i,r,n)=>{const s="float"===r?"vec2":r,a=n.match(/color/)?"color":s;return"define-attribute-vertex-shader-only"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\nin ${i} ${r} a_${n};\n#endif\n`:o[n]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nin ${i} ${s} a_${n};\nout ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize"===t?"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n in ${i} ${r} a_${n};\n out ${i} ${r} ${n};\n#endif\n`:"initialize-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n ${n} = a_${n};\n#endif\n`:void 0:"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nin ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"define-instanced"===t?"mat4"===a?`\n#ifdef INSTANCED_ARRAYS\nin vec4 a_${n}0;\nin vec4 a_${n}1;\nin vec4 a_${n}2;\nin vec4 a_${n}3;\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef INSTANCED_ARRAYS\nin ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize-attribute-custom"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n ${i} ${r} ${n} = a_${n};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:n,usedDefines:l,vertexIncludes:s,fragmentIncludes:a}}class Hr{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(e,t,i,r,n,o,s,a){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let h=0;!l&&h{const o=r.paint.get("hillshade-shadow-color"),s=r.paint.get("hillshade-highlight-color"),a=r.paint.get("hillshade-accent-color"),l=r.paint.get("hillshade-emissive-strength");let c=e.bm(r.paint.get("hillshade-illumination-direction"));if("viewport"===r.paint.get("hillshade-illumination-anchor"))c-=t.transform.angle;else if(t.style&&t.style.enable3dLights()&&t.style.directionalLight){const i=t.style.directionalLight.properties.get("direction"),r=e.bT(i.x,i.y,i.z);c=e.bm(r[1])}const h=!t.options.moving;return{u_matrix:n||t.transform.calculateProjMatrix(i.tileID.toUnwrapped(),h),u_image:0,u_latrange:Xr(0,i.tileID),u_light:[r.paint.get("hillshade-exaggeration"),c],u_shadow:o,u_highlight:s,u_emissive_strength:l,u_accent:a}})(t,r,n,t.terrain?i.projMatrix:null);t.uploadCommonUniforms(l,d,i.toUnwrapped());const{tileBoundsBuffer:f,tileBoundsIndexBuffer:m,tileBoundsSegments:_}=t.getTileBoundsBuffers(r);d.draw(t,c.TRIANGLES,o,s,a,Rt.disabled,p,n.id,f,m,_)}function Kr(t,i,r){if(!i.needsDEMTextureUpload)return;const n=t.context,o=n.gl;n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(r.stride);const s=r.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new e.T(n,s,o.R32F,{premultiply:!1}),i.needsDEMTextureUpload=!1}function Jr(t,i,r){const n=t.context,o=n.gl;if(!i.dem)return;const s=i.dem;if(n.activeTexture.set(o.TEXTURE1),Kr(t,i,s),!i.demTexture)return;i.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE);const a=s.dim;n.activeTexture.set(o.TEXTURE0);let l=i.hillshadeFBO;if(!l){const t=new e.T(n,{width:a,height:a,data:null},o.RGBA);t.bind(o.LINEAR,o.CLAMP_TO_EDGE),l=i.hillshadeFBO=n.createFramebuffer(a,a,!0,"renderbuffer"),l.colorAttachment.set(t.texture)}n.bindFramebuffer.set(l.framebuffer),n.viewport.set([0,0,a,a]);const{tileBoundsBuffer:c,tileBoundsIndexBuffer:h,tileBoundsSegments:u}=t.getMercatorTileBoundsBuffers(),d=[];t.linearFloatFilteringSupported()&&d.push("TERRAIN_DEM_FLOAT_FORMAT"),t.getOrCreateProgram("hillshadePrepare",{defines:d}).draw(t,o.TRIANGLES,Mt.disabled,It.disabled,Pt.unblended,Rt.disabled,((t,i)=>{const r=i.stride,n=e.a9.create();return e.a9.ortho(n,0,e.Y,-e.Y,0,0,1),e.a9.translate(n,n,[0,-e.Y,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:t.overscaledZ}})(i.tileID,s),r.id,c,h,u),i.needsHillshadePrepare=!1}const en=t=>({u_matrix:new e.bN(t),u_image0:new e.bR(t),u_skirt_height:new e.bQ(t),u_ground_shadow_factor:new e.bP(t)}),tn=(e,t,i)=>({u_matrix:e,u_image0:0,u_skirt_height:t,u_ground_shadow_factor:i}),rn=(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m)=>({u_proj_matrix:Float32Array.from(e),u_globe_matrix:t,u_normalize_matrix:Float32Array.from(r),u_merc_matrix:i,u_zoom_transition:n,u_merc_center:o,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:h,u_globe_radius:u,u_viewport:d,u_grid_matrix:m?Float32Array.from(m):new Float32Array(9),u_skirt_height:p,u_far_z_cutoff:f});function nn(e,t){return null!=e&&null!=t&&!(!e.hasData()||!t.hasData())&&null!=e.demTexture&&null!=t.demTexture&&e.tileID.key!==t.tileID.key}const on=new class{constructor(){this.operations={}}newMorphing(e,t,i,r,n){if(e in this.operations){const t=this.operations[e];t.to.tileID.key!==i.tileID.key&&(t.queued=i)}else this.operations[e]={startTime:r,phase:0,duration:n,from:t,to:i,queued:null}}getMorphValuesForProxy(e){if(!(e in this.operations))return null;const t=this.operations[e];return{from:t.from,to:t.to,phase:t.phase}}update(e){for(const t in this.operations){const i=this.operations[t];for(i.phase=(e-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,e)){delete this.operations[t];break}}}_nextOp(e,t){return!!e.queued&&(e.from=e.to,e.to=e.queued,e.queued=null,e.phase=0,e.startTime=t,!0)}_validOp(e){return e.from.hasData()&&e.to.hasData()}},sn={0:null,1:"TERRAIN_VERTEX_MORPHING"};function an(e,t,i){if(0===t)return 0;const r=t<1&&514===i?.25/t:1;return 6*Math.pow(1.5,22-e)*Math.max(t,1)*r}function ln(e,t){const i=1<({u_matrix:e});function hn(t,i,r,n,o){if(o>0){const s=e.f.now(),a=(s-t.timeAdded)/o,l=i?(s-i.timeAdded)/o:-1,c=r.getSource(),h=n.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=u&&t.refreshedUponExpiration?1:e.ad(u?a:1-l,0,1);return t.refreshedUponExpiration&&a>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}class un extends Qt{constructor(t){const i={type:"raster-dem",maxzoom:t.transform.maxZoom},r=new e.bZ(e.b_(),null),n=Ut("mock-dem",i,r,t.style);super("mock-dem",n,!1),n.setEventedParent(this),this._sourceLoaded=!0}_loadTile(e,t){e.state="loaded",t(null)}}class dn extends Qt{constructor(t){const i=Ut("proxy",{type:"geojson",maxzoom:t.transform.maxZoom},new e.bZ(e.b_(),null),t.style);super("proxy",i,!1),i.setEventedParent(this),this.map=this.getSource().map=t,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(e,t,i){if(e.freezeTileCoverage)return;this.transform=e;const r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((t,i)=>{if(t[i.key]="",!this._tiles[i.key]){const t=new Nt(i,this._source.tileSize*i.overscaleFactor(),e.tileZoom);t.state="loaded",this._tiles[i.key]=t}return t}),{});for(const n in this._tiles)n in r||(this.freeFBO(n),this._tiles[n].unloadVectorData(),delete this._tiles[n])}freeFBO(e){const t=this.proxyCachedFBO[e];if(void 0!==t){const i=Object.values(t);this.renderCachePool.push(...i),delete this.proxyCachedFBO[e]}}deallocRenderCache(){this.renderCache.forEach((e=>e.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class pn extends e.ap{constructor(e,t,i){super(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y),this.proxyTileKey=t,this.projMatrix=i}}class fn extends e.cp{constructor(t,i){super(),this._debugParams={sortTilesHiZFirst:!0,disableRenderCache:!1},t.tp.registerParameter(this._debugParams,["Terrain"],"sortTilesHiZFirst",{},(()=>{this._style.map.triggerRepaint()})),t.tp.registerParameter(this._debugParams,["Terrain"],"disableRenderCache",{},(()=>{this._style.map.triggerRepaint()})),t.tp.registerButton(["Terrain"],"Invalidate Render Cache",(()=>{this.invalidateRenderCache=!0,this._style.map.triggerRepaint()})),this.painter=t,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[r,n,o]=function(t){const i=new e.aQ,r=new e.az,n=131;i.reserve(17161),r.reserve(33800);const o=e.Y/128,s=e.Y+o/2,a=s+o;for(let c=-o;cs||c<0||c>s?24575:0,n=e.ad(Math.round(t),0,e.Y),o=e.ad(Math.round(c),0,e.Y);i.emplaceBack(n+r,o)}const l=(e,t)=>{const i=t*n+e;r.emplaceBack(i+1,i,i+n),r.emplaceBack(i+n,i+n+1,i+1)};for(let e=1;e<129;e++)for(let t=1;t<129;t++)l(t,e);return[0,129].forEach((e=>{for(let t=0;t<130;t++)l(t,e),l(e,t)})),[i,r,32768]}(),s=t.context;this.gridBuffer=s.createVertexBuffer(r,e.aS.members),this.gridIndexBuffer=s.createIndexBuffer(n),this.gridSegments=e.aE.simpleSegment(0,0,r.length,n.length),this.gridNoSkirtSegments=e.aE.simpleSegment(0,0,r.length,o),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new dn(i.map),this.orthoMatrix=e.a9.create(),e.a9.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,e.Y,0,e.Y,0,1);const a=s.gl;this._overlapStencilMode=new It({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=t.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new un(i.map),this._pendingGroundEffectLayers=[]}set style(e){e.on("data",this._onStyleDataEvent.bind(this)),this._style=e,this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache()}))}update(t,i,r){if(t&&t.terrain){this._style!==t&&(this.style=t,this._evaluationZoom=void 0);const n=t.terrain.properties,o=0===t.terrain.drapeRenderMode,s=t.terrain.isZoomDependent();this._previousUpdateTimestamp=this.enabled?this._updateTimestamp:void 0,this._updateTimestamp=e.f.now();const a=t.terrain&&t.terrain.scope,l=n.get("source"),c=o?this._mockSourceCache:t.getSourceCache(l,a);if(!c)return void e.w(`Couldn't find terrain source "${l}".`);if(this.sourceCache=c,this._exaggeration=s?this.calculateExaggeration(i):n.get("exaggeration"),!i.projection.requiresDraping&&s&&0===this._exaggeration)return void this._disable();this.enabled=!0;const h=()=>{this.sourceCache.used&&e.w(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const t=this.getScaledDemTileSize();this.sourceCache.update(i,t,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,h(),this._initializing=!0),h(),i.updateElevation(!0,r),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0,this._previousZoom=i.zoom}else this._disable()}calculateExaggeration(t){const i=this._previousCameraAltitude,r=t.getFreeCameraOptions().position.z/t.pixelsPerMeter*t.worldSize;this._previousCameraAltitude=r;const n=null!=i?r-i:Number.MAX_VALUE;if(Math.abs(n)<2)return this._exaggeration;const o=t.zoom,s=this._style.terrain;if(!this._previousUpdateTimestamp)return s.getExaggeration(o);let a=o-this._previousZoom;const l=this._previousUpdateTimestamp;let c=o;null!=this._evaluationZoom&&(c=this._evaluationZoom,Math.abs(o-c)>.5&&(a=.5*(o-c+a)),a*n<0&&(c+=a)),this._evaluationZoom=c;const h=s.getExaggeration(c),u=h===s.getExaggeration(Math.max(0,c-.1));if(u&&Math.abs(h-this._exaggeration)<.01)return h;let d=Math.min(.1,.00375*(this._updateTimestamp-l));return(u||h<.1||Math.abs(a)<1e-4)&&(d=Math.min(.2,4*d)),e.X(this._exaggeration,h,d)}resetTileLookupCache(e){this._findCoveringTileCache[e]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_onStyleDataEvent(e){e.coord&&"source"===e.dataType?this._clearRenderCacheForTile(e.sourceCacheId,e.coord):"style"===e.dataType&&(this.invalidateRenderCache=!0,this._evaluationZoom=void 0,this._previousUpdateTimestamp=void 0,this._previousCameraAltitude=void 0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this._evaluationZoom=void 0,this._previousUpdateTimestamp=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const e in this._style._mergedSourceCaches)this._style._mergedSourceCaches[e].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((e=>e.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),this.framebufferCopyTexture&&this.framebufferCopyTexture.destroy()}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const e=2*this.proxySourceCache.getSource().tileSize;return[e,e]}set useVertexMorphing(e){this._useVertexMorphing=e}updateTileBinding(t){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,r=this.painter.transform;this._initializing&&(this._initializing=0===r._centerAltitude&&-1===this.getAtPointOrZero(e.O.fromLngLat(r.center),-1),this._emptyDEMTextureDirty=!this._initializing);const n=this.proxyCoords=i.getIds().map((e=>{const t=i.getTileByID(e).tileID;return t.projMatrix=r.calculateProjMatrix(t.toUnwrapped()),t}));!function(t,i){const r=i.transform.pointCoordinate(i.transform.getCameraPoint()),n=new e.P(r.x,r.y);t.sort(((t,i)=>{if(i.overscaledZ-t.overscaledZ)return i.overscaledZ-t.overscaledZ;const r=new e.P(t.canonical.x+(1<{this.proxyToSource[e.key]={}})),this.terrainTileForTile={};const s=this._style._mergedSourceCaches;for(const e in s){const i=s[e];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,t[e],o),i.usedForTerrain)continue;const r=t[e];i.getSource().reparseOverscaled&&this._assignTerrainTiles(r)}this.proxiedCoords[i.id]=n.map((e=>new pn(e,e.key,this.orthoMatrix))),this._assignTerrainTiles(n),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(o),this.renderingToTexture=!1;const a={};this._visibleDemTiles=[];for(const e of this.proxyCoords){const t=this.terrainTileForTile[e.key];if(!t)continue;const i=t.tileID.key;i in a||(this._visibleDemTiles.push(t),a[i]=i)}}_assignTerrainTiles(e){this._initializing||e.forEach((e=>{if(this.terrainTileForTile[e.key])return;const t=this._findTileCoveringTileID(e,this.sourceCache);t&&(this.terrainTileForTile[e.key]=t)}))}_prepareDEMTextures(){const e=this.painter.context,t=e.gl;for(const i in this.terrainTileForTile){const r=this.terrainTileForTile[i],n=r.dem;!n||r.demTexture&&!r.needsDEMTextureUpload||(e.activeTexture.set(t.TEXTURE1),Kr(this.painter,r,n))}}_prepareDemTileUniforms(e,t,i,r){if(!t||null==t.demTexture)return!1;const n=e.tileID.canonical,o=Math.pow(2,t.tileID.canonical.z-n.z),s=r||"";return i[`u_dem_tl${s}`]=[n.x*o%1,n.y*o%1],i[`u_dem_scale${s}`]=o,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const t=this.painter.context,i=t.gl;if(!this._emptyDepthBufferTexture){const r=new e.h({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new e.T(t,r,i.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let e=0;const t=this._visibleDemTiles.reduce(((t,i)=>{if(!i.dem)return t;const r=i.dem.tree.minimums[0];return r>0&&e++,t+r}),0);return e?t/e:0}_updateEmptyDEMTexture(){const t=this.painter.context,i=t.gl;t.activeTexture.set(i.TEXTURE2);const r=this._getLoadedAreaMinimum(),[n,o]=(()=>{const t=new e.cr({width:1,height:1},new Float32Array([r]));return[i.R32F,t]})();this._emptyDEMTextureDirty=!1;let s=this._emptyDEMTexture;return s?s.update(o,{premultiply:!1}):s=this._emptyDEMTexture=new e.T(t,o,n,{premultiply:!1}),s}setupElevationDraw(t,i,r){const n=this.painter.context,o=n.gl,s={u_dem:2,u_dem_prev:4,u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0};s.u_exaggeration=this.exaggeration();let a=null,l=null,c=1;if(r&&r.morphing&&this._useVertexMorphing){const e=r.morphing.srcDemTile,i=r.morphing.dstDemTile;c=r.morphing.phase,e&&i&&(this._prepareDemTileUniforms(t,e,s,"_prev")&&(l=e),this._prepareDemTileUniforms(t,i,s)&&(a=i))}const h=e=>e&&e.demTexture&&this.painter.linearFloatFilteringSupported()?o.LINEAR:o.NEAREST,u=e=>{s.u_dem_size=1===e.size[0]?1:e.size[0]-2};if(l&&a)n.activeTexture.set(o.TEXTURE2),a.demTexture.bind(h(a),o.CLAMP_TO_EDGE),n.activeTexture.set(o.TEXTURE4),l.demTexture.bind(h(l),o.CLAMP_TO_EDGE),a.demTexture&&u(a.demTexture),s.u_dem_lerp=c;else{a=this.terrainTileForTile[t.tileID.key],n.activeTexture.set(o.TEXTURE2);const e=this._prepareDemTileUniforms(t,a,s)?a.demTexture:this.emptyDEMTexture;e.bind(h(a),o.CLAMP_TO_EDGE),u(e)}if(n.activeTexture.set(o.TEXTURE3),r&&r.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),r&&r.useMeterToDem&&a){const t=(1<{if(c===i)return;const r=[sn[i],"PROJECTION_GLOBE_VIEW"];u&&r.push("CUSTOM_ANTIALIASING");const n=t.isTileAffectedByFog(e);l=t.getOrCreateProgram("globeRaster",{defines:r,overrideFog:n}),c=i},p=t.colorModeForRenderPass(),f=new Mt(a.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);on.update(o);const m=e.cj(h),_=[e.a8(h.center.lng),e.ah(h.center.lat)],g=t.globeSharedBuffers,y=[h.width*e.f.devicePixelRatio,h.height*e.f.devicePixelRatio],x=Float32Array.from(h.globeMatrix),v={useDenormalizedUpVectorScale:!0};{const h=t.transform,u=an(h.zoom,i.exaggeration(),i.sourceCache._source.tileSize);c=-1;const b=a.TRIANGLES;for(const c of n){const n=r.getTile(c),w=It.disabled,T=i.prevTerrainTileForTile[c.key],E=i.terrainTileForTile[c.key];nn(T,E)&&on.newMorphing(c.key,T,E,o,250),s.activeTexture.set(a.TEXTURE0),n.texture&&n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const S=on.getMorphValuesForProxy(c.key),M=S?1:0;S&&e.k(v,{morphing:{srcDemTile:S.from,dstDemTile:S.to,phase:e.ch(S.phase)}});const A=e.ck(c.canonical),I=e.cl(A.getCenter().lat),C=e.cm(c.canonical,A,I,h.worldSize/h._pixelsPerMercatorPixel),P=e.aW(e.cn(c.canonical)),z=rn(h.expandedFarZProjMatrix,x,m,P,e.W(h.zoom),_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,y,u,h._farZ,C);if(d(c,M),l&&(i.setupElevationDraw(n,l,v),t.uploadCommonUniforms(s,l,c.toUnwrapped()),g)){const[e,i,r]=g.getGridBuffers(I,0!==u);l.draw(t,b,f,w,p,Rt.backCCW,z,"globe_raster",e,i,r)}}}if(g&&(t.renderDefaultNorthPole||t.renderDefaultSouthPole)){const o=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];u&&o.push("CUSTOM_ANTIALIASING"),l=t.getOrCreateProgram("globeRaster",{defines:o});for(const c of n){const{x:n,y:o,z:u}=c.canonical,d=0===o,m=o===(1<e.draw(t,a.TRIANGLES,f,It.disabled,p,Rt.disabled,rn(h.expandedFarZProjMatrix,g,g,E,0,_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,y,0,h._farZ),"globe_pole_raster",i,w,T);i.setupElevationDraw(o,l,v),t.uploadCommonUniforms(s,l,c.toUnwrapped()),d&&t.renderDefaultNorthPole&&S(l,x),m&&t.renderDefaultSouthPole&&(g=e.a9.scale(e.a9.create(),g,[1,-1,1]),S(l,b))}}}}(t,i,r,n,o);else{const s=t.context,a=s.gl;let l,c;const h=t.shadowRenderer,u=mr(t,t.longestCutoffRange),d=e=>{if(c===e)return;const i=[];i.push(sn[e]),u.shouldRenderCutoff&&i.push("RENDER_CUTOFF"),l=t.getOrCreateProgram("terrainRaster",{defines:i}),c=e},p=t.colorModeForRenderPass(),f=new Mt(a.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);on.update(o);const m=t.transform,_=an(m.zoom,i.exaggeration(),i.sourceCache._source.tileSize);let g=[0,0,0];if(h){const e=t.style.directionalLight,i=t.style.ambientLight;e&&i&&(g=wr(e,i))}{c=-1;const y=a.TRIANGLES,[x,v]=[i.gridIndexBuffer,i.gridSegments];for(const c of n){const n=r.getTile(c),b=It.disabled,w=i.prevTerrainTileForTile[c.key],T=i.terrainTileForTile[c.key];nn(w,T)&&on.newMorphing(c.key,w,T,o,250),s.activeTexture.set(a.TEXTURE0),n.texture&&n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const E=on.getMorphValuesForProxy(c.key),S=E?1:0;let M;E&&(M={morphing:{srcDemTile:E.from,dstDemTile:E.to,phase:e.ch(E.phase)}});const A=tn(c.projMatrix,ln(c.canonical,m.renderWorldCopies)?_/10:_,g);if(d(S),!l)continue;i.setupElevationDraw(n,l,M);const I=c.toUnwrapped();h&&h.setupShadows(I,l),t.uploadCommonUniforms(s,l,I,null,u),l.draw(t,y,f,b,p,Rt.backCCW,A,"terrain_raster",i.gridBuffer,x,v)}}}}(i,this,this.proxySourceCache,t,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),t.splice(0,t.length))}renderBatch(t){if(0===this._drapedRenderBatches.length)return t+1;this.renderingToTexture=!0;const i=this.painter,r=this.painter.context,n=this.proxySourceCache,o=this.proxiedCoords[n.id],s=this._drapedRenderBatches.shift(),a=i.style.order,l=[];let c=0;for(const h of o){const o=n.getTileByID(h.proxyTileKey),u=n.proxyCachedFBO[h.key]?n.proxyCachedFBO[h.key][t]:void 0,d=void 0!==u?n.renderCache[u]:this.pool[c++],p=void 0!==u;if(o.texture=d.tex,p&&!d.dirty){l.push(o.tileID);continue}let f;r.bindFramebuffer.set(d.fb.framebuffer),this.renderedToTile=!1,d.dirty&&(r.clear({color:e.aA.transparent,stencil:0}),d.dirty=!1);for(let e=s.start;e<=s.end;++e){const t=i.style._mergedLayers[a[e]];if(t.isHidden(i.transform.zoom))continue;const n=i.style.getLayerSourceCache(t),o=n?this.proxyToSource[h.key][n.id]:[h];if(!o)continue;const s=o;r.viewport.set([0,0,d.fb.width,d.fb.height]),f!==(n?n.id:null)&&(this._setupStencil(d,o,t,n),f=n?n.id:null),i.renderLayer(i,n,t,s)}if(0===this._drapedRenderBatches.length)for(const e of this._pendingGroundEffectLayers){const t=i.style._mergedLayers[a[e]];if(t.isHidden(i.transform.zoom))continue;const n=i.style.getLayerSourceCache(t),o=n?this.proxyToSource[h.key][n.id]:[h];if(!o)continue;const s=o;r.viewport.set([0,0,d.fb.width,d.fb.height]),f!==(n?n.id:null)&&(this._setupStencil(d,o,t,n),f=n?n.id:null),i.renderLayer(i,n,t,s)}this.renderedToTile?(d.dirty=!0,l.push(o.tileID)):p||--c,5===c&&(c=0,this.renderToBackBuffer(l))}return this.renderToBackBuffer(l),this.renderingToTexture=!1,r.bindFramebuffer.set(null),r.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}isLayerOrderingCorrect(e){const t=e.order.length;let i=-1,r=t;for(let n=0;ni}getMinElevationBelowMSL(){let e=0;return this._visibleDemTiles.filter((e=>e.dem)).forEach((t=>{e=Math.min(e,t.dem.tree.minimums[0])})),0===e?e:(e-30)*this._exaggeration}raycast(e,t,i){if(!this._visibleDemTiles)return null;const r=this._visibleDemTiles.filter((e=>e.dem)).map((r=>{const n=r.tileID,o=1<(null!==e.t?e.t:Number.MAX_VALUE)-(null!==t.t?t.t:Number.MAX_VALUE)));for(const n of r){if(null==n.t)return null;const r=n.tile.dem.tree.raycast(n.minx,n.miny,n.maxx,n.maxy,e,t,i);if(null!=r)return r}return null}_createFBO(){const t=this.painter.context,i=t.gl,r=this.drapeBufferSize;t.activeTexture.set(i.TEXTURE0);const n=new e.T(t,{width:r[0],height:r[1],data:null},i.RGBA);n.bind(i.LINEAR,i.CLAMP_TO_EDGE);const o=t.createFramebuffer(r[0],r[1],!0,null);return o.colorAttachment.set(n.texture),o.depthAttachment=new Et(t,o.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=t.createRenderbuffer(t.gl.DEPTH_STENCIL,r[0],r[1]),this._stencilRef=0,o.depthAttachment.set(this._sharedDepthStencil),t.clear({stencil:0})):o.depthAttachment.set(this._sharedDepthStencil),t.extTextureFilterAnisotropic&&i.texParameterf(i.TEXTURE_2D,t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.extTextureFilterAnisotropicMax),{fb:o,tex:n,dirty:!1}}_initFBOPool(){for(;this.pool.length{const t=this._style._mergedLayers[e],i=t.isHidden(this.painter.transform.zoom);return"custom"===t.type?!i&&t.shouldRedrape():!i&&t.hasTransition()}))}_clearLineLayersFromRenderCache(){let t=!1;for(const e of this._style.getSources())if(e instanceof Ce){t=!0;break}if(!t)return;const i={};for(let r=0;re>t.end))||e.w("fill-extrusion with flood lighting and/or ground ambient occlusion should be moved to be on top of all draped layers.")}this._drapedRenderBatches=r}_setupRenderCache(e){const t=this.proxySourceCache;if(this._shouldDisableRenderCache()||this.invalidateRenderCache){if(this.invalidateRenderCache=!1,t.renderCache.length>t.renderCachePool.length){const e=Object.values(t.proxyCachedFBO);t.proxyCachedFBO={};for(let i=0;i=0;o--){const n=i[o];if(t.getTileByID(n.key),void 0!==t.proxyCachedFBO[n.key]){const i=e[n.key],o=this.proxyToSource[n.key];let s=0;for(const e in o){const t=o[e],n=i[e];if(!n||n.length!==t.length||t.some(((t,i)=>t!==n[i]||r[e]&&r[e].hasOwnProperty(t.key)))){s=-1;break}++s}for(const e in t.proxyCachedFBO[n.key])t.renderCache[t.proxyCachedFBO[n.key][e]].dirty=s<0||s!==Object.values(i).length}}const n=[...this._drapedRenderBatches];n.sort(((e,t)=>t.end-t.start-(e.end-e.start)));for(const o of n)for(const e of i){if(t.proxyCachedFBO[e.key])continue;let i=t.renderCachePool.pop();void 0===i&&t.renderCache.length<50&&(i=t.renderCache.length,t.renderCache.push(this._createFBO())),void 0!==i&&(t.proxyCachedFBO[e.key]={},t.proxyCachedFBO[e.key][o.start]=i,t.renderCache[i].dirty=!0)}this._tilesDirty={}}_setupStencil(e,t,i,r){if(!r||!this._sourceTilesOverlap[r.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const n=this.painter.context,o=n.gl;if(t.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=t.length,this._overlapStencilMode.test={func:o.EQUAL,mask:255},this._overlapStencilType="Clip";else{if(!(t[0].overscaledZ>t[t.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:o.GREATER,mask:255},this._overlapStencilType="Mask"}this._stencilRef+s>255&&(n.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(t,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return"Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(e){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[e.key]),this._overlapStencilMode):It.disabled}_renderTileClippingMasks(e,t){const i=this.painter,r=this.painter.context,n=r.gl;i._tileClippingMaskIDs={},r.setColorMode(Pt.disabled),r.setDepthMode(Mt.disabled);const o=i.getOrCreateProgram("clippingMask");for(const s of e){const e=i._tileClippingMaskIDs[s.key]=--t;o.draw(i,n.TRIANGLES,Mt.disabled,new It({func:n.ALWAYS,mask:0},e,255,n.KEEP,n.KEEP,n.REPLACE),Pt.disabled,Rt.disabled,cn(s.projMatrix),"$clipping",i.tileExtentBuffer,i.quadTriangleIndexBuffer,i.tileExtentSegments)}}pointCoordinate(t){const i=this.painter.transform;if(t.x<0||t.x>i.width||t.y<0||t.y>i.height)return null;const r=[t.x,t.y,1,1];e.aa.transformMat4(r,r,i.pixelMatrixInverse),e.aa.scale(r,r,1/r[3]),r[0]/=i.worldSize,r[1]/=i.worldSize;const n=i._camera.position,o=e.bo(1,i.center.lat),s=[n[0],n[1],n[2]/o,0],a=e.Q.subtract([],r.slice(0,3),s);e.Q.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(e.Q.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=o,s):null}drawDepth(){const t=this.painter,i=t.context,r=this.proxySourceCache,n=Math.ceil(t.width),o=Math.ceil(t.height);if(!this._depthFBO||this._depthFBO.width===n&&this._depthFBO.height===o||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const t=i.gl,r=i.createFramebuffer(n,o,!0,"renderbuffer");i.activeTexture.set(t.TEXTURE0);const s=new e.T(i,{width:n,height:o,data:null},t.RGBA);s.bind(t.NEAREST,t.CLAMP_TO_EDGE),r.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,n,o);r.depthAttachment.set(a),this._depthFBO=r,this._depthTexture=s}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,n,o]),function(e,t,i,r){if("globe"===e.transform.projection.name)return;const n=e.context,o=n.gl;n.clear({depth:1});const s=e.getOrCreateProgram("terrainDepth"),a=new Mt(o.LESS,Mt.ReadWrite,e.depthRangeFor3D);for(const l of r){const r=i.getTile(l),n=tn(l.projMatrix,0,[0,0,0]);t.setupElevationDraw(r,s),s.draw(e,o.TRIANGLES,a,It.disabled,Pt.unblended,Rt.backCCW,n,"terrain_depth",t.gridBuffer,t.gridIndexBuffer,t.gridNoSkirtSegments)}}(t,this,r,this.proxyCoords)}_setupProxiedCoordsForOrtho(t,i,r){if(t.getSource()instanceof e.as)return this._setupProxiedCoordsForImageSource(t,i,r);this._findCoveringTileCache[t.id]=this._findCoveringTileCache[t.id]||{};const n=this.proxiedCoords[t.id]=[],o=this.proxyCoords;for(let e=0;et.overscaledZ-e.overscaledZ))}_setupProxiedCoordsForImageSource(t,i,r){if(!t.getSource().loaded())return;const n=this.proxiedCoords[t.id]=[],o=this.proxyCoords,s=t.getSource(),a=s.tileID;if(!a)return;const l=new e.P(a.x,a.y)._div(1<(e.min.x=Math.min(e.min.x,t.x-l.x),e.min.y=Math.min(e.min.y,t.y-l.y),e.max.x=Math.max(e.max.x,t.x-l.x),e.max.y=Math.max(e.max.y,t.y-l.y),e)),{min:new e.P(Number.MAX_VALUE,Number.MAX_VALUE),max:new e.P(-Number.MAX_VALUE,-Number.MAX_VALUE)}),h=(t,i)=>{const r=t.wrap+t.canonical.x/(1<s+c.max.x||n+oa+c.max.y};for(let e=0;ee.key===i.tileID.key));if(e)return e}if(i.tileID.key!==t.key){const r=t.canonical.z-i.tileID.canonical.z;let o,s,a;n=e.a9.create();const l=i.tileID.wrap-t.wrap<0?(o=e.Y>>r,s=o*((i.tileID.canonical.x<=n){const r=t.canonical.z-n;i.getSource().reparseOverscaled?(a=Math.max(t.canonical.z+2,i.transform.tileZoom),s=new e.ap(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r)):0!==r&&(a=n,s=new e.ap(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r))}s.key!==t.key&&(c.push(s.key),r=i.getTile(s))}const h=e=>{c.forEach((t=>{n[t]=e})),c.length=0};for(a-=1;a>=l&&(!r||!r.hasData());a--){r&&h(r.tileID.key);const e=s.calculateScaledKey(a);if(r=i.getTileByID(e),r&&r.hasData())break;const t=n[e];if(null===t)break;void 0===t?c.push(e):r=i.getTileByID(t)}return h(r?r.tileID.key:null),r&&r.hasData()?r:null}findDEMTileFor(e){return this.enabled?this._findTileCoveringTileID(e,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(e,t){let i=this._tilesDirty[e];i||(i=this._tilesDirty[e]={}),i[t.key]=!0}}function mn(t,i,r){const n=function(t,i,r){const n=e.Q.dot(i,t),o=e.Q.dot(r,[.2126,.7152,.0722]),s=(e,t,i)=>(1-i)*e+i*t,a=s(1-.3*Math.min(o,1),1,Math.min(n+1,1));return s(.92,1,Math.asin(e.ad(i[2],-1,1))/Math.PI+.5)*a}(t,[0,0,1],i),o=[0,0,0];e.Q.scale(o,r.slice(0,3),n);const s=[0,0,0];e.Q.scale(s,i.slice(0,3),t[2]);const a=[0,0,0];return e.Q.add(a,o,s),e.bX(a)}const _n=["fill","fillOutline","fillPattern","line","linePattern","background","backgroundPattern","hillshade","raster"],gn=["stars","fillExtrusion","fillExtrusionGroundEffect","model","symbolSDF","symbolIcon","symbolTextAndIcon"];class yn{static cacheKey(e,t,i,r){let n=`${t}${r?r.cacheKey:""}`;for(const o of i)e.usedDefines.includes(o)&&(n+=`/${o}`);return n}constructor(t,i,r,n,o,s){const a=t.gl;this.program=a.createProgram(),this.configuration=n,this.name=i,this.fixedDefines=[...s];const l=n?n.getBinderAttributes():[],c=(r.staticAttributes||[]).concat(l);let h=n?n.defines():[];h=h.concat(s.map((e=>`#define ${e}`)));const u="#version 300 es\n";let d=u+h.concat("precision mediump float;",Zr,qr.fragmentSource).join("\n");for(const e of r.fragmentIncludes)d+=`\n${jr[e]}`;d+=`\n${r.fragmentSource}`;let p=u+h.concat("precision highp float;",Zr,qr.vertexSource).join("\n");for(const e of r.vertexIncludes)p+=`\n${jr[e]}`;p+=`\n${r.vertexSource}`;const f=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(f,d),a.compileShader(f),a.attachShader(this.program,f);const m=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(m,p),a.compileShader(m),a.attachShader(this.program,m),this.attributes={},this.numAttributes=c.length;for(let e=0;e({u_dem:new e.bR(t),u_dem_prev:new e.bR(t),u_dem_tl:new e.bO(t),u_dem_scale:new e.bQ(t),u_dem_tl_prev:new e.bO(t),u_dem_scale_prev:new e.bQ(t),u_dem_size:new e.bQ(t),u_dem_lerp:new e.bQ(t),u_exaggeration:new e.bQ(t),u_depth:new e.bR(t),u_depth_size_inv:new e.bO(t),u_meter_to_dem:new e.bQ(t),u_label_plane_matrix_inv:new e.bN(t)}))(t)),s.includes("GLOBE")&&(this.globeUniforms=(t=>({u_tile_tl_up:new e.bP(t),u_tile_tr_up:new e.bP(t),u_tile_br_up:new e.bP(t),u_tile_bl_up:new e.bP(t),u_tile_up_scale:new e.bQ(t)}))(t)),s.includes("FOG")&&(this.fogUniforms=(t=>({u_fog_matrix:new e.bN(t),u_fog_range:new e.bO(t),u_fog_color:new e.bS(t),u_fog_horizon_blend:new e.bQ(t),u_fog_vertical_limit:new e.bO(t),u_fog_temporal_offset:new e.bQ(t),u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_globe_pos:new e.bP(t),u_globe_radius:new e.bQ(t),u_globe_transition:new e.bQ(t),u_is_globe:new e.bR(t),u_viewport:new e.bO(t)}))(t)),s.includes("RENDER_CUTOFF")&&(this.cutoffUniforms=(t=>({u_cutoff_params:new e.bS(t)}))(t)),s.includes("LIGHTING_3D_MODE")&&(this.lightsUniforms=(t=>({u_lighting_ambient_color:new e.bP(t),u_lighting_directional_dir:new e.bP(t),u_lighting_directional_color:new e.bP(t),u_ground_radiance:new e.bP(t)}))(t)),s.includes("RENDER_SHADOWS")&&(this.shadowUniforms=(t=>({u_light_matrix_0:new e.bN(t),u_light_matrix_1:new e.bN(t),u_fade_range:new e.bO(t),u_shadow_normal_offset:new e.bP(t),u_shadow_intensity:new e.bQ(t),u_shadow_texel_size:new e.bQ(t),u_shadow_map_resolution:new e.bQ(t),u_shadow_direction:new e.bP(t),u_shadow_bias:new e.bP(t),u_shadowmap_0:new e.bR(t),u_shadowmap_1:new e.bR(t)}))(t))}}setTerrainUniformValues(e,t){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setGlobeUniformValues(e,t){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setFogUniformValues(e,t){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setCutoffUniformValues(e,t){if(!this.cutoffUniforms)return;const i=this.cutoffUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setLightsUniformValues(e,t){if(!this.lightsUniforms)return;const i=this.lightsUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setShadowUniformValues(e,t){if(this.failedToCreate||!this.shadowUniforms)return;const i=this.shadowUniforms;e.program.set(this.program);for(const r in t)i[r].set(this.program,r,t[r])}_drawDebugWireframe(t,i,r,n,o,s,a,l,c,h){const u=t.options.wireframe;if(!1===u.terrain&&!1===u.layers2D&&!1===u.layers3D)return;const d=t.context;if(!(()=>!(!u.terrain||"terrainRaster"!==this.name&&"globeRaster"!==this.name)||!(!u.layers2D||t._terrain&&t._terrain.renderingToTexture||!_n.includes(this.name))||!(!u.layers3D||!gn.includes(this.name)))())return;const p=d.gl,f=t.wireframeDebugCache.getLinesFromTrianglesBuffer(t.frameCounter,o,d);if(!f)return;const m=[...this.fixedDefines];m.push("DEBUG_WIREFRAME");const _=t.getOrCreateProgram(this.name,{config:this.configuration,defines:m});d.program.set(_.program);const g=(e,t,i)=>{if(t[e]&&i[e])for(const r in t[e])i[e][r]&&i[e][r].set(i.program,r,t[e][r].current)};c&&c.setUniforms(_.program,d,_.binderUniforms,a,{zoom:l}),g("fixedUniforms",this,_),g("terrainUniforms",this,_),g("globeUniforms",this,_),g("fogUniforms",this,_),g("lightsUniforms",this,_),g("shadowUniforms",this,_),f.bind(),d.setColorMode(new Pt([p.ONE,p.ONE_MINUS_SRC_ALPHA,p.ZERO,p.ONE],e.aA.transparent,[!0,!0,!0,!1])),d.setDepthMode(new Mt(i.func===p.LESS?p.LEQUAL:i.func,Mt.ReadOnly,i.range)),d.setStencilMode(It.disabled);const y=3*s.primitiveLength*2,x=3*s.primitiveOffset*2*2;h&&h>1?p.drawElementsInstanced(p.LINES,y,p.UNSIGNED_SHORT,x,h):p.drawElements(p.LINES,y,p.UNSIGNED_SHORT,x),o.bind(),d.program.set(this.program),d.setDepthMode(i),d.setStencilMode(r),d.setColorMode(n)}draw(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=e.context,g=_.gl;if(this.failedToCreate)return;_.program.set(this.program),_.setDepthMode(i),_.setStencilMode(r),_.setColorMode(n),_.setCullFace(o);for(const v of Object.keys(this.fixedUniforms))this.fixedUniforms[v].set(this.program,v,s[v]);p&&p.setUniforms(this.program,_,this.binderUniforms,u,{zoom:d});const y={[g.POINTS]:1,[g.LINES]:2,[g.TRIANGLES]:3,[g.LINE_STRIP]:1}[t],x=m&&m>0?1:void 0;for(const v of h.get()){const o=v.vaos||(v.vaos={});(o[a]||(o[a]=new Hr)).bind(_,this,l,p?p.getPaintVertexBuffers():[],c,v.vertexOffset,f||[],x),m&&m>1?g.drawElementsInstanced(t,v.primitiveLength*y,g.UNSIGNED_SHORT,v.primitiveOffset*y*2,m):c?g.drawElements(t,v.primitiveLength*y,g.UNSIGNED_SHORT,v.primitiveOffset*y*2):g.drawArrays(t,v.vertexOffset,v.vertexLength),t===g.TRIANGLES&&c&&this._drawDebugWireframe(e,i,r,n,c,v,u,d,p,m)}}}function xn(t,i){const r=Math.pow(2,i.tileID.overscaledZ),n=i.tileSize*Math.pow(2,t.transform.tileZoom)/r,o=n*(i.tileID.canonical.x+i.tileID.wrap*r),s=n*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture?i.imageAtlasTexture.size:[0,0],u_tile_units_to_pixels:1/e.a6(i,1,t.transform.tileZoom),u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const vn=e.a9.create(),bn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>{const g=i.style.light,y=g.properties.get("position"),x=[y.x,y.y,y.z],v=e.ct.create();"viewport"===g.properties.get("anchor")&&(e.ct.fromRotation(v,-i.transform.angle),e.Q.transformMat3(x,x,v));const b=g.properties.get("color"),w=i.transform,T={u_matrix:t,u_lightpos:x,u_lightintensity:g.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_vertical_gradient:+r,u_opacity:n,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:vn,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:o,u_edge_radius:s,u_flood_light_color:d,u_vertical_scale:p,u_flood_light_intensity:f,u_ground_shadow_factor:m,u_emissive_strength:_};return"globe"===w.projection.name&&(T.u_tile_id=[a.canonical.x,a.canonical.y,1<({u_matrix:e,u_edge_radius:t,u_vertical_scale:i}),Tn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f)=>{const m=bn(t,i,r,n,o,s,a,c,h,u,d,p,f,1,[0,0,0],0),_={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return e.e(m,xn(i,l),_)},En=(e,t)=>({u_matrix:e,u_emissive_strength:t}),Sn=(t,i,r,n)=>e.e(En(t,i),xn(r,n)),Mn=(e,t,i)=>({u_matrix:e,u_world:i,u_emissive_strength:t}),An=(t,i,r,n,o)=>e.e(Sn(t,i,r,n),{u_world:o}),In=(t,i,r,n)=>{const o=e.Y/r.tileSize;return{u_matrix:t,u_camera_to_center_distance:i.getCameraToCenterDistance(n),u_extrude_scale:[i.pixelsToGLUnits[0]/o,i.pixelsToGLUnits[1]/o]}},Cn=function(e,t){return{u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:arguments.length>2&&void 0!==arguments[2]?arguments[2]:1}},Pn=e.a9.create(),zn=(t,i,r,n,o,s,a)=>{const l=t.transform,c="globe"===l.projection.name,h=c?e.cu(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:e.a6(r,1,s),u={u_matrix:i.projMatrix,u_extrude_scale:h,u_intensity:a,u_inv_rot_matrix:Pn,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){u.u_inv_rot_matrix=n,u.u_merc_center=o,u.u_tile_id=[i.canonical.x,i.canonical.y,1<({u_matrix:t,u_normalize_matrix:i,u_globe_matrix:r,u_merc_matrix:n,u_grid_matrix:o,u_tl_parent:s,u_scale_parent:h,u_fade_t:u.mix,u_opacity:u.opacity*d.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:d.paint.get("raster-brightness-min"),u_brightness_high:d.paint.get("raster-brightness-max"),u_saturation_factor:e.cv(d.paint.get("raster-saturation")),u_contrast_factor:e.cw(d.paint.get("raster-contrast")),u_spin_weights:kn(d.paint.get("raster-hue-rotate")),u_perspective_transform:p,u_raster_elevation:f,u_zoom_transition:a,u_merc_center:l,u_cutoff_params:c,u_colorization_mix:Dn(e.cx,_,y),u_colorization_offset:Rn(e.cx,g,y),u_color_ramp:m,u_texture_offset:[v/(x+2*v),x/(x+2*v)],u_texture_res:[x+2*v,x+2*v],u_emissive_strength:b});function kn(e){e*=Math.PI/180;const t=Math.sin(e),i=Math.cos(e);return[(2*i+1)/3,(-Math.sqrt(3)*t-i+1)/3,(Math.sqrt(3)*t-i+1)/3]}const On=(e,t,i,r,n,o,s,a,l,c,h,u)=>({u_matrix:e,u_normalize_matrix:t,u_globe_matrix:i,u_merc_matrix:r,u_grid_matrix:n,u_tl_parent:o,u_scale_parent:c,u_fade_t:h.mix,u_opacity:h.opacity,u_image0:0,u_image1:1,u_raster_elevation:u,u_zoom_transition:s,u_merc_center:a,u_cutoff_params:l}),Bn=(e,t,i,r,n,o,s,a,l,c)=>({u_particle_texture:e,u_particle_texture_side_len:t,u_tile_offset:i,u_velocity:r,u_color_ramp:o,u_velocity_res:n,u_max_speed:s,u_uv_offset:a,u_data_scale:l,u_data_offset:c,u_particle_pos_scale:1.3,u_particle_pos_offset:[Ot,Ot]}),Fn=(e,t,i,r,n,o,s,a,l,c)=>({u_particle_texture:e,u_particle_texture_side_len:t,u_velocity:i,u_velocity_res:r,u_max_speed:n,u_speed_factor:o,u_reset_rate:s,u_rand_seed:Math.random(),u_uv_offset:a,u_data_scale:l,u_data_offset:c,u_particle_pos_scale:1.3,u_particle_pos_offset:[Ot,Ot]}),Nn=e.a9.create(),Vn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y)=>{const x=o.transform,v={u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:x.getCameraToCenterDistance(_),u_rotate_symbol:+r,u_aspect_ratio:x.width/x.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+n,u_texsize:h,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:Nn,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:Nn,u_up_vector:[0,-1,0],u_color_adj_mat:g,u_icon_transition:y||0};return"globe"===_.name&&(v.u_tile_id=[u.canonical.x,u.canonical.y,1<e.e(Vn(t,i,r,n,o,s,a,l,c,h,d,p,f,m,_,g),{u_gamma_scale:n?o.transform.getCameraToCenterDistance(g)*Math.cos(o.terrain?0:o.transform._pitch):1,u_device_pixel_ratio:e.f.devicePixelRatio,u_is_halo:+u,undefined:void 0}),jn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>e.e(Un(t,i,r,n,o,s,a,l,!0,c,!0,u,d,p,f,m,_),{u_texsize_icon:h,u_texture_icon:1}),Gn=(e,t,i,r)=>({u_matrix:e,u_emissive_strength:t,u_opacity:i,u_color:r}),qn=(t,i,r,n,o,s,a)=>e.e(function(t,i,r,n){const o=r.imageManager.getPattern(t.toString(),i),{width:s,height:a}=r.imageManager.getPixelSize(i),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,h=c*(n.tileID.canonical.x+n.tileID.wrap*l),u=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl:o.tl,u_pattern_br:o.br,u_texsize:[s,a],u_pattern_size:o.displaySize,u_tile_units_to_pixels:1/e.a6(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(o,s,n,a),{u_matrix:t,u_emissive_strength:i,u_opacity:r}),Zn=new Float32Array(e.a9.identity([])),$n=function(t,i,r,n,o,s,a,l,c,h,u,d,p){let f=arguments.length>13&&void 0!==arguments[13]?arguments[13]:[0,0,0],m=arguments.length>14?arguments[14]:void 0;const _=o.style.light,g=_.properties.get("position"),y=[-g.x,-g.y,g.z],x=e.ct.create();"viewport"===_.properties.get("anchor")&&(e.ct.fromRotation(x,-o.transform.angle),e.Q.transformMat3(y,y,x));const v="MASK"===u.alphaMode,b=_.properties.get("color"),w=p.paint.get("model-ambient-occlusion-intensity"),T=p.paint.get("model-color").constantOr(e.aA.white),E=p.paint.get("model-color-mix-intensity").constantOr(0);return{u_matrix:t,u_lighting_matrix:i,u_normal_matrix:r,u_node_matrix:n||Zn,u_lightpos:y,u_lightintensity:_.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_camera_pos:f,u_opacity:s,u_baseTextureIsAlpha:0,u_alphaMask:+v,u_alphaCutoff:u.alphaCutoff,u_baseColorFactor:[a.r,a.g,a.b,a.a],u_emissiveFactor:[l[0],l[1],l[2],1],u_metallicFactor:c,u_roughnessFactor:h,u_baseColorTexture:fr.BaseColor,u_metallicRoughnessTexture:fr.MetallicRoughness,u_normalTexture:fr.Normal,u_occlusionTexture:fr.Occlusion,u_emissionTexture:fr.Emission,u_color_mix:[T.r,T.g,T.b,E],u_aoIntensity:w,u_emissive_strength:d,u_occlusionTextureTransform:m||[0,0,0,0]}},Wn=function(e){return{u_matrix:e,u_instance:arguments.length>1&&void 0!==arguments[1]?arguments[1]:Zn,u_node_matrix:arguments.length>2&&void 0!==arguments[2]?arguments[2]:Zn}},Qn={fillExtrusion:t=>({u_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_vertical_gradient:new e.bQ(t),u_opacity:new e.bQ(t),u_edge_radius:new e.bQ(t),u_ao:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_up_dir:new e.bP(t),u_height_lift:new e.bQ(t),u_flood_light_color:new e.bP(t),u_vertical_scale:new e.bQ(t),u_flood_light_intensity:new e.bQ(t),u_ground_shadow_factor:new e.bP(t),u_emissive_strength:new e.bQ(t)}),fillExtrusionDepth:t=>({u_matrix:new e.bN(t),u_edge_radius:new e.bQ(t),u_vertical_scale:new e.bQ(t)}),fillExtrusionPattern:t=>({u_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_vertical_gradient:new e.bQ(t),u_height_factor:new e.bQ(t),u_edge_radius:new e.bQ(t),u_ao:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_up_dir:new e.bP(t),u_height_lift:new e.bQ(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t),u_opacity:new e.bQ(t)}),fillExtrusionGroundEffect:t=>({u_matrix:new e.bN(t),u_opacity:new e.bQ(t),u_ao_pass:new e.bQ(t),u_meter_to_tile:new e.bQ(t),u_ao:new e.bO(t),u_flood_light_intensity:new e.bQ(t),u_flood_light_color:new e.bP(t),u_attenuation:new e.bQ(t),u_edge_radius:new e.bQ(t),u_fb:new e.bR(t),u_fb_size:new e.bQ(t)}),fill:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t)}),fillPattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),fillOutline:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_world:new e.bO(t)}),fillOutlinePattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_world:new e.bO(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),circle:e.cz,collisionBox:t=>({u_matrix:new e.bN(t),u_camera_to_center_distance:new e.bQ(t),u_extrude_scale:new e.bO(t)}),collisionCircle:t=>({u_matrix:new e.bN(t),u_inv_matrix:new e.bN(t),u_camera_to_center_distance:new e.bQ(t),u_viewport_size:new e.bO(t)}),debug:t=>({u_color:new e.cf(t),u_matrix:new e.bN(t),u_overlay:new e.bR(t),u_overlay_scale:new e.bQ(t)}),clippingMask:t=>({u_matrix:new e.bN(t)}),heatmap:t=>({u_extrude_scale:new e.bQ(t),u_intensity:new e.bQ(t),u_matrix:new e.bN(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_up_dir:new e.bP(t)}),heatmapTexture:t=>({u_image:new e.bR(t),u_color_ramp:new e.bR(t),u_opacity:new e.bQ(t)}),hillshade:t=>({u_matrix:new e.bN(t),u_image:new e.bR(t),u_latrange:new e.bO(t),u_light:new e.bO(t),u_shadow:new e.cf(t),u_highlight:new e.cf(t),u_emissive_strength:new e.bQ(t),u_accent:new e.cf(t)}),hillshadePrepare:t=>({u_matrix:new e.bN(t),u_image:new e.bR(t),u_dimension:new e.bO(t),u_zoom:new e.bQ(t)}),line:e.cA,linePattern:e.cB,raster:t=>({u_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_grid_matrix:new e.cg(t),u_tl_parent:new e.bO(t),u_scale_parent:new e.bQ(t),u_fade_t:new e.bQ(t),u_opacity:new e.bQ(t),u_image0:new e.bR(t),u_image1:new e.bR(t),u_brightness_low:new e.bQ(t),u_brightness_high:new e.bQ(t),u_saturation_factor:new e.bQ(t),u_contrast_factor:new e.bQ(t),u_spin_weights:new e.bP(t),u_perspective_transform:new e.bO(t),u_raster_elevation:new e.bQ(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_cutoff_params:new e.bS(t),u_colorization_mix:new e.bS(t),u_colorization_offset:new e.bQ(t),u_color_ramp:new e.bR(t),u_texture_offset:new e.bO(t),u_texture_res:new e.bO(t),u_emissive_strength:new e.bQ(t)}),rasterParticle:t=>({u_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_grid_matrix:new e.cg(t),u_tl_parent:new e.bO(t),u_scale_parent:new e.bQ(t),u_fade_t:new e.bQ(t),u_opacity:new e.bQ(t),u_image0:new e.bR(t),u_image1:new e.bR(t),u_raster_elevation:new e.bQ(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_cutoff_params:new e.bS(t)}),rasterParticleTexture:t=>({u_texture:new e.bR(t),u_opacity:new e.bQ(t)}),rasterParticleDraw:t=>({u_particle_texture:new e.bR(t),u_particle_texture_side_len:new e.bQ(t),u_tile_offset:new e.bO(t),u_velocity:new e.bR(t),u_color_ramp:new e.bR(t),u_velocity_res:new e.bO(t),u_max_speed:new e.bQ(t),u_uv_offset:new e.bO(t),u_data_scale:new e.bS(t),u_data_offset:new e.bQ(t),u_particle_pos_scale:new e.bQ(t),u_particle_pos_offset:new e.bO(t)}),rasterParticleUpdate:t=>({u_particle_texture:new e.bR(t),u_particle_texture_side_len:new e.bQ(t),u_velocity:new e.bR(t),u_velocity_res:new e.bO(t),u_max_speed:new e.bQ(t),u_speed_factor:new e.bQ(t),u_reset_rate:new e.bQ(t),u_rand_seed:new e.bQ(t),u_uv_offset:new e.bO(t),u_data_scale:new e.bS(t),u_data_offset:new e.bQ(t),u_particle_pos_scale:new e.bQ(t),u_particle_pos_offset:new e.bO(t)}),symbolIcon:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_camera_forward:new e.bP(t),u_tile_matrix:new e.bN(t),u_up_vector:new e.bP(t),u_ecef_origin:new e.bP(t),u_texture:new e.bR(t),u_icon_transition:new e.bQ(t),u_color_adj_mat:new e.bN(t)}),symbolSDF:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_texture:new e.bR(t),u_gamma_scale:new e.bQ(t),u_device_pixel_ratio:new e.bQ(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_camera_forward:new e.bP(t),u_tile_matrix:new e.bN(t),u_up_vector:new e.bP(t),u_ecef_origin:new e.bP(t),u_is_halo:new e.bR(t)}),symbolTextAndIcon:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_texsize_icon:new e.bO(t),u_texture:new e.bR(t),u_texture_icon:new e.bR(t),u_gamma_scale:new e.bQ(t),u_device_pixel_ratio:new e.bQ(t),u_is_halo:new e.bR(t)}),background:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_opacity:new e.bQ(t),u_color:new e.cf(t)}),backgroundPattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_opacity:new e.bQ(t),u_image:new e.bR(t),u_pattern_tl:new e.bO(t),u_pattern_br:new e.bO(t),u_texsize:new e.bO(t),u_pattern_size:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),terrainRaster:en,terrainDepth:en,skybox:t=>({u_matrix:new e.bN(t),u_sun_direction:new e.bP(t),u_cubemap:new e.bR(t),u_opacity:new e.bQ(t),u_temporal_offset:new e.bQ(t)}),skyboxGradient:t=>({u_matrix:new e.bN(t),u_color_ramp:new e.bR(t),u_center_direction:new e.bP(t),u_radius:new e.bQ(t),u_opacity:new e.bQ(t),u_temporal_offset:new e.bQ(t)}),skyboxCapture:t=>({u_matrix_3f:new e.cg(t),u_sun_direction:new e.bP(t),u_sun_intensity:new e.bQ(t),u_color_tint_r:new e.bS(t),u_color_tint_m:new e.bS(t),u_luminance:new e.bQ(t)}),globeRaster:t=>({u_proj_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_image0:new e.bR(t),u_grid_matrix:new e.cg(t),u_skirt_height:new e.bQ(t),u_far_z_cutoff:new e.bQ(t),u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_globe_pos:new e.bP(t),u_globe_radius:new e.bQ(t),u_viewport:new e.bO(t)}),globeAtmosphere:t=>({u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_horizon:new e.bQ(t),u_transition:new e.bQ(t),u_fadeout_range:new e.bQ(t),u_color:new e.bS(t),u_high_color:new e.bS(t),u_space_color:new e.bS(t),u_temporal_offset:new e.bQ(t),u_horizon_angle:new e.bQ(t)}),model:t=>({u_matrix:new e.bN(t),u_lighting_matrix:new e.bN(t),u_normal_matrix:new e.bN(t),u_node_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_camera_pos:new e.bP(t),u_opacity:new e.bQ(t),u_baseColorFactor:new e.bS(t),u_emissiveFactor:new e.bS(t),u_metallicFactor:new e.bQ(t),u_roughnessFactor:new e.bQ(t),u_baseTextureIsAlpha:new e.bR(t),u_alphaMask:new e.bR(t),u_alphaCutoff:new e.bQ(t),u_baseColorTexture:new e.bR(t),u_metallicRoughnessTexture:new e.bR(t),u_normalTexture:new e.bR(t),u_occlusionTexture:new e.bR(t),u_emissionTexture:new e.bR(t),u_color_mix:new e.bS(t),u_aoIntensity:new e.bQ(t),u_emissive_strength:new e.bQ(t),u_occlusionTextureTransform:new e.bS(t)}),modelDepth:t=>({u_matrix:new e.bN(t),u_instance:new e.bN(t),u_node_matrix:new e.bN(t)}),groundShadow:t=>({u_matrix:new e.bN(t),u_ground_shadow_factor:new e.bP(t)}),stars:t=>({u_matrix:new e.bN(t),u_up:new e.bP(t),u_right:new e.bP(t),u_intensity_multiplier:new e.bQ(t)})};let Hn;function Xn(t,i,r,n,o,s,a){const l=t.context,c=l.gl,h=t.transform,u=t.getOrCreateProgram("collisionBox"),d=[];let p=0,f=0;for(let b=0;b0){const t=e.a9.create(),i=y;e.a9.mul(t,_.placementInvProjMatrix,h.glCoordMatrix),e.a9.mul(t,t,_.placementViewportMatrix),d.push({circleArray:v,circleOffset:f,transform:i,invTransform:t,projection:_.getProjection()}),p+=v.length/4,f=p}x&&(t.terrain&&t.terrain.setupElevationDraw(m,u),u.draw(t,c.LINES,Mt.disabled,It.disabled,t.colorModeForRenderPass(),Rt.disabled,In(y,h,m,_.getProjection()),r.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,h.zoom,null,[x.collisionVertexBuffer,x.collisionVertexBufferExt]))}if(!a||!d.length)return;const m=t.getOrCreateProgram("collisionCircle"),_=new e.cC;_.resize(4*p),_._trim();let g=0;for(const e of d)for(let t=0;t=0&&(m[f.associatedIconIndex]={x:S,y:M,z:A,angle:D})}else Mi(T,p)}if(u){f.clear();const i=t.icon.placedSymbolArray;for(let t=0;t6&&void 0!==arguments[6]?arguments[6]:{};const l=r.paint.get("icon-translate"),c=r.paint.get("text-translate"),h=r.paint.get("icon-translate-anchor"),u=r.paint.get("text-translate-anchor"),d=r.layout.get("icon-rotation-alignment"),p=r.layout.get("text-rotation-alignment"),f=r.layout.get("icon-pitch-alignment"),m=r.layout.get("text-pitch-alignment"),_=r.layout.get("icon-keep-upright"),g=r.layout.get("text-keep-upright"),y=r.paint.get("icon-color-saturation"),x=r.paint.get("icon-color-contrast"),v=r.paint.get("icon-color-brightness-min"),b=r.paint.get("icon-color-brightness-max"),w=t.context,T=w.gl,E=t.transform,S="map"===d,M="map"===p,A="map"===f,I="map"===m,C=void 0!==r.layout.get("symbol-sort-key").constantOr(1);let P=!1;const z=t.depthModeForSublayer(0,Mt.ReadOnly),D=[e.a8(E.center.lng),e.ah(E.center.lat)],R=r.layout.get("text-variable-anchor"),L="globe"===E.projection.name,k=[],O=[0,-1,0];for(const B of n){const n=i.getTile(B),o=n.getBucket(r);if(!o)continue;if("mercator"===o.projection.name&&L)continue;if(o.fullyClipped)continue;const s="globe"===o.projection.name,d=s?e.W(E.zoom):0,p=Di(B,o.getProjection(),E),f=E.calculatePixelsToTileUnitsMatrix(n),m=R&&o.hasTextData(),w=o.hasIconTextFit()&&m&&o.hasIconData(),z=o.getProjection().createInversionMatrix(E,B.canonical),F=()=>{const i=S&&"point"!==r.layout.get("symbol-placement"),a=[],c=i||w,u=r.paint.get("icon-image-cross-fade").constantOr(0);t.terrainRenderModeElevated()&&A&&a.push("PITCH_WITH_MAP_TERRAIN"),s&&(a.push("PROJECTION_GLOBE_VIEW"),c&&a.push("PROJECTED_POS_ON_VIEWPORT")),u>0&&a.push("ICON_TRANSITION"),o.icon.zOffsetVertexBuffer&&a.push("Z_OFFSET"),0===y&&0===x&&0===v&&1===b||a.push("COLOR_ADJUSTMENT");const m=o.icon.programConfigurations.get(r.id),g=t.getOrCreateProgram(o.sdfIcons?"symbolSDF":"symbolIcon",{config:m,defines:a});let M;const I=n.imageAtlasTexture?n.imageAtlasTexture.size:[0,0],C=o.iconSizeData,P=e.b8(C,E.zoom),R=A||0!==E.pitch,k=pi(p,n.tileID.canonical,A,S,E,o.getProjection(),f),F=mi(p,n.tileID.canonical,A,S,E,o.getProjection(),f),N=t.translatePosMatrix(F,n,l,h,!0),V=t.translatePosMatrix(p,n,l,h),U=c?Yn:k,j=S&&!A&&!i;let G=O;!L&&!E.mercatorFromTransition||S||(G=Kn(E));const q=s?G:O;if(o.sdfIcons&&!o.iconsInText)M=Un(C.kind,P,j,A,t,V,U,N,!1,I,!0,B,d,D,z,q,o.getProjection());else{const e=r.getColorAdjustmentMatrix(y,x,v,b);M=Vn(C.kind,P,j,A,t,V,U,N,!1,I,B,d,D,z,q,o.getProjection(),e,u)}const Z=n.imageAtlasTexture?n.imageAtlasTexture:null,$=1!==r.layout.get("icon-size").constantOr(0)||o.iconsNeedLinear,W=o.sdfIcons||t.options.rotating||t.options.zooming||$||R?T.LINEAR:T.NEAREST,Q=o.sdfIcons&&0!==r.paint.get("icon-halo-width").constantOr(1),H=t.terrain&&A&&i?e.a9.invert(e.a9.create(),k):Yn;if(i&&o.icon){const e=E.elevation,i=e?e.getAtTileOffsetFunc(B,E.center.lat,E.worldSize,o.getProjection()):null,r=fi(p,n.tileID.canonical,A,S,E,o.getProjection(),f);xi(o,p,t,!1,r,F,A,_,i,B)}return{program:g,buffers:o.icon,uniformValues:M,atlasTexture:Z,atlasTextureIcon:null,atlasInterpolation:W,atlasInterpolationIcon:null,isSDF:o.sdfIcons,hasHalo:Q,tile:n,labelPlaneMatrixInv:H}},N=()=>{const i=M&&"point"!==r.layout.get("symbol-placement"),a=[],l=i||R||w;t.terrainRenderModeElevated()&&I&&a.push("PITCH_WITH_MAP_TERRAIN"),s&&(a.push("PROJECTION_GLOBE_VIEW"),l&&a.push("PROJECTED_POS_ON_VIEWPORT")),o.text.zOffsetVertexBuffer&&a.push("Z_OFFSET");const h=o.text.programConfigurations.get(r.id),m=t.getOrCreateProgram(o.iconsInText?"symbolTextAndIcon":"symbolSDF",{config:h,defines:a});let _,y=[0,0],x=null;const v=o.textSizeData;o.iconsInText&&(y=n.imageAtlasTexture?n.imageAtlasTexture.size:[0,0],x=n.imageAtlasTexture?n.imageAtlasTexture:null,_=I||0!==E.pitch||t.options.rotating||t.options.zooming||"composite"===v.kind||"camera"===v.kind?T.LINEAR:T.NEAREST);const b=n.glyphAtlasTexture?n.glyphAtlasTexture.size:[0,0],S=e.b8(v,E.zoom),A=pi(p,n.tileID.canonical,I,M,E,o.getProjection(),f),C=mi(p,n.tileID.canonical,I,M,E,o.getProjection(),f),P=t.translatePosMatrix(C,n,c,u,!0),k=t.translatePosMatrix(p,n,c,u),F=l?Yn:A,N=M&&!I&&!i;let V=O;!L&&!E.mercatorFromTransition||M||(V=Kn(E));const U=s?V:O;let j;j=o.iconsInText?jn(v.kind,S,N,I,t,k,F,P,b,y,B,d,D,z,U,o.getProjection()):Un(v.kind,S,N,I,t,k,F,P,!0,b,!0,B,d,D,z,U,o.getProjection());const G=n.glyphAtlasTexture?n.glyphAtlasTexture:null,q=T.LINEAR,Z=0!==r.paint.get("text-halo-width").constantOr(1),$=t.terrain&&I&&i?e.a9.invert(e.a9.create(),A):Yn;if(i&&o.text){const e=E.elevation,i=e?e.getAtTileOffsetFunc(B,E.center.lat,E.worldSize,o.getProjection()):null,r=fi(p,n.tileID.canonical,I,M,E,o.getProjection(),f);xi(o,p,t,!0,r,C,I,g,i,B)}return{program:m,buffers:o.text,uniformValues:j,atlasTexture:G,atlasTextureIcon:x,atlasInterpolation:q,atlasInterpolationIcon:_,isSDF:!0,hasHalo:Z,tile:n,labelPlaneMatrixInv:$}},V=o.icon.segments.get().length,U=o.text.segments.get().length,j=V&&!a.onlyText?F():null,G=U&&!a.onlyIcons?N():null,q=r.paint.get("icon-opacity").constantOr(1),Z=r.paint.get("text-opacity").constantOr(1);if(C&&o.canOverlap){P=!0;const t=q&&!a.onlyText?o.icon.segments.get():[],i=Z&&!a.onlyIcons?o.text.segments.get():[];for(const r of t)k.push({segments:new e.aE([r]),sortKey:r.sortKey,state:j});for(const r of i)k.push({segments:new e.aE([r]),sortKey:r.sortKey,state:G})}else a.onlyText||k.push({segments:q?o.icon.segments:new e.aE([]),sortKey:0,state:j}),a.onlyIcons||k.push({segments:Z?o.text.segments:new e.aE([]),sortKey:0,state:G})}P&&k.sort(((e,t)=>e.sortKey-t.sortKey));for(const e of k){const i=e.state;if(i)if(t.terrain&&t.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:E.depthOcclusionForSymbolsAndCircles,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),w.activeTexture.set(T.TEXTURE0),i.atlasTexture&&i.atlasTexture.bind(i.atlasInterpolation,T.CLAMP_TO_EDGE,!0),i.atlasTextureIcon&&(w.activeTexture.set(T.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,T.CLAMP_TO_EDGE,!0)),t.uploadCommonLightUniforms(t.context,i.program),i.hasHalo){const n=i.uniformValues;n.u_is_halo=1,io(i.buffers,e.segments,r,t,i.program,z,o,s,n,2),n.u_is_halo=0}else{if(i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,io(i.buffers,e.segments,r,t,i.program,z,o,s,n,1)),n.u_is_halo=0}io(i.buffers,e.segments,r,t,i.program,z,o,s,i.uniformValues,1)}}}function io(e,t,i,r,n,o,s,a,l,c){const h=[e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer,e.iconTransitioningVertexBuffer,e.globeExtVertexBuffer,e.zOffsetVertexBuffer];n.draw(r,r.context.gl.TRIANGLES,o,s,a,Rt.disabled,l,i.id,e.layoutVertexBuffer,e.indexBuffer,t,i.paint,r.transform.zoom,e.programConfigurations.get(i.id),h,c)}function ro(e,t,i,r,n,o,s){const a=e.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1);let h,u,d,p,f;s?(u=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",h=a.LINES):(u=c?"fillPattern":"fill",h=a.TRIANGLES);for(const m of r){const r=t.getTile(m);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;e.prepareDrawTile();const g=_.programConfigurations.get(i.id),y=e.isTileAffectedByFog(m),x=e.getOrCreateProgram(u,{config:g,overrideFog:y});c&&(e.context.activeTexture.set(a.TEXTURE0),r.imageAtlasTexture&&r.imageAtlasTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),g.updatePaintBuffers());const v=l.constantOr(null);if(v&&r.imageAtlas){const e=r.imageAtlas.patternPositions[v.toString()];e&&g.setConstantPatternPositions(e)}const b=e.translatePosMatrix(m.projMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor")),w=i.paint.get("fill-emissive-strength");if(s){p=_.indexBuffer2,f=_.segments2;const t=e.terrain&&e.terrain.renderingToTexture?e.terrain.drapeBufferSize:[a.drawingBufferWidth,a.drawingBufferHeight];d="fillOutlinePattern"===u&&c?An(b,w,e,r,t):Mn(b,w,t)}else p=_.indexBuffer,f=_.segments,d=c?Sn(b,w,e,r):En(b,w);e.uploadCommonUniforms(e.context,x,m.toUnwrapped()),x.draw(e,h,n,e.stencilModeForClipping(m),o,Rt.disabled,d,i.id,_.layoutVertexBuffer,p,f,i.paint,e.transform.zoom,g,void 0)}}function no(t,i,r,n,o,s,a,l){r.resetLayerRenderingStats(t);const c=t.context,h=c.gl,u=t.transform,d=r.paint.get("fill-extrusion-pattern"),p=d.constantOr(1),f=r.paint.get("fill-extrusion-opacity"),m=t.style.enable3dLights(),_=r.paint.get(m&&!p?"fill-extrusion-ambient-occlusion-wall-radius":"fill-extrusion-ambient-occlusion-radius"),g=[r.paint.get("fill-extrusion-ambient-occlusion-intensity"),_],y=r.layout.get("fill-extrusion-edge-radius"),x=y>0&&!r.paint.get("fill-extrusion-rounded-roof"),v=x?0:y,b="globe"===u.projection.name?e.cM():0,w="globe"===u.projection.name,T=w?e.W(u.zoom):0,E=[e.a8(u.center.lng),e.ah(u.center.lat)],S=r.paint.get("fill-extrusion-flood-light-color").toArray01().slice(0,3),M=r.paint.get("fill-extrusion-flood-light-intensity"),A=r.paint.get("fill-extrusion-vertical-scale"),I=mr(t,r.paint.get("fill-extrusion-cutoff-fade-range")),C=r.paint.get("fill-extrusion-emissive-strength"),P=[];let z;w&&P.push("PROJECTION_GLOBE_VIEW"),g[0]>0&&P.push("FAUX_AO"),x&&P.push("ZERO_ROOF_RADIUS"),l&&P.push("HAS_CENTROID"),M>0&&P.push("FLOOD_LIGHT"),I.shouldRenderCutoff&&P.push("RENDER_CUTOFF");const D="shadow"===t.renderPass,R=t.shadowRenderer,L=D&&!!R;t.shadowRenderer&&(t.shadowRenderer.useNormalOffset=!0);let k=[0,0,0];if(R){const e=t.style.directionalLight,i=t.style.ambientLight;e&&i&&(k=wr(e,i)),z=P.concat(["SHADOWS_SINGLE_CASCADE"])}const O=L?"fillExtrusionDepth":p?"fillExtrusionPattern":"fillExtrusion",B=r.getLayerRenderingStats();for(const e of n){const n=i.getTile(e),m=n.getBucket(r);if(!m||m.projection.name!==u.projection.name)continue;let _=!1;R&&(_=0===R.getMaxCascadeForTile(e.toUnwrapped()));const y=t.isTileAffectedByFog(e),x=m.programConfigurations.get(r.id),L=t.getOrCreateProgram(O,{config:x,defines:_?z:P,overrideFog:y});if(t.terrain&&t.terrain.setupElevationDraw(n,L,{useMeterToDem:!0}),!m.centroidVertexBuffer){const e=L.attributes.a_centroid_pos;void 0!==e&&h.vertexAttrib2f(e,0,0)}!D&&R&&R.setupShadows(n.tileID.toUnwrapped(),L,"vector-tile",n.tileID.overscaledZ),p&&(t.context.activeTexture.set(h.TEXTURE0),n.imageAtlasTexture&&n.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),x.updatePaintBuffers());const F=d.constantOr(null);if(F&&n.imageAtlas){const e=n.imageAtlas.patternPositions[F.toString()];e&&x.setConstantPatternPositions(e)}const N=r.paint.get("fill-extrusion-vertical-gradient");let V;if(D&&R){if(ho(n.tileID,m,t))continue;const e=R.calculateShadowPassMatrixFromTile(n.tileID.toUnwrapped());V=wn(e,v,A)}else{const i=t.translatePosMatrix(e.expandedProjMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),o=u.projection.createInversionMatrix(u,e.canonical);V=p?Tn(i,t,N,f,g,v,e,n,b,T,E,o,S,A):bn(i,t,N,f,g,v,e,b,T,E,o,S,A,M,k,C)}t.uploadCommonUniforms(c,L,e.toUnwrapped(),null,I);let U=m.segments;if("mercator"===u.projection.name&&!D&&(U=m.getVisibleSegments(n.tileID,t.terrain,t.transform.getFrustum(0)),!U.get().length))continue;if(B)if(D)for(const e of U.get())B.numRenderedVerticesInShadowPass+=e.primitiveLength;else for(const e of U.get())B.numRenderedVerticesInTransparentPass+=e.primitiveLength;const j=[];(t.terrain||l)&&j.push(m.centroidVertexBuffer),w&&j.push(m.layoutVertexExtBuffer),L.draw(t,c.gl.TRIANGLES,o,s,a,Rt.backCCW,V,r.id,m.layoutVertexBuffer,m.indexBuffer,U,r.paint,t.transform.zoom,x,j)}t.shadowRenderer&&(t.shadowRenderer.useNormalOffset=!1)}function oo(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x){const v=t.context,b=v.gl,w=t.transform,T=t.transform.zoom,E=[],S=mr(t,r.paint.get("fill-extrusion-cutoff-fade-range"));"clear"===h?(E.push("CLEAR_SUBPASS"),x&&(E.push("CLEAR_FROM_TEXTURE"),v.activeTexture.set(b.TEXTURE0),x.bind(b.LINEAR,b.CLAMP_TO_EDGE))):"sdf"===h&&E.push("SDF_SUBPASS"),g&&E.push("HAS_CENTROID"),S.shouldRenderCutoff&&E.push("RENDER_CUTOFF");const M=r.layout.get("fill-extrusion-edge-radius"),A=(e,i,n,h,y)=>{const b=i.programConfigurations.get(r.id),w=t.isTileAffectedByFog(e),A=t.getOrCreateProgram("fillExtrusionGroundEffect",{config:b,defines:E,overrideFog:w}),I=((e,t,i,r,n,o,s,a,l,c,h)=>({u_matrix:t,u_opacity:i,u_ao_pass:r?1:0,u_meter_to_tile:n,u_ao:o,u_flood_light_intensity:s,u_flood_light_color:a,u_attenuation:l,u_edge_radius:c,u_fb:0,u_fb_size:h}))(0,h,u,c,y,[d,p*y],f,m,_,T>=17?0:M*y,x?x.size[0]:0),C=[];g&&C.push(i.hiddenByLandmarkVertexBuffer),t.uploadCommonUniforms(v,A,e.toUnwrapped(),null,S),A.draw(t,v.gl.TRIANGLES,o,s,a,l,I,r.id,i.vertexBuffer,i.indexBuffer,n,r.paint,T,b,C)};for(const I of n){const n=i.getTile(I),o=n.getBucket(r);if(!o||o.projection.name!==w.projection.name||!o.groundEffect||o.groundEffect&&!o.groundEffect.hasData())continue;const s=o.groundEffect,a=1/o.tileToMeter;{const e=t.translatePosMatrix(I.projMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),i=s.getDefaultSegment();A(I,s,i,e,a)}if(y)for(let l=0;l<4;l++){const o=e.cN[l](I),s=i.getTile(o);if(!s)continue;const c=s.getBucket(r);if(!c||c.projection.name!==w.projection.name||!c.groundEffect||c.groundEffect&&!c.groundEffect.hasData())continue;const h=c.groundEffect;let u,d;0===l?(u=[-e.Y,0,0],d=1):1===l?(u=[e.Y,0,0],d=0):2===l?(u=[0,-e.Y,0],d=3):(u=[0,e.Y,0],d=2);const p=h.regionSegments[d];if(!p)continue;const f=new Float32Array(16);e.a9.translate(f,I.projMatrix,u),A(I,h,p,t.translatePosMatrix(f,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),a)}}}function so(t,i,r,n,o,s,a){0===n.centroidVertexArray.length&&n.createCentroidsBuffer();const l=s?s.findDEMTileFor(r):null;if(!(l&&l.dem||a))return;const c=t=>new e.P(Math.ceil((t+e.cQ)*e.cR),0),h=e=>{const t=i.getSource().minzoom,r=e=>{const t=i.getTileByID(e);if(t&&t.hasData())return t.getBucket(o)},n=[0,-1,1];for(const i of n){if(e.overscaledZ+i(u[0]=Math.min(t.min.y,i.min.y),u[1]=Math.max(t.max.y,i.max.y),u[2]=e.Y-i.min.x>t.max.x?i.min.x-e.Y:t.max.x,u),p=(t,i)=>(u[0]=Math.min(t.min.x,i.min.x),u[1]=Math.max(t.max.x,i.max.x),u[2]=e.Y-i.min.y>t.max.y?i.min.y-e.Y:t.max.y,u),f=[(e,t)=>d(e,t),(e,t)=>d(t,e),(e,t)=>p(e,t),(e,t)=>p(t,e)],m=(t,i,n,o,a,c,h)=>{if(!s)return 0;const u=[[c?n:t,c?t:n,0],[c?n:i,c?i:n,0]],d=h<0?e.Y+h:h,p=[c?d:(t+i)/2,c?(t+i)/2:d,0];return 0===n&&h<0||0!==n&&h>0?s.getForTilePoints(a,[p],!0,o):u.push(p),s.getForTilePoints(r,u,!0,l),Math.max(u[0][2],u[1][2],p[2])/s.exaggeration()};for(let y=0;y<4;y++){const t=n.borderFeatureIndices[y];if(0===t.length)continue;const i=e.cN[y](r),o=h(i);if(!(o&&o instanceof e.cO))continue;if(n.borderDoneWithNeighborZ[y]===o.canonical.z)continue;0===o.centroidVertexArray.length&&o.createCentroidsBuffer();const l=s?s.findDEMTileFor(i):null;if(!(l&&l.dem||a))continue;const u=(y<2?1:5)-y,d=o.borderDoneWithNeighborZ[u]!==n.canonical.z,p=o.borderFeatureIndices[u];let x=0;if(n.canonical.z!==o.canonical.z){for(const e of t)n.showCentroid(n.featuresOnBorder[e]);if(d)for(const e of p)o.showCentroid(o.featuresOnBorder[e]);n.borderDoneWithNeighborZ[y]=o.canonical.z,o.borderDoneWithNeighborZ[u]=n.canonical.z}for(const r of t){const t=n.featuresOnBorder[r],s=n.centroidData[t.centroidDataIndex],h=t.borders[y];let d;for(;xh[0]+3||e[0]>h[0]-3)break;o.showCentroid(d),x++}if(d&&xh[1]-3)&&(v++,++x!==p.length);)d=o.featuresOnBorder[p[x]];if(d=o.featuresOnBorder[p[r]],v>1){const e=d.borders[u];Math.abs(h[0]-e[0])<3&&Math.abs(h[1]-e[1])<3&&(v=1,x=r+1)}else if(0===v){n.showCentroid(t);continue}const b=o.centroidData[d.centroidDataIndex];a&&1===v&&(((_=s).flags|(g=b).flags)&e.cP?(_.flags|=e.cP,g.flags|=e.cP):(_.flags&=~e.cP,g.flags&=~e.cP));const w=t.intersectsCount()>1||d.intersectsCount()>1;if(v>1)x=r,s.centroidXY=b.centroidXY=new e.P(0,0);else if(l&&l.dem&&!w){const t=f[y](s,b),r=y%2?e.Y-1:0,n=m(t[0],Math.min(e.Y-1,t[1]),r,l,i,y<2,t[2]);s.centroidXY=b.centroidXY=c(n)}else w?s.centroidXY=b.centroidXY=new e.P(0,0):(s.centroidXY=n.encodeBorderCentroid(t),b.centroidXY=o.encodeBorderCentroid(d));n.writeCentroidToBuffer(s),o.writeCentroidToBuffer(b)}else n.showCentroid(t)}n.borderDoneWithNeighborZ[y]=o.canonical.z,o.borderDoneWithNeighborZ[u]=n.canonical.z}var _,g;(n.needsCentroidUpdate||!n.centroidVertexBuffer&&0!==n.centroidVertexArray.length)&&n.uploadCentroid(t)}const ao=[1,0,0],lo=[0,1,0],co=[0,0,1];function ho(t,i,r){const n=r.transform,o=r.shadowRenderer;if(!o)return!0;const s=t.toUnwrapped(),a=n.tileSize*o._cascades[r.currentShadowCascade].scale;let l=i.maxHeight;if(n.elevation){const e=n.elevation.getMinMaxForTile(t);e&&(l+=e.max)}const c=[...o.shadowDirection];c[2]=-c[2];const h=o.computeSimplifiedTileShadowVolume(s,l,a,c);if(!h)return!1;const u=[ao,lo,co,c,[c[0],0,c[2]],[0,c[1],c[2]]],d="globe"===n.projection.name,p=n.scaleZoom(a),f=e.bt.fromInvProjectionMatrix(n.invProjMatrix,n.worldSize,p,!d),m=o.getCurrentCascadeFrustum();return 0===f.intersectsPrecise(h.vertices,h.planes,u)||0===m.intersectsPrecise(h.vertices,h.planes,u)}function uo(t){return[t[0]*e.cS,t[1]*e.cS,t[2]*e.cS,0]}function po(t,i,r,n,o,s,a,l,c){const h=n.getSource(),u=r.globeSharedBuffers;if(!u)return;let d,p,f;if(i&&(d=n.getTile(i)),h instanceof e.as?(p=h.texture,f=e.co(0,0,r.transform)):d&&i&&(p=d.texture,f=e.co(i.canonical.z,i.canonical.x,r.transform)),!p||!f)return;t||(f=e.a9.scale(e.a9.create(),f,[1,-1,1]));const m=r.context,_=m.gl,g="nearest"===o.paint.get("raster-resampling")?_.NEAREST:_.LINEAR,y=r.colorModeForDrapableLayerRenderPass(s),x=a.defines;x.push("GLOBE_POLES");const v=new Mt(_.LEQUAL,Mt.ReadWrite,r.depthRangeFor3D),b=Float32Array.from(r.transform.expandedFarZProjMatrix),w=Float32Array.from(e.aW(e.cn(new e.bv(0,0,0))));r.terrain&&r.terrain.prepareDrawTile(),m.activeTexture.set(_.TEXTURE0),p.bind(g,_.CLAMP_TO_EDGE),m.activeTexture.set(_.TEXTURE1),p.bind(g,_.CLAMP_TO_EDGE),p.useMipmap&&m.extTextureFilterAnisotropic&&r.transform.pitch>20&&_.texParameterf(_.TEXTURE_2D,m.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,m.extTextureFilterAnisotropicMax);const[T,E,S,M]=i?u.getPoleBuffers(i.canonical.z,!1):u.getPoleBuffers(0,!0),A=o.paint.get("raster-elevation");let I;t?(I=T,r.renderDefaultNorthPole=0!==A):(I=E,r.renderDefaultSouthPole=0!==A);const C=uo(a.mix),P=((e,t,i,r,n,o,s,a,l,c,h,u,d)=>Ln(e,t,i,new Float32Array(16),new Float32Array(9),[0,0],r,[0,0],[0,0,0,0],1,{opacity:1,mix:0},o,[0,0]||0,a,2,c,h,u,1,0,d))(b,w,f,e.W(r.transform.zoom),0,o,0,A,0,C,a.offset,a.range,s),z=r.getOrCreateProgram("raster",{defines:x});r.uploadCommonUniforms(m,z,null),z.draw(r,_.TRIANGLES,v,c,y,l,P,o.id,I,S,M)}function fo(e){const t=e._nearZ,i=e.projection.farthestPixelDistance(e),r=i-t,n=.2*e.height,o=t+n;return[t,i,(o-n-t)/r,(o-t)/r]}function mo(e,t,i,r){if(e)return t instanceof ze&&e instanceof $t?t.getTextureDescriptor(e,i,!0):{texture:e.texture,mix:uo(r.mix),offset:r.offset,buffer:0,tileSize:1}}function _o(t,i,r){if(!t)return null;const n=i.getTextureDescriptor(t,r,!0);if(!n)return null;let{texture:o,mix:s,offset:a,tileSize:l,buffer:c,format:h}=n;if(!o||!h)return null;let u=!1;return"uint32"===h&&(u=!0,s[3]=0,s=Dn(e.cT,s,[0,r.paint.get("raster-particle-max-speed")]),a=Rn(e.cT,a,[0,r.paint.get("raster-particle-max-speed")])),{texture:o,textureOffset:[c/(l+2*c),l/(l+2*c)],tileSize:l,scalarData:u,scale:s,offset:a,defines:["RASTER_ARRAY",{uint8:"DATA_FORMAT_UINT8",uint16:"DATA_FORMAT_UINT16",uint32:"DATA_FORMAT_UINT32"}[h]]}}function go(e){const t=e._nearZ,i=e.projection.farthestPixelDistance(e),r=i-t,n=.2*e.height,o=t+n;return[t,i,(o-n-t)/r,(o-t)/r]}const yo=new e.aA(1,0,0,1),xo=new e.aA(0,1,0,1),vo=new e.aA(0,0,1,1),bo=new e.aA(1,0,1,1),wo=new e.aA(0,1,1,1);function To(t,i,r,n,o,s,a){const l=t.context,c=t.transform,h=l.gl,u="globe"===c.projection.name,d=u?["PROJECTION_GLOBE_VIEW"]:[];let p=e.a9.clone(r.projMatrix);if(u&&e.W(c.zoom)>0){const t=e.aV(r.canonical,c),i=e.cU(t);p=e.a9.multiply(new Float32Array(16),c.globeMatrix,i),e.a9.multiply(p,c.projMatrix,p)}const f=e.a9.create();f[12]+=2*o/(e.f.devicePixelRatio*c.width),f[13]+=2*s/(e.f.devicePixelRatio*c.height),e.a9.multiply(p,f,p);const m=t.getOrCreateProgram("debug",{defines:d}),_=i.getTileByID(r.key);t.terrain&&t.terrain.setupElevationDraw(_,m);const g=Mt.disabled,y=It.disabled,x=t.colorModeForRenderPass(),v="$debug";l.activeTexture.set(h.TEXTURE0),t.emptyTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),u?_._makeGlobeTileDebugBuffers(t.context,c):_._makeDebugTileBoundsBuffers(t.context,c.projection);const b=_._tileDebugBuffer||t.debugBuffer,w=_._tileDebugIndexBuffer||t.debugIndexBuffer,T=_._tileDebugSegments||t.debugSegments;if(m.draw(t,h.LINE_STRIP,g,y,x,Rt.disabled,Cn(p,n),v,b,w,T,null,null,null,[_._globeTileDebugBorderBuffer]),a){const e=_.latestRawTileData,i=Math.floor((e&&e.byteLength||0)/1024);let n=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(n+=` => ${r.overscaledZ}`),n+=` ${_.state}`,n+=` ${i}kb`,function(e,t){e.initDebugOverlayCanvas();const i=e.debugOverlayCanvas,r=e.context.gl,n=e.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(t,5,5),n.strokeText(t,5,5),e.debugOverlayTexture.update(i),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(t,n)}const E=i.getTile(r).tileSize,S=512/Math.min(E,512)*(r.overscaledZ/c.zoom)*.5,M=_._tileDebugTextBuffer||t.debugBuffer,A=_._tileDebugTextIndexBuffer||t.quadTriangleIndexBuffer,I=_._tileDebugTextSegments||t.debugSegments;m.draw(t,h.TRIANGLES,g,y,Pt.alphaBlended,Rt.disabled,Cn(p,e.aA.transparent,S),v,M,A,I,null,null,null,[_._globeTileDebugTextBuffer])}function Eo(e,t,i,r){Mo(e,0,t+i/2,e.transform.width,i,r)}function So(e,t,i,r){Mo(e,t-i/2,0,i,e.transform.height,r)}function Mo(t,i,r,n,o,s){const a=t.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*e.f.devicePixelRatio,r*e.f.devicePixelRatio,n*e.f.devicePixelRatio,o*e.f.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST)}const Ao=e.aB([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:Io}=Ao;function Co(e,t,i,r){e.emplaceBack(t,i,r)}class Po{constructor(t){this.vertexArray=new e.cV,this.indices=new e.az,Co(this.vertexArray,-1,-1,1),Co(this.vertexArray,1,-1,1),Co(this.vertexArray,-1,1,1),Co(this.vertexArray,1,1,1),Co(this.vertexArray,-1,-1,-1),Co(this.vertexArray,1,-1,-1),Co(this.vertexArray,-1,1,-1),Co(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=t.createVertexBuffer(this.vertexArray,Io),this.indexBuffer=t.createIndexBuffer(this.indices),this.segment=e.aE.simpleSegment(0,0,36,12)}}function zo(t,i,r,n,o,s){const a=t.context.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),h=i.paint.get("sky-atmosphere-sun-intensity"),u=((e,t,i,r,n)=>({u_matrix_3f:e,u_sun_direction:t,u_sun_intensity:i,u_color_tint_r:[r.r,r.g,r.b,r.a],u_color_tint_m:[n.r,n.g,n.b,n.a],u_luminance:5e-5}))(e.ct.fromMat4(e.ct.create(),n),o,h,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),r.draw(t,a.TRIANGLES,Mt.disabled,It.disabled,Pt.unblended,Rt.frontCW,u,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}const Do=e.aB([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Ro{constructor(t){const i=new e.cW;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const r=new e.az;r.emplaceBack(0,1,2),r.emplaceBack(2,3,0),this.vertexBuffer=t.createVertexBuffer(i,Do.members),this.indexBuffer=t.createIndexBuffer(r),this.segments=e.aE.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const Lo=e.aB([{type:"Float32",name:"a_pos_3f",components:3},{type:"Float32",name:"a_uv",components:2},{type:"Float32",name:"a_size_scale",components:1},{type:"Float32",name:"a_fade_opacity",components:1}]);class ko{constructor(){this.starsCount=16e3,this.sizeMultiplier=.15,this.sizeRange=100,this.intensityRange=200}}class Oo{constructor(t){this.colorModeAlphaBlendedWriteRGB=new Pt([1,Ct,1,Ct],e.aA.transparent,[!0,!0,!0,!1]),this.colorModeWriteAlpha=new Pt([1,0,1,0],e.aA.transparent,[!1,!1,!1,!0]),this.params=new ko,this.updateNeeded=!0,t.tp.registerParameter(this.params,["Stars"],"starsCount",{min:100,max:16e3,step:1},(()=>{this.updateNeeded=!0})),t.tp.registerParameter(this.params,["Stars"],"sizeMultiplier",{min:.01,max:2,step:.01}),t.tp.registerParameter(this.params,["Stars"],"sizeRange",{min:0,max:200,step:1},(()=>{this.updateNeeded=!0})),t.tp.registerParameter(this.params,["Stars"],"intensityRange",{min:0,max:200,step:1},(()=>{this.updateNeeded=!0}))}update(t){const i=t.context;if(!this.atmosphereBuffer||this.updateNeeded){this.updateNeeded=!1,this.atmosphereBuffer=new Ro(i);const t=this.params.sizeRange,r=this.params.intensityRange,n=function(t){const i=e.aC(30),r=[];for(let n=0;n{const i="globe"===o.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"];e&&i.push("ALPHA_PASS");const u=t.getOrCreateProgram("globeAtmosphere",{defines:i}),p=((e,t,i,r,n,o,s,a,l,c,h,u)=>({u_frustum_tl:e,u_frustum_tr:t,u_frustum_br:i,u_frustum_bl:r,u_horizon:n,u_transition:o,u_fadeout_range:s,u_color:a,u_high_color:l,u_space_color:c,u_temporal_offset:h,u_horizon_angle:u}))(o.frustumCorners.TL,o.frustumCorners.TR,o.frustumCorners.BR,o.frustumCorners.BL,o.frustumCorners.horizon,a,d,l,c,h,f,g);t.uploadCommonUniforms(r,u);const m=this.atmosphereBuffer;m&&u.draw(t,n.TRIANGLES,s,It.disabled,e?this.colorModeWriteAlpha:this.colorModeAlphaBlendedWriteRGB,Rt.backCW,p,e?"atmosphere_glow_alpha":"atmosphere_glow",m.vertexBuffer,m.indexBuffer,m.segments)};y(!1),y(!0)}drawStars(t,i){const r=e.ad(i.properties.get("star-intensity"),0,1);if(0===r)return;const n=t.context,o=n.gl,s=t.transform,a=t.getOrCreateProgram("stars"),l=e.bl.identity([]);e.bl.rotateX(l,l,-s._pitch),e.bl.rotateZ(l,l,-s.angle),e.bl.rotateX(l,l,e.bm(s._center.lat)),e.bl.rotateY(l,l,-e.bm(s._center.lng));const c=e.a9.fromQuat(new Float32Array(16),l),h=e.a9.multiply([],s.starsProjMatrix,c),u=e.ct.fromMat4([],c),d=e.ct.invert([],u),p=[0,1,0];e.Q.transformMat3(p,p,d),e.Q.scale(p,p,this.params.sizeMultiplier);const f=[1,0,0];e.Q.transformMat3(f,f,d),e.Q.scale(f,f,this.params.sizeMultiplier);const m=(_=p,g=f,y=r,{u_matrix:Float32Array.from(h),u_up:_,u_right:g,u_intensity_multiplier:y});var _,g,y;t.uploadCommonUniforms(n,a),this.starsVx&&this.starsIdx&&a.draw(t,o.TRIANGLES,Mt.disabled,It.disabled,this.colorModeAlphaBlendedWriteRGB,Rt.disabled,m,"atmosphere_stars",this.starsVx,this.starsIdx,this.starsSegments)}}function Bo(t,i){const r=[...t],n=i.cameraWorldSizeForFog/i.worldSize,o=e.a9.identity([]);return e.a9.scale(o,o,[n,n,1]),e.a9.multiply(r,o,r),e.a9.multiply(r,i.worldToFogMatrix,r),r}function Fo(e,t,i,r){const n=i.material,o=r.context,{baseColorTexture:s,metallicRoughnessTexture:a}=n.pbrMetallicRoughness,{normalTexture:l,occlusionTexture:c,emissionTexture:h}=n;function u(t,i,r){if(t&&(e.push(i),o.activeTexture.set(o.gl.TEXTURE0+r),t.gfxTexture)){const{minFilter:e,magFilter:i,wrapS:r,wrapT:n}=t.sampler;t.gfxTexture.bindExtraParam(e,i,r,n)}}u(s,"HAS_TEXTURE_u_baseColorTexture",fr.BaseColor),u(a,"HAS_TEXTURE_u_metallicRoughnessTexture",fr.MetallicRoughness),u(l,"HAS_TEXTURE_u_normalTexture",fr.Normal),u(c,"HAS_TEXTURE_u_occlusionTexture",fr.Occlusion),u(h,"HAS_TEXTURE_u_emissionTexture",fr.Emission),i.texcoordBuffer&&(e.push("HAS_ATTRIBUTE_a_uv_2f"),t.push(i.texcoordBuffer)),i.colorBuffer&&(e.push(12===i.colorBuffer.itemSize?"HAS_ATTRIBUTE_a_color_3f":"HAS_ATTRIBUTE_a_color_4f"),t.push(i.colorBuffer)),i.normalBuffer&&(e.push("HAS_ATTRIBUTE_a_normal_3f"),t.push(i.normalBuffer)),i.pbrBuffer&&(e.push("HAS_ATTRIBUTE_a_pbr"),e.push("HAS_ATTRIBUTE_a_heightBasedEmissiveStrength"),t.push(i.pbrBuffer)),"OPAQUE"!==n.alphaMode&&"MASK"!==n.alphaMode||e.push("UNPREMULT_TEXTURE_IN_SHADER"),n.defined||e.push("DIFFUSE_SHADED"),e.push("USE_STANDARD_DERIVATIVES")}function No(t,i,r,n,o,s){const a=r.paint.get("model-opacity"),l=i.context,c=new Mt(i.context.gl.LEQUAL,Mt.ReadWrite,i.depthRangeFor3D),h=i.transform,u=t.mesh,d=u.material,p=d.pbrMetallicRoughness,f=i.style.fog;let m;m="pixels"===i.transform.projection.zAxisUnit?[...t.nodeModelMatrix]:e.a9.multiply([],n.zScaleMatrix,t.nodeModelMatrix),e.a9.multiply(m,n.negCameraPosMatrix,m);const _=e.a9.invert([],m);e.a9.transpose(_,_);const g=r.paint.get("model-emissive-strength").constantOr(0),y=$n(new Float32Array(t.worldViewProjection),new Float32Array(m),new Float32Array(_),null,i,a,p.baseColorFactor,d.emissiveFactor,p.metallicFactor,p.roughnessFactor,d,g,r),x={defines:[]},v=[];Fo(x.defines,v,u,i);const b=i.shadowRenderer;b&&(b.useNormalOffset=!1);let w=null;if(f){const e=Bo(t.nodeModelMatrix,i.transform);if(w=new Float32Array(e),"globe"!==h.projection.name){const t=u.aabb.min,i=u.aabb.max,[r,n]=f.getOpacityForBounds(e,t[0],t[1],i[0],i[1]);x.overrideFog=r>=pe||n>=pe}}const T=mr(i,r.paint.get("model-cutoff-fade-range"));T.shouldRenderCutoff&&x.defines.push("RENDER_CUTOFF");const E=i.getOrCreateProgram("model",x);i.uploadCommonUniforms(l,E,null,w,T),"shadow"!==i.renderPass&&b&&b.setupShadowsFromMatrix(t.nodeModelMatrix,E),E.draw(i,l.gl.TRIANGLES,c,o,s,u.material.doubleSided?Rt.disabled:Rt.backCCW,y,r.id,u.vertexBuffer,u.indexBuffer,u.segments,r.paint,i.transform.zoom,void 0,v)}function Vo(t,i,r,n,o,s,a){let l;l="globe"===t.projection.name?e.c_(r,t):[...r],e.a9.multiply(l,l,i.matrix);const c=e.a9.multiply([],n,l);if(i.meshes)for(const h of i.meshes){if("BLEND"!==h.material.alphaMode){a.push({mesh:h,depth:0,modelIndex:o,worldViewProjection:c,nodeModelMatrix:l});continue}const t=e.Q.transformMat4([],h.centroid,c);t[2]>0&&s.push({mesh:h,depth:t[2],modelIndex:o,worldViewProjection:c,nodeModelMatrix:l})}if(i.children)for(const e of i.children)Vo(t,e,r,n,o,s,a)}function Uo(e,t,i,r){const n=i.shadowRenderer;if(!n)return;const o=n.getShadowPassDepthMode(),s=n.getShadowPassColorMode(),a=n.calculateShadowPassMatrixFromMatrix(t),l=Wn(a);i.getOrCreateProgram("modelDepth",{defines:i._shadowMapDebug?[]:["DEPTH_TEXTURE"]}).draw(i,i.context.gl.TRIANGLES,o,It.disabled,s,Rt.backCCW,l,r.id,e.vertexBuffer,e.indexBuffer,e.segments,r.paint,i.transform.zoom,void 0,void 0)}function jo(t,i,r){const n=i.updateZoomBasedPaintProperties(),o=function(t,i,r){let n,o,s,a=t.terrain?t.terrain.exaggeration():0;if(t.terrain&&a>0){const i=t.terrain,o=i.findDEMTileFor(r);o&&o.dem?n=e.d0.create(i,r,o):a=0}if(0===a&&(i.terrainElevationMin=0,i.terrainElevationMax=0),a===i.validForExaggeration&&(0===a||n&&n._demTile&&n._demTile.tileID===i.validForDEMTile.id&&n._dem._timestamp===i.validForDEMTile.timestamp))return!1;for(const e in i.instancesPerModel){const t=i.instancesPerModel[e];for(let e=0;eh&&(h=e.max)}const u=e.ad(n.x,s,a)-n.x,d=e.ad(n.y,l,c)-n.y,p=e.bo(h,i.center.lat)-n.z;return i._zoomFromMercatorZ(Math.sqrt(u*u+d*d+p*p))}function Zo(e,t,i,r,n,o,s){const a=e.context,l="shadow"===e.renderPass,c=e.shadowRenderer,h=l&&c?c.getShadowPassDepthMode():new Mt(a.gl.LEQUAL,Mt.ReadWrite,e.depthRangeFor3D),u=e.isTileAffectedByFog(o);if(i.meshes)for(const d of i.meshes){const p=["MODEL_POSITION_ON_GPU"],f=[];let m,_,g;r.instancedDataArray.length>20&&p.push("INSTANCED_ARRAYS");const y=mr(e,t.paint.get("model-cutoff-fade-range"));if(y.shouldRenderCutoff&&p.push("RENDER_CUTOFF"),l&&c)m=e.getOrCreateProgram("modelDepth",{defines:p}),_=Wn(s.shadowTileMatrix,s.shadowTileMatrix,Float32Array.from(i.matrix)),g=c.getShadowPassColorMode();else{Fo(p,f,d,e),m=e.getOrCreateProgram("model",{defines:p,overrideFog:u});const r=d.material,l=r.pbrMetallicRoughness,h=t.paint.get("model-opacity"),x=t.paint.get("model-emissive-strength").constantOr(0);_=$n(o.expandedProjMatrix,Float32Array.from(i.matrix),new Float32Array(16),null,e,h,l.baseColorFactor,r.emissiveFactor,l.metallicFactor,l.roughnessFactor,r,x,t,n),c&&(s.shadowUniformsInitialized?m.setShadowUniformValues(a,c.getShadowUniformValues()):(c.setupShadows(o.toUnwrapped(),m,"model-tile",o.overscaledZ),s.shadowUniformsInitialized=!0)),g=y.shouldRenderCutoff||h<1||"OPAQUE"!==r.alphaMode?Pt.alphaBlended:Pt.unblended}e.uploadCommonUniforms(a,m,o.toUnwrapped(),null,y);const x=d.material.doubleSided?Rt.disabled:Rt.backCCW;if(r.instancedDataArray.length>20)f.push(r.instancedDataBuffer),m.draw(e,a.gl.TRIANGLES,h,It.disabled,g,x,_,t.id,d.vertexBuffer,d.indexBuffer,d.segments,t.paint,e.transform.zoom,void 0,f,r.instancedDataArray.length);else{const i=l?"u_instance":"u_normal_matrix";for(let n=0;n30&&(i.buf.destroy(),this._storage.delete(t))}destroy(){for(const[e,t]of this._storage)t.buf.destroy(),this._storage.delete(e)}}const Xo={symbol:function(t,i,r,n,o){if("translucent"!==t.renderPass)return;const s=It.disabled,a=t.colorModeForRenderPass();r.layout.get("text-variable-anchor")&&function(t,i,r,n,o,s,a){const l=i.transform,c="map"===o,h="map"===s;for(const u of t){const t=n.getTile(u),i=t.getBucket(r);if(!i||!i.text||!i.text.segments.get().length)continue;const o=e.b8(i.textSizeData,l.zoom),s=Di(u,i.getProjection(),l),d=l.calculatePixelsToTileUnitsMatrix(t),p=pi(s,t.tileID.canonical,h,c,l,i.getProjection(),d),f=i.hasIconTextFit()&&i.hasIconData();if(o){const r=Math.pow(2,l.zoom-t.tileID.overscaledZ);eo(i,c,h,a,e.cE,l,p,u,r,o,f)}}}(n,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),o);const l=0!==r.paint.get("icon-opacity").constantOr(1),c=0!==r.paint.get("text-opacity").constantOr(1);void 0!==r.layout.get("symbol-sort-key").constantOr(1)&&(l||c)?to(t,i,r,n,s,a):(l&&to(t,i,r,n,s,a,{onlyIcons:!0}),c&&to(t,i,r,n,s,a,{onlyText:!0})),i.map.showCollisionBoxes&&(Xn(t,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Xn(t,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("circle-opacity"),s=r.paint.get("circle-stroke-width"),a=r.paint.get("circle-stroke-opacity"),l=void 0!==r.layout.get("circle-sort-key").constantOr(1),c=r.paint.get("circle-emissive-strength");if(0===o.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const h=t.context,u=h.gl,d=t.transform,p=t.depthModeForSublayer(0,Mt.ReadOnly),f=It.disabled,m=t.colorModeForDrapableLayerRenderPass(c),_="globe"===d.projection.name,g=[e.a8(d.center.lng),e.ah(d.center.lat)],y=[];for(let v=0;ve.sortKey-t.sortKey));const x={useDepthForOcclusion:d.depthOcclusionForSymbolsAndCircles};for(const e of y){const{programConfiguration:i,program:n,layoutVertexBuffer:o,globeExtVertexBuffer:s,indexBuffer:a,uniformValues:l,tile:c}=e.state,_=e.segments;t.terrain&&t.terrain.setupElevationDraw(c,n,x),t.uploadCommonUniforms(h,n,c.tileID.toUnwrapped()),n.draw(t,u.TRIANGLES,p,f,m,Rt.disabled,l,r.id,o,a,_,r.paint,d.zoom,i,[s])}},heatmap:function(t,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const o=t.context,s=o.gl,a=It.disabled,l=new Pt([s.ONE,s.ONE,s.ONE,s.ONE],e.aA.transparent,[!0,!0,!0,!0]);!function(e,t,i,r){const n=e.gl,o=t.width*r,s=t.height*r;e.activeTexture.set(n.TEXTURE1),e.viewport.set([0,0,o,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==o||a.height!==s)){a&&a.destroy();const t=n.createTexture();n.bindTexture(n.TEXTURE_2D,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=i.heatmapFbo=e.createFramebuffer(o,s,!0,null),function(e,t,i,r,n,o){const s=e.gl;s.texImage2D(s.TEXTURE_2D,0,e.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,n,o,0,s.RGBA,e.extRenderToTextureHalfFloat?s.HALF_FLOAT:s.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(e,0,t,a,o,s)}else n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)}(o,t,r,"globe"===t.transform.projection.name?.5:.25),o.clear({color:e.aA.transparent});const c=t.transform,h="globe"===c.projection.name,u=h?["PROJECTION_GLOBE_VIEW"]:[],d=h?Rt.frontCCW:Rt.disabled,p=[e.a8(c.center.lng),e.ah(c.center.lat)];for(let e=0;e({u_image:0,u_color_ramp:1,u_opacity:t.paint.get("heatmap-opacity")}))(0,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom)}(t,r))},line:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("line-opacity"),s=r.paint.get("line-width");if(0===o.constantOr(1)||0===s.constantOr(1))return;const a=r.paint.get("line-emissive-strength"),l=t.depthModeForSublayer(0,Mt.ReadOnly),c=t.colorModeForDrapableLayerRenderPass(a),h=t.terrain&&t.terrain.renderingToTexture?1:e.f.devicePixelRatio,u=r.paint.get("line-dasharray"),d=u.constantOr(1),p=r.layout.get("line-cap"),f=r.paint.get("line-pattern"),m=f.constantOr(1),_=1!==r.paint.get("line-opacity").constantOr(1);let g=!m&&_;const y=r.paint.get("line-gradient"),x=m?"linePattern":"line",v=t.context,b=v.gl,w=e.cH(r);t.terrain&&t.terrain.clipOrMaskOverlapStencilType()&&(g=!1);for(const T of n){const n=i.getTile(T);if(m&&!n.patternsLoaded())continue;const o=n.getBucket(r);if(!o)continue;t.prepareDrawTile();const s=o.programConfigurations.get(r.id),a=t.isTileAffectedByFog(T),_=t.getOrCreateProgram(x,{config:s,defines:w,overrideFog:a}),E=f.constantOr(null);if(E&&n.imageAtlas){const e=n.imageAtlas.patternPositions[E.toString()];e&&s.setConstantPatternPositions(e)}const S=u.constantOr(null),M=p.constantOr(null);if(!m&&S&&M&&n.lineAtlas){const e=n.lineAtlas.getDash(S,M);e&&s.setConstantPatternPositions(e)}let[A,I]=r.paint.get("line-trim-offset");if("round"===M||"square"===M){const e=1;A!==I&&(0===A&&(A-=e),1===I&&(I+=e))}const C=t.terrain?T.projMatrix:null,P=m?e.cI(t,n,r,C,h,[A,I]):e.cJ(t,n,r,C,o.lineClipsArray.length,h,[A,I]);if(y){const n=o.gradients[r.id];let s=n.texture;if(r.gradientVersion!==n.version){let a=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=T.canonical.z===r?Math.ceil(1<{_.draw(t,b.TRIANGLES,l,e,c,Rt.disabled,P,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,r.paint,t.transform.zoom,s,[o.layoutVertexBuffer2,o.patternVertexBuffer])};if(g){const e=t.stencilModeForClipping(T).ref;0===e&&t.terrain&&v.clear({stencil:0});const i={func:b.EQUAL,mask:255};P.u_alpha_discard_threshold=.8,z(new It(i,e,255,b.KEEP,b.KEEP,b.INVERT)),P.u_alpha_discard_threshold=0,z(new It(i,e,255,b.KEEP,b.KEEP,b.KEEP))}else z(t.stencilModeForClipping(T))}g&&(t.resetStencilClippingMasks(),t.terrain&&v.clear({stencil:0}))},fill:function(t,i,r,n){const o=r.paint.get("fill-color"),s=r.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=r.paint.get("fill-emissive-strength"),l=t.colorModeForDrapableLayerRenderPass(a),c=r.paint.get("fill-pattern"),h=t.opaquePassEnabledForLayer()&&!c.constantOr(1)&&1===o.constantOr(e.aA.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(t.renderPass===h){const e=t.depthModeForSublayer(1,"opaque"===t.renderPass?Mt.ReadWrite:Mt.ReadOnly);ro(t,i,r,n,e,l,!1)}if("translucent"===t.renderPass&&r.paint.get("fill-antialias")){const e=t.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,Mt.ReadOnly);ro(t,i,r,n,e,l,!0)}},"fill-extrusion":function(t,i,r,n){const o=r.paint.get("fill-extrusion-opacity"),s=t.context,a=s.gl,l=t.terrain,c=l&&l.renderingToTexture;if(0===o)return;const h=t.conflationActive&&t.layerUsedInConflation(r,i.getSource());if(h&&function(e,t,i,r){for(const n of r){const r=t.getTile(n).getBucket(i);r&&(r.updateReplacement(n,e.replacementSource),r.uploadCentroid(e.context))}}(t,i,r,n),l||h)for(const e of n){const n=i.getTile(e).getBucket(r);n&&so(t.context,i,e,n,r,l,h)}if("shadow"===t.renderPass&&t.shadowRenderer){const s=t.shadowRenderer;if(l&&o<.65&&r._transitionablePaint._values["fill-extrusion-opacity"].value.expression instanceof e.Z)return;const a=s.getShadowPassDepthMode(),c=s.getShadowPassColorMode();no(t,i,r,n,a,It.disabled,c,h)}else if("translucent"===t.renderPass){const u=!r.paint.get("fill-extrusion-pattern").constantOr(1),d=r.paint.get("fill-extrusion-color").constantOr(e.aA.white);if(!c&&0!==d.a){const e=new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);1===o&&u?no(t,i,r,n,e,It.disabled,Pt.unblended,h):(no(t,i,r,n,e,It.disabled,Pt.disabled,h),no(t,i,r,n,e,t.stencilModeFor3D(),t.colorModeForRenderPass(),h),t.resetStencilClippingMasks())}if(t.style.enable3dLights()&&u&&(!l&&"globe"!==t.transform.projection.name||c)){const o=r.paint.get("fill-extrusion-opacity"),u=r.paint.get("fill-extrusion-ambient-occlusion-intensity"),d=r.paint.get("fill-extrusion-ambient-occlusion-ground-radius"),p=r.paint.get("fill-extrusion-flood-light-intensity"),f=r.paint.get("fill-extrusion-flood-light-color").toArray01().slice(0,3),m=u>0&&d>0,_=p>0,g=(e,t,i)=>(1-i)*e+i*t,y=s=>{const l=t.depthModeForSublayer(1,Mt.ReadOnly,a.LEQUAL,!0),c=r.paint.get(s?"fill-extrusion-ambient-occlusion-ground-attenuation":"fill-extrusion-flood-light-ground-attenuation"),m=g(.1,3,c),_=t._showOverdrawInspector;if(!_){const c=new It({func:a.ALWAYS,mask:255},255,255,a.KEEP,a.KEEP,a.REPLACE),_=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0],a.MIN);oo(t,i,r,n,l,c,_,Rt.disabled,s,"sdf",o,u,d,p,f,m,h,!1)}{const c=_?It.disabled:new It({func:a.EQUAL,mask:255},255,255,a.KEEP,a.DECR,a.DECR),g=_?t.colorModeForRenderPass():new Pt([a.ONE_MINUS_DST_ALPHA,a.DST_ALPHA,a.ONE,a.ONE],e.aA.transparent,[!0,!0,!0,!0]);oo(t,i,r,n,l,c,g,Rt.disabled,s,"color",o,u,d,p,f,m,h,!1)}};if(c){const c=(s,l,c)=>{const m=t.depthModeForSublayer(1,Mt.ReadOnly,a.LEQUAL,!1),_=r.paint.get(s?"fill-extrusion-ambient-occlusion-ground-attenuation":"fill-extrusion-flood-light-ground-attenuation"),y=g(.1,3,_);{const c=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0]);oo(t,i,r,n,m,It.disabled,c,Rt.disabled,s,"clear",o,u,d,p,f,y,h,l)}{const c=new It({func:a.ALWAYS,mask:255},255,255,a.KEEP,a.KEEP,a.REPLACE),_=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0],a.MIN);oo(t,i,r,n,m,c,_,Rt.disabled,s,"sdf",o,u,d,p,f,y,h,l)}{const c=s?a.ZERO:a.ONE_MINUS_DST_ALPHA,_=new It({func:a.EQUAL,mask:255},255,255,a.KEEP,a.DECR,a.DECR),g=new Pt([c,a.DST_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ZERO],e.aA.transparent,[!0,!0,!0,!0]);oo(t,i,r,n,m,_,g,Rt.disabled,s,"color",o,u,d,p,f,y,h,l)}{const _=new Pt([a.ONE,a.ONE,a.ONE,s?a.ZERO:a.ONE],e.aA.transparent,[!1,!1,!1,!0],s?a.FUNC_ADD:a.MAX);oo(t,i,r,n,m,It.disabled,_,Rt.disabled,s,"clear",o,u,d,p,f,y,h,l,c)}};if(m||_){let i;if(t.prepareDrawTile(),l){const t=l.drapeBufferSize[0],r=l.drapeBufferSize[1];i=l.framebufferCopyTexture,i&&(!i||i.size[0]===t&&i.size[1]===r)||(i&&i.destroy(),i=l.framebufferCopyTexture=new e.T(s,new e.h({width:t,height:r}),a.RGBA)),i.bind(a.LINEAR,a.CLAMP_TO_EDGE),a.copyTexImage2D(a.TEXTURE_2D,0,a.RGBA,0,0,t,r,0)}m&&c(!0,!1,i),_&&c(!1,!0,i)}}else m&&y(!0),_&&y(!1)}}},hillshade:function(e,t,i,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;if(e.style.disableElevatedTerrain)return;const n=e.context,o=e.terrain&&e.terrain.renderingToTexture,[s,a]="translucent"!==e.renderPass||o?[{},r]:e.stencilConfigForOverlap(r);for(const l of a){const r=t.getTile(l);if(r.needsHillshadePrepare&&"offscreen"===e.renderPass)Jr(e,r,i);else if("translucent"===e.renderPass){const t=e.depthModeForSublayer(0,Mt.ReadOnly),n=i.paint.get("hillshade-emissive-strength"),a=e.colorModeForDrapableLayerRenderPass(n),c=o&&e.terrain?e.terrain.stencilModeForRTTOverlap(l):s[l.overscaledZ];Yr(e,l,r,i,t,c,a)}}n.viewport.set([0,0,e.width,e.height]),e.resetStencilClippingMasks()},raster:function(t,i,r,n,o,s){if("translucent"!==t.renderPass)return;if(0===r.paint.get("raster-opacity"))return;const a="globe"===t.transform.projection.name,l=0!==r.paint.get("raster-elevation"),c=l&&a;if(t.renderElevatedRasterBackface&&!c)return;const h=t.context,u=h.gl,d=i.getSource(),p=function(t,i,r,n){const o=i.paint.get("raster-color"),s="raster-array"===t.type,a=[],l=i.paint.get("raster-resampling"),c=i.paint.get("raster-color-mix");let h=i.paint.get("raster-color-range");const u=[c[0],c[1],c[2],0],d=c[3];let p="nearest"===l?n.NEAREST:n.LINEAR;if(s&&(a.push("RASTER_ARRAY"),o||a.push("RASTER_COLOR"),"linear"===l&&a.push("RASTER_ARRAY_LINEAR"),p=n.NEAREST,!h&&t.rasterLayers)){const e=t.rasterLayers.find((e=>{let{id:t}=e;return t===i.sourceLayer}));e&&e.fields&&e.fields.range&&(h=e.fields.range)}if(h=h||[0,1],o){a.push("RASTER_COLOR"),r.activeTexture.set(n.TEXTURE2),i.updateColorRamp(h);let t=i.colorRampTexture;t||(t=i.colorRampTexture=new e.T(r,i.colorRamp,n.RGBA)),t.bind(n.LINEAR,n.CLAMP_TO_EDGE)}return{mix:u,range:h,offset:d,defines:a,resampling:p}}(d,r,h,u);if(d instanceof e.as&&!n.length&&!a)return;const f=r.paint.get("raster-emissive-strength"),m=t.colorModeForDrapableLayerRenderPass(f),_=t.terrain&&t.terrain.renderingToTexture,g=!t.options.moving,y="nearest"===r.paint.get("raster-resampling")?u.NEAREST:u.LINEAR;if(d instanceof e.as&&!n.length&&(d.onNorthPole||d.onSouthPole)){const e=l?t.stencilModeFor3D():It.disabled;return void po(!!d.onNorthPole,null,t,i,r,f,p,Rt.disabled,e)}if(!n.length)return;const[x,v]=d instanceof e.as||_?[{},n]:t.stencilConfigForOverlap(n),b=v[v.length-1].overscaledZ;c&&p.defines.push("PROJECTION_GLOBE_VIEW"),l&&p.defines.push("RENDER_CUTOFF");const w=(n,o,v)=>{for(const w of n){const n=w.toUnwrapped(),T=i.getTile(w);if(_&&(!T||!T.hasData()))continue;h.activeTexture.set(u.TEXTURE0);const E=mo(T,d,r,p);if(!E||!E.texture)continue;const{texture:S,mix:M,offset:A,tileSize:I,buffer:C}=E;let P,z;_?(P=Mt.disabled,z=w.projMatrix):l?(P=new Mt(u.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D),z=a?Float32Array.from(t.transform.expandedFarZProjMatrix):t.transform.calculateProjMatrix(n,g)):(P=t.depthModeForSublayer(w.overscaledZ-b,1===r.paint.get("raster-opacity")?Mt.ReadWrite:Mt.ReadOnly,u.LESS),z=t.transform.calculateProjMatrix(n,g));const D=t.terrain&&_?t.terrain.stencilModeForRTTOverlap(w):x[w.overscaledZ],R=s?0:r.paint.get("raster-fade-duration");T.registerFadeDuration(R);const L=i.findLoadedParent(w,0),k=hn(T,L,i,t.transform,R);let O,B;t.terrain&&t.terrain.prepareDrawTile(),h.activeTexture.set(u.TEXTURE0),S.bind(y,u.CLAMP_TO_EDGE),h.activeTexture.set(u.TEXTURE1),L?(L.texture&&L.texture.bind(y,u.CLAMP_TO_EDGE),O=Math.pow(2,L.tileID.overscaledZ-T.tileID.overscaledZ),B=[T.tileID.canonical.x*O%1,T.tileID.canonical.y*O%1]):S.bind(y,u.CLAMP_TO_EDGE),S.useMipmap&&h.extTextureFilterAnisotropic&&t.transform.pitch>20&&u.texParameterf(u.TEXTURE_2D,h.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,h.extTextureFilterAnisotropicMax);const F=t.transform;let N;const V=l?fo(F):[0,0,0,0];let U,j,G,q,Z,$=0;if(c&&d instanceof e.as&&d.coordinates.length>3)U=Float32Array.from(e.aW(e.cn(new e.bv(0,0,0)))),j=Float32Array.from(F.globeMatrix),G=Float32Array.from(e.cj(F)),q=[e.a8(F.center.lng),e.ah(F.center.lat)],N=d.elevatedGlobePerspectiveTransform,Z=d.elevatedGlobeGridMatrix||new Float32Array(9);else if(c){const t=e.ck(w.canonical);$=e.cl(t.getCenter().lat),U=Float32Array.from(e.aW(e.cn(w.canonical))),j=Float32Array.from(F.globeMatrix),G=Float32Array.from(e.cj(F)),q=[e.a8(F.center.lng),e.ah(F.center.lat)],N=[0,0],Z=Float32Array.from(e.cm(w.canonical,t,$,F.worldSize/F._pixelsPerMercatorPixel))}else N=d instanceof e.as?d.perspectiveTransform:[0,0],U=new Float32Array(16),j=new Float32Array(9),G=new Float32Array(16),q=[0,0],Z=new Float32Array(9);const W=Ln(z,U,j,G,Z,B||[0,0],e.W(t.transform.zoom),q,V,O||1,k,r,N,l?r.paint.get("raster-elevation"):0,2,M,A,p.range,I,C,f),Q=t.isTileAffectedByFog(w),H=t.getOrCreateProgram("raster",{defines:p.defines,overrideFog:Q});if(t.uploadCommonUniforms(h,H,n),d instanceof e.as){const i=d.elevatedGlobeVertexBuffer,n=d.elevatedGlobeIndexBuffer;if(_||!a)d.boundsBuffer&&d.boundsSegments&&H.draw(t,u.TRIANGLES,P,It.disabled,m,Rt.disabled,W,r.id,d.boundsBuffer,t.quadTriangleIndexBuffer,d.boundsSegments);else if(i&&n){const s=F.zoom<=e.bJ?d.elevatedGlobeSegments:d.getSegmentsForLongitude(F.center.lng);s&&H.draw(t,u.TRIANGLES,P,It.disabled,m,o,W,r.id,i,n,s)}}else if(c){P=new Mt(u.LEQUAL,Mt.ReadOnly,t.depthRangeFor3D);const e=t.globeSharedBuffers;if(e){const[i,n,s]=e.getGridBuffers($,!1);H.draw(t,u.TRIANGLES,P,v||D,t.colorModeForRenderPass(),o,W,r.id,i,n,s)}}else{const{tileBoundsBuffer:e,tileBoundsIndexBuffer:i,tileBoundsSegments:n}=t.getTileBoundsBuffers(T);H.draw(t,u.TRIANGLES,P,D,m,Rt.disabled,W,r.id,e,i,n)}}if(!(d instanceof e.as)&&c)for(const e of n){const n=e.canonical.y===(1<e.cN[t](n)));f.push(n);const m=n.canonical.x,_=n.canonical.y;for(const e of f){const o=i.getTile(l?e.wrapped():e);if(!o)continue;const a=o.rasterParticleState;if(!a)continue;const h=e.canonical.x+(1<e.tileID))),u&&(a.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context,i.scope));for(const x of y){const d=e.isTileAffectedByFog(x),y=e.getOrCreateProgram(_,{overrideFog:d}),v=x.toUnwrapped(),b=r?x.projMatrix:e.transform.calculateProjMatrix(v);e.prepareDrawTile();const w=t?t.getTile(x):g?g[x.key]:new Nt(x,h,c.zoom,e),T=u?qn(b,s,o,e,u,i.scope,{tileID:x,tileSize:h}):Gn(b,s,o,n);e.uploadCommonUniforms(a,y,v);const{tileBoundsBuffer:E,tileBoundsIndexBuffer:S,tileBoundsSegments:M}=e.getTileBoundsBuffers(w);y.draw(e,l.TRIANGLES,f,p,m,Rt.disabled,T,i.id,E,S,M)}},sky:function(t,i,r){const n=t._atmosphere?e.W(t.transform.zoom):1,o=r.paint.get("sky-opacity")*n;if(0===o)return;const s=t.context,a=r.paint.get("sky-type"),l=new Mt(s.gl.LEQUAL,Mt.ReadOnly,[0,1]),c=t.frameCounter/1e3%1;"atmosphere"===a?"offscreen"===t.renderPass?r.needsSkyboxCapture(t)&&(function(t,i,r,n){const o=t.context,s=o.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=o.createFramebuffer(32,32,!0,null),i.skyboxGeometry=new Po(o),i.skyboxTexture=o.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let e=0;e<6;++e)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null)}o.bindFramebuffer.set(a.framebuffer),o.viewport.set([0,0,32,32]);const l=i.getCenter(t,!0),c=t.getOrCreateProgram("skyboxCapture"),h=new Float64Array(16);e.a9.identity(h),e.a9.rotateY(h,h,.5*-Math.PI),zo(t,i,c,h,l,0),e.a9.identity(h),e.a9.rotateY(h,h,.5*Math.PI),zo(t,i,c,h,l,1),e.a9.identity(h),e.a9.rotateX(h,h,.5*-Math.PI),zo(t,i,c,h,l,2),e.a9.identity(h),e.a9.rotateX(h,h,.5*Math.PI),zo(t,i,c,h,l,3),e.a9.identity(h),zo(t,i,c,h,l,4),e.a9.identity(h),e.a9.rotateY(h,h,Math.PI),zo(t,i,c,h,l,5),o.viewport.set([0,0,t.width,t.height])}(t,r),r.markSkyboxValid(t)):"sky"===t.renderPass&&function(e,t,i,r,n){const o=e.context,s=o.gl,a=e.transform,l=e.getOrCreateProgram("skybox");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_CUBE_MAP,t.skyboxTexture);const c=((e,t,i,r,n)=>({u_matrix:e,u_sun_direction:t,u_cubemap:0,u_opacity:r,u_temporal_offset:n}))(a.skyboxMatrix,t.getCenter(e,!1),0,r,n);e.uploadCommonUniforms(o,l),l.draw(e,s.TRIANGLES,i,It.disabled,e.colorModeForRenderPass(),Rt.backCW,c,"skybox",t.skyboxGeometry.vertexBuffer,t.skyboxGeometry.indexBuffer,t.skyboxGeometry.segment)}(t,r,l,o,c):"gradient"===a&&"sky"===t.renderPass&&function(t,i,r,n,o){const s=t.context,a=s.gl,l=t.transform,c=t.getOrCreateProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new Po(s)),s.activeTexture.set(a.TEXTURE0);let h=i.colorRampTexture;h||(h=i.colorRampTexture=new e.T(s,i.colorRamp,a.RGBA)),h.bind(a.LINEAR,a.CLAMP_TO_EDGE);const u=((t,i,r,n,o)=>({u_matrix:t,u_color_ramp:0,u_center_direction:i,u_radius:e.bm(r),u_opacity:n,u_temporal_offset:o}))(l.skyboxMatrix,i.getCenter(t,!1),i.paint.get("sky-gradient-radius"),n,o);t.uploadCommonUniforms(s,c),c.draw(t,a.TRIANGLES,r,It.disabled,t.colorModeForRenderPass(),Rt.backCW,u,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(t,r,l,o,c)},debug:function(t,i,r,n,o,s){for(let a=0;a{a&&(a.useNormalOffset=!0,l||(a.enabled=!0))},h=i.getSource();if("light-beam"===t.renderPass&&"batched-model"!==h.type)return;if("vector"===h.type||"geojson"===h.type)return function(t,i,r,n,o){const s=t.transform;if("mercator"!==s.projection.name)return void e.w(`Drawing 3D models for ${s.projection.name} projection is not yet implemented`);const a=s.getFreeCameraOptions().position;if(!t.modelManager)return;const l=t.modelManager;r.modelManager=l;const c=t.shadowRenderer;if(!r._unevaluatedLayout._values.hasOwnProperty("model-id"))return;const h=r._unevaluatedLayout._values["model-id"],u={...r.layout.get("model-id").parameters};for(const d of n){const n=i.getTile(d).getBucket(r);if(!n||n.projection.name!==s.projection.name)continue;const p=n.getModelUris();p&&!n.modelsRequested&&(l.addModelsFromBucket(p,o),n.modelsRequested=!0);const f=qo(d,s);u.zoom=f;const m=h.possiblyEvaluate(u);if(jo(t,n,d),Go.shadowUniformsInitialized=!1,Go.useSingleShadowCascade=!!c&&0===c.getMaxCascadeForTile(d.toUnwrapped()),"shadow"===t.renderPass&&c){if(1===t.currentShadowCascade&&n.isInsideFirstShadowMapFrustum)continue;const i=s.calculatePosMatrix(d.toUnwrapped(),s.worldSize);if(Go.tileMatrix.set(i),Go.shadowTileMatrix=Float32Array.from(c.calculateShadowPassMatrixFromMatrix(i)),Go.aabb.min.fill(0),Go.aabb.max[0]=Go.aabb.max[1]=e.Y,Go.aabb.max[2]=0,Wo(n,Go,t,r.scope))continue}const _=1<0&&(e=m.evaluate(i.features[0].feature,{}));const s=l.getModel(e,o);if(s&&s.uploaded)for(const e of s.nodes)Zo(t,r,e,i,g,d,Go)}}}(t,i,r,n,"vector"===h.type?r.scope:""),void c();if(!h.loaded())return;if("batched-model"===h.type)return function(t,i,r,n){r.resetLayerRenderingStats(t);const o=t.context,s=t.transform,a=t.style.fog,l=t.shadowRenderer;if("mercator"!==s.projection.name)return void e.w(`Drawing 3D landmark models for ${s.projection.name} projection is not yet implemented`);const c=t.transform.getFreeCameraOptions().position,h=e.Q.scale([],[c.x,c.y,c.z],t.transform.worldSize);e.Q.negate(h,h);const u=e.a9.identity([]),d=e.cZ(s.center.lat,s.zoom),p=e.a9.fromScaling([],[1,1,1/d]);e.a9.translate(u,u,h);const f=r.paint.get("model-opacity"),m=new Mt(o.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D),_=new Mt(o.gl.LEQUAL,Mt.ReadOnly,t.depthRangeFor3D),g=new e.bV([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),y="shadow"===t.renderPass,x=y&&l?l.getCurrentCascadeFrustum():s.getFrustum(s.scaleZoom(s.worldSize)),v=r.getLayerRenderingStats(),b=function(c,h){for(const d of n){const n=i.getTile(d).getBucket(r);if(!n||!n.uploaded)continue;let b=!1;l&&(b=0===l.getMaxCascadeForTile(d.toUnwrapped()));const w=s.calculatePosMatrix(d.toUnwrapped(),s.worldSize),T=n.modelTraits;for(const i of n.getNodesInfo()){if(i.hiddenByReplacement)continue;if(!i.node.meshes)continue;const n=i.evaluatedScale,d=i.node;let E=0;if(t.terrain&&d.elevation&&(E=d.elevation*t.terrain.exaggeration()),n[0]<=1&&n[1]<=1&&n[2]<=1&&0===(()=>{const t=i.getLocalBounds();return g.min=[...t.min],g.max=[...t.max],g.min[2]+=E,g.max[2]+=E,e.Q.transformMat4(g.min,g.min,w),e.Q.transformMat4(g.max,g.max,w),g})().intersects(x))continue;const S=[...w];e.a9.translate(S,S,[(d.anchor?d.anchor[0]:0)*(n[0]-1),(d.anchor?d.anchor[1]:0)*(n[1]-1),E]),e.Q.exactEquals(n,e.c$)||e.a9.scale(S,S,n);const M=e.a9.multiply([],S,d.matrix);let A=e.a9.multiply([],p,S);e.a9.multiply(A,u,A);const I=e.a9.invert([],A);e.a9.transpose(I,I),e.a9.scale(I,I,$o),A=e.a9.multiply(A,A,d.matrix);const C="light-beam"===t.renderPass,P=e.a9.multiply([],s.expandedFarZProjMatrix,M),z=e.a9.multiply([],s.expandedFarZProjMatrix,S),D=T&e.d1.HasMapboxMeshFeatures,R=D?0:i.evaluatedRMEA[0][2];for(let e=0;e=pe||o>=pe}}const T=n.material;let E;T.occlusionTexture&&T.occlusionTexture.offsetScale&&(E=T.occlusionTexture.offsetScale,g.defines.push("OCCLUSION_TEXTURE_TRANSFORM")),!y&&l&&(l.useNormalOffset=!!n.normalBuffer);const L=t.getOrCreateProgram("model",g);!y&&l&&l.setupShadowsFromMatrix(S,L,l.useNormalOffset),t.uploadCommonUniforms(o,L,null,w);const k=T.pbrMetallicRoughness;k.metallicFactor=.9,k.roughnessFactor=.5;const O=$n(new Float32Array(p),new Float32Array(A),new Float32Array(I),new Float32Array(d.matrix),t,f,k.baseColorFactor,T.emissiveFactor,k.metallicFactor,k.roughnessFactor,T,R,r,[0,0,0],E);L.draw(t,o.gl.TRIANGLES,h&&!u?m:_,It.disabled,c?u||f<1||i.hasTranslucentParts?Pt.alphaBlended:Pt.unblended:Pt.disabled,Rt.backCCW,O,r.id,n.vertexBuffer,n.indexBuffer,n.segments,r.paint,t.transform.zoom,void 0,x)}}}};(function(e,t,i,r){const n=e.terrain?e.terrain.exaggeration():0,o=e.transform.zoom;for(const s of r){const r=t.getTile(s).getBucket(i);r&&(e.conflationActive&&r.updateReplacement(s,e.replacementSource),r.evaluateScale(e,i),e.terrain&&n>0&&r.elevationUpdate(e.terrain,n,s,i.source),r.needsReEvaluation(e,o,i)&&r.evaluate(i))}})(t,i,r,n),1===f?b(!0,!0):(b(!1,!0),b(!0,!1))}(t,i,r,n),void c();const u=h.getModels(),d=[],p=t.transform.getFreeCameraOptions().position,f=e.Q.scale([],[p.x,p.y,p.z],t.transform.worldSize);e.Q.negate(f,f);const m=[],_=[];let g=0;for(const y of u){const i=r.paint.get("model-rotation").constantOr(null),n=r.paint.get("model-scale").constantOr(null),o=r.paint.get("model-translation").constantOr(null);y.computeModelMatrix(t,i,n,o,!0,!0,!1);const s=e.a9.identity([]),a=e.cZ(y.position.lat,t.transform.zoom),l=e.a9.fromScaling([],[1,1,1/a]);e.a9.translate(s,s,f),d.push({zScaleMatrix:l,negCameraPosMatrix:s});for(const e of y.nodes)Vo(t.transform,e,y.matrix,t.transform.expandedFarZProjMatrix,g,m,_);g++}if(m.sort(((e,t)=>t.depth-e.depth)),"shadow"!==t.renderPass){if(1===o)for(const e of _)No(e,t,r,d[e.modelIndex],It.disabled,t.colorModeForRenderPass());else{for(const e of _)No(e,t,r,d[e.modelIndex],It.disabled,Pt.disabled);for(const e of _)No(e,t,r,d[e.modelIndex],t.stencilModeFor3D(),t.colorModeForRenderPass());t.resetStencilClippingMasks()}for(const e of m)No(e,t,r,d[e.modelIndex],It.disabled,t.colorModeForRenderPass());c()}else{for(const e of _)Uo(e.mesh,e.nodeModelMatrix,t,r);for(const e of m)Uo(e.mesh,e.nodeModelMatrix,t,r);c()}}},Yo={model:function(e,t,i){const r=t.getSource();if(!r.loaded())return;if("vector"===r.type||"geojson"===r.type)return void(i.modelManager&&i.modelManager.upload(i,"vector"===r.type?e.scope:""));if("batched-model"===r.type)return;const n=r.getModels();for(const o of n)o.upload(i.context)},raster:function(e,t,i){const r=t.getSource();if(!(r instanceof ze&&r.loaded()))return;const n=e.sourceLayer||r.rasterLayerIds&&r.rasterLayerIds[0];if(!n)return;const o=e.paint.get("raster-array-band")||r.getInitialBand(n);if(null==o)return;const s=t.getIds().map((e=>t.getTileByID(e)));for(const a of s)a.updateNeeded(n,o)&&r.prepareTile(a,n,o)},"raster-particle":function(e,t,i){const r=t.getSource();if(!(r instanceof ze&&r.loaded()))return;const n=e.sourceLayer||r.rasterLayerIds&&r.rasterLayerIds[0];if(!n)return;const o=e.paint.get("raster-particle-array-band")||r.getInitialBand(n);if(null==o)return;const s=t.getIds().map((e=>t.getTileByID(e)));for(const a of s)a.updateNeeded(n,o)&&r.prepareTile(a,n,o)}};class Ko{constructor(t,i,r,n){this.context=new Lt(t,i),this.transform=r,this._tileTextures={},this.frameCopies=[],this.loadTimeStamps=[],this.tp=n,this._timeStamp=(new Date).getTime(),this._averageFPS=0,this._fpsHistory=[],this._debugParams={showTerrainProxyTiles:!1,fpsWindow:30,continousRedraw:!1,enabledLayers:{}};const o=["fill","line","symbol","circle","heatmap","fill-extrusion","raster","raster-particle","hillshade","model","background","sky"];for(const e of o)this._debugParams.enabledLayers[e]=!0;n.registerParameter(this._debugParams,["Terrain"],"showTerrainProxyTiles",{},(()=>{this.style.map.triggerRepaint()})),n.registerParameter(this._debugParams,["FPS"],"fpsWindow",{min:1,max:100,step:1}),n.registerBinding(this._debugParams,["FPS"],"continousRedraw",{readonly:!0,label:"continuous redraw"}),n.registerBinding(this,["FPS"],"_averageFPS",{readonly:!0,label:"value"}),n.registerBinding(this,["FPS"],"_averageFPS",{readonly:!0,label:"graph",view:"graph",min:0,max:200});for(const e of o)n.registerParameter(this._debugParams.enabledLayers,["Debug","Layers"],e);this.setup(),this.numSublayers=Qt.maxUnderzooming+Qt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.deferredRenderGpuTimeQueries=[],this.gpuTimers={},this.frameCounter=0,this._backgroundTiles={},this.conflationActive=!1,this.replacementSource=new e.d3,this.longestCutoffRange=0,this.minCutoffZoom=0,this._fogVisible=!1,this._cachedTileFogOpacities={},this._shadowRenderer=new xr(this),this._wireframeDebugCache=new Ho,this.renderDefaultNorthPole=!0,this.renderDefaultSouthPole=!0}updateTerrain(e,t){const i=!!e&&!!e.terrain&&this.transform.projection.supportsTerrain;if(!(i||this._terrain&&this._terrain.enabled))return;this._terrain||(this._terrain=new fn(this,e));const r=this._terrain;this.transform.elevation=i?r:null,r.update(e,this.transform,t),this.transform.elevation&&!r.enabled&&(this.transform.elevation=null)}_updateFog(e){const t=e.fog;if(!t||"globe"===this.transform.projection.name||t.getOpacity(this.transform.pitch)<1||t.properties.get("horizon-blend")<.03)return void(this.transform.fogCullDistSq=null);const[i,r]=t.getFovAdjustedRange(this.transform._fov);if(i>r)return void(this.transform.fogCullDistSq=null);const n=i+.78*(r-i);this.transform.fogCullDistSq=n*n}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}get shadowRenderer(){return this._shadowRenderer&&this._shadowRenderer.enabled?this._shadowRenderer:null}get wireframeDebugCache(){return this._wireframeDebugCache}resize(t,i){if(this.width=t*e.f.devicePixelRatio,this.height=i*e.f.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const e of this.style.order)this.style._mergedLayers[e].resize()}setup(){const t=this.context,i=new e.aQ;i.emplaceBack(0,0),i.emplaceBack(e.Y,0),i.emplaceBack(0,e.Y),i.emplaceBack(e.Y,e.Y),this.tileExtentBuffer=t.createVertexBuffer(i,e.aS.members),this.tileExtentSegments=e.aE.simpleSegment(0,0,4,2);const r=new e.aQ;r.emplaceBack(0,0),r.emplaceBack(e.Y,0),r.emplaceBack(0,e.Y),r.emplaceBack(e.Y,e.Y),this.debugBuffer=t.createVertexBuffer(r,e.aS.members),this.debugSegments=e.aE.simpleSegment(0,0,4,5);const n=new e.aQ;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(-1,1),n.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(n,e.aS.members),this.viewportSegments=e.aE.simpleSegment(0,0,4,2);const o=new e.ay;o.emplaceBack(0,0,0,0),o.emplaceBack(e.Y,0,e.Y,0),o.emplaceBack(0,e.Y,0,e.Y),o.emplaceBack(e.Y,e.Y,e.Y,e.Y),this.mercatorBoundsBuffer=t.createVertexBuffer(o,e.aU.members),this.mercatorBoundsSegments=e.aE.simpleSegment(0,0,4,2);const s=new e.az;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const a=new e.aR;for(const e of[0,1,3,2,0])a.emplaceBack(e);this.debugIndexBuffer=t.createIndexBuffer(a),this.emptyTexture=new e.T(t,new e.h({width:1,height:1},Uint8Array.of(0,0,0,0)),t.gl.RGBA),this.identityMat=e.a9.create();const l=this.context.gl;this.stencilClearMode=new It({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(performance.now())}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(e){return e._makeTileBoundsBuffers(this.context,this.transform.projection),e._tileBoundsBuffer?{tileBoundsBuffer:e._tileBoundsBuffer,tileBoundsIndexBuffer:e._tileBoundsIndexBuffer,tileBoundsSegments:e._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const e=this.context.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.getOrCreateProgram("clippingMask").draw(this,e.TRIANGLES,Mt.disabled,this.stencilClearMode,Pt.disabled,Rt.disabled,cn(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(e,t,i){if(!t||this.currentStencilSource===t.id||!e.isTileClipped()||!i||0===i.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let e=!1;for(const t of i)if(void 0===this._tileClippingMaskIDs[t.key]){e=!0;break}if(!e)return}this.currentStencilSource=t.id;const r=this.context,n=r.gl;this.nextStencilID+i.length>256&&this.clearStencil(),r.setColorMode(Pt.disabled),r.setDepthMode(Mt.disabled);const o=this.getOrCreateProgram("clippingMask");this._tileClippingMaskIDs={};for(const s of i){const e=t.getTile(s),i=this._tileClippingMaskIDs[s.key]=this.nextStencilID++,{tileBoundsBuffer:r,tileBoundsIndexBuffer:a,tileBoundsSegments:l}=this.getTileBoundsBuffers(e);o.draw(this,n.TRIANGLES,Mt.disabled,new It({func:n.ALWAYS,mask:0},i,255,n.KEEP,n.KEEP,n.REPLACE),Pt.disabled,Rt.disabled,cn(s.projMatrix),"$clipping",r,a,l)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,t=this.context.gl;return new It({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(e);const t=this.context.gl;return new It({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){const t=this.context.gl,i=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const e={};for(let i=0;ithis.style&&this.style.enable3dLights()&&this.terrain&&this.terrain.renderingToTexture)()&&"translucent"===this.renderPass?new Pt([i.ONE,i.ONE_MINUS_SRC_ALPHA,i.CONSTANT_ALPHA,i.ONE_MINUS_SRC_ALPHA],new e.aA(0,0,0,void 0===t?0:t),[!0,!0,!0,!0]):this.colorModeForRenderPass()}depthModeForSublayer(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!this.opaquePassEnabledForLayer()&&!r)return Mt.disabled;const n=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new Mt(i||this.context.gl.LEQUAL,t,[n,n])}opaquePassEnabledForLayer(){return this.currentLayerthis._debugParams.fpsWindow&&this._fpsHistory.splice(0,this._fpsHistory.length-this._debugParams.fpsWindow),this._averageFPS=Math.round(this._fpsHistory.reduce(((e,t)=>e+t/this._fpsHistory.length),0))}render(t,i){this._wireframeDebugCache.update(this.frameCounter),this._debugParams.continousRedraw=t.map.repaint,this.style=t,this.options=i;const r=this.style._mergedLayers,n=this.style.order.filter((e=>{const t=r[e];return!(t.type in this._debugParams.enabledLayers)||this._debugParams.enabledLayers[t.type]})),o=n.map((e=>r[e])),s=this.style._mergedSourceCaches;this.imageManager=t.imageManager,this.modelManager=t.modelManager,this.symbolFadeChange=t.placement.symbolFadeChange(e.f.now()),this.imageManager.beginFrame();let a=0,l=!1;for(const e in s){const t=s[e];t.used&&(t.prepare(this.context),t.getSource().usedInConflation&&++a)}for(const e of o)e.isHidden(this.transform.zoom)||this.prepareLayer(e);const c={},h={},u={},d={},p={};for(const e in s){const t=s[e];c[e]=t.getVisibleCoordinates(),h[e]=c[e].slice().reverse(),u[e]=t.getVisibleCoordinates(!0).reverse(),d[e]=t.getShadowCasterCoordinates(),p[e]=t.sortCoordinatesByDistance(c[e])}const f=e=>{const t=this.style.getLayerSourceCache(e);return t&&t.used?t.getSource():null};if(a){const e=[];for(const t of o)this.layerUsedInConflation(t,f(t))&&e.push(t);if(e&&e.length>1){const t=[];for(const i of e){const e=this.style.getLayerSourceCache(i);e&&e.used&&e.getSource().usedInConflation&&t.push({layer:i.fqid,cache:e})}this.replacementSource.setSources(t),l=!0}}l||this.replacementSource.clear(),this.conflationActive=l,this.minCutoffZoom=0,this.longestCutoffRange=0;for(const e of o){const t=e.cutoffRange();if(this.longestCutoffRange=Math.max(t,this.longestCutoffRange),t>0){const t=f(e);t&&(this.minCutoffZoom=Math.max(t.minzoom,this.minCutoffZoom)),e.minzoom&&(this.minCutoffZoom=Math.max(e.minzoom,this.minCutoffZoom))}}this.opaquePassCutoff=1/0;for(let e=0;e{if(i.showOverdrawInspector)return e.aA.black;if(this.style.fog&&this.transform.projection.supportsFog&&!y){const t=this.style.fog.properties.get("color").toArray01();return new e.aA(...t)}if(this.style.fog&&this.transform.projection.supportsFog&&y){const t=this.style.fog.properties.get("space-color").toArray01();return new e.aA(...t)}return e.aA.transparent})();if(this.context.clear({color:x,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.renderPass="opaque",this.style.fog&&this.transform.projection.supportsFog&&this._atmosphere&&!this._showOverdrawInspector&&y&&this._atmosphere.drawStars(this,this.style.fog),!this.terrain)for(this.currentLayer=n.length-1;this.currentLayer>=0;this.currentLayer--){const e=o[this.currentLayer],i=t.getLayerSourceCache(e);if(e.isSky())continue;const r=i?(e.is3D()?p:h)[i.id]:void 0;this._renderTileClippingMasks(e,i,r),this.renderLayer(this,i,e,r)}if(this.style.fog&&this.transform.projection.supportsFog&&this._atmosphere&&!this._showOverdrawInspector&&y&&this._atmosphere.drawAtmosphereGlow(this,this.style.fog),this.renderPass="sky",(!this._atmosphere||e.W(this.transform.zoom)>0)&&("globe"===this.transform.projection.name||this.transform.isHorizonVisible()))for(this.currentLayer=0;this.currentLayer0&&e.hasShadowPass()&&0==--b&&(_.drawGroundShadows(),this.firstLightBeamLayer<=this.currentLayer)){const e=this.currentLayer;for(this.renderPass="light-beam",this.currentLayer=this.firstLightBeamLayer;this.currentLayer<=e;this.currentLayer++){const e=o[this.currentLayer];if(!e.hasLightBeamPass())continue;const i=t.getLayerSourceCache(e);this.renderLayer(this,i,e,i?h[i.id]:void 0)}this.currentLayer=e,this.renderPass="translucent"}++this.currentLayer}}if(this.terrain&&this.terrain.postRender(),this.options.showTileBoundaries||this.options.showQueryGeometry||this.options.showTileAABBs){let i=null;o.forEach((e=>{const r=t.getLayerSourceCache(e);r&&!e.isHidden(this.transform.zoom)&&r.getVisibleCoordinates().length&&(!i||i.getSource().maxzoom0?t.pop():null}isPatternMissing(e,t){return null===e||void 0!==e&&!this.imageManager.getPattern(e.toString(),t)}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}linearFloatFilteringSupported(){return null!=this.context.extTextureFloatLinear}currentGlobalDefines(e,t,i){const r=void 0===i?this.terrain&&this.terrain.renderingToTexture:i,n=this.terrain&&0===this.terrain.exaggeration(),o=[];return this.style&&this.style.enable3dLights()&&("globeRaster"===e||"terrainRaster"===e?(o.push("LIGHTING_3D_MODE"),o.push("LIGHTING_3D_ALPHA_EMISSIVENESS")):r||o.push("LIGHTING_3D_MODE")),"shadow"===this.renderPass?this._shadowMapDebug||o.push("DEPTH_TEXTURE"):this.shadowRenderer&&(this.shadowRenderer.useNormalOffset?o.push("RENDER_SHADOWS","DEPTH_TEXTURE","NORMAL_OFFSET"):o.push("RENDER_SHADOWS","DEPTH_TEXTURE")),this.terrainRenderModeElevated()&&(o.push("TERRAIN"),this.linearFloatFilteringSupported()&&o.push("TERRAIN_DEM_FLOAT_FORMAT"),n&&o.push("ZERO_EXAGGERATION")),"globe"===this.transform.projection.name&&o.push("GLOBE"),!this._fogVisible||r||void 0!==t&&!t||o.push("FOG","FOG_DITHERING"),r&&o.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&o.push("OVERDRAW_INSPECTOR"),o}getOrCreateProgram(e,t){this.cache=this.cache||{};const i=t&&t.defines||[],r=t&&t.config,n=this.currentGlobalDefines(e,t&&t.overrideFog,t&&t.overrideRtt).concat(i),o=yn.cacheKey($r[e],e,n,r);return this.cache[o]||(this.cache[o]=new yn(this.context,e,$r[e],r,Qn[e],n)),this.cache[o]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new e.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this._atmosphere&&(this._atmosphere.destroy(),this._atmosphere=void 0),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this._wireframeDebugCache.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}uploadCommonLightUniforms(t,i){if(this.style.enable3dLights()){const r=this.style.directionalLight,n=this.style.ambientLight;if(r&&n){const o=((t,i)=>{const r=t.properties.get("direction"),n=t.properties.get("color").toArray01(),o=t.properties.get("intensity"),s=i.properties.get("color").toArray01(),a=i.properties.get("intensity"),l=[r.x,r.y,r.z],c=e.cs(s,a),h=e.cs(n,o);return{u_lighting_ambient_color:c,u_lighting_directional_dir:l,u_lighting_directional_color:h,u_ground_radiance:mn(l,h,c)}})(r,n);i.setLightsUniformValues(t,o)}}}uploadCommonUniforms(t,i,r,n,o){if(this.uploadCommonLightUniforms(t,i),this.terrain&&this.terrain.renderingToTexture)return;const s=this.style.fog;if(s){const o=s.getOpacity(this.transform.pitch),a=((t,i,r,n,o,s,a,l,c,h,u,d)=>{const p=t.transform,f=i.properties.get("color").toArray01();f[3]=n;const m=t.frameCounter/1e3%1,[_,g]=i.properties.get("vertical-range");return{u_fog_matrix:r?p.calculateFogTileMatrix(r):d||t.identityMat,u_fog_range:i.getFovAdjustedRange(p._fov),u_fog_color:f,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_vertical_limit:[Math.min(_,g),g],u_fog_temporal_offset:m,u_frustum_tl:o,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:h,u_viewport:u,u_globe_transition:e.W(p.zoom),u_is_globe:+("globe"===p.projection.name)}})(this,s,r,o,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*e.f.devicePixelRatio,this.transform.height*e.f.devicePixelRatio],n);i.setFogUniformValues(t,a)}o&&i.setCutoffUniformValues(t,o.uniformValues)}setTileLoadedFlag(e){this.tileLoaded=e}saveCanvasCopy(){const e=this.canvasCopy();e&&(this.frameCopies.push(e),this.tileLoaded=!1)}canvasCopy(){const e=this.context.gl,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,0,0,e.drawingBufferWidth,e.drawingBufferHeight,0),t}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const e=this.style&&this.style.fog;return!!e&&0!==e.getOpacity(this.transform.pitch)}getBackgroundTiles(){const e=this._backgroundTiles,t=this._backgroundTiles={},i=this.transform.coveringTiles({tileSize:512});for(const r of i)t[r.key]=e[r.key]||new Nt(r,512,this.transform.tileZoom,this);return t}clearBackgroundTiles(){this._backgroundTiles={}}layerUsedInConflation(e,t){return!(!e.is3D()||e.minzoom&&e.minzoom>this.transform.zoom||"building"!==e.sourceLayer&&(!t||"batched-model"!==t.type))}isTileAffectedByFog(e){if(!this.style||!this.style.fog)return!1;if("globe"===this.transform.projection.name)return!0;let t=this._cachedTileFogOpacities[e.key];return t||(this._cachedTileFogOpacities[e.key]=t=this.style.fog.getOpacityForTile(e)),t[0]>=pe||t[1]>=pe}}function Jo(e,t){let i=!1,r=null;const n=()=>{r=null,i&&(e(),r=setTimeout(n,t),i=!1)};return()=>(i=!0,r||n(),r)}class es{constructor(t){this._hashName=t&&encodeURIComponent(t),e.a$(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Jo(this._updateHashUnthrottled.bind(this),300)}addTo(e){return this._map=e,window.addEventListener("hashchange",this._onHashChange,!1),e.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const e=this._map;if(!e)return"";const t=ts(e);if(this._hashName){const e=this._hashName;let i=!1;const r=location.hash.slice(1).split("&").map((r=>{const n=r.split("=")[0];return n===e?(i=!0,`${n}=${t}`):r})).filter((e=>e));return i||r.push(`${e}=${t}`),`#${r.join("&")}`}return`#${t}`}_getCurrentHash(){const e=location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((e=>e.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")}_onHashChange(){const e=this._map;if(!e)return!1;const t=this._getCurrentHash();if(t.length>=3&&!t.some((e=>isNaN(e)))){const i=e.dragRotate.isEnabled()&&e.touchZoomRotate.isEnabled()?+(t[3]||0):e.getBearing();return e.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:i,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){history.replaceState(history.state,"",location.href.replace(/(#.+)?$/,this.getHashString()))}}function ts(e,t){const i=e.getCenter(),r=Math.round(100*e.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,n),s=Math.round(i.lng*o)/o,a=Math.round(i.lat*o)/o,l=e.getBearing(),c=e.getPitch();let h=t?`/${s}/${a}/${r}`:`${r}/${a}/${s}`;return(l||c)&&(h+="/"+Math.round(10*l)/10),c&&(h+=`/${Math.round(c)}`),h}const is={linearity:.3,easing:e.d6(0,0,.3,1)},rs=e.e({deceleration:2500,maxSpeed:1400},is),ns=e.e({deceleration:20,maxSpeed:1400},is),os=e.e({deceleration:1e3,maxSpeed:360},is),ss=e.e({deceleration:1e3,maxSpeed:90},is);class as{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.f.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,i=e.f.now();for(;t.length>0&&i-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:e}of this._inertiaBuffer)i.zoom+=e.zoomDelta||0,i.bearing+=e.bearingDelta||0,i.pitch+=e.pitchDelta||0,e.panDelta&&i.pan._add(e.panDelta),e.around&&(i.around=e.around),e.pinchAround&&(i.pinchAround=e.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const o=cs(i.pan.mag(),r,e.e({},rs,t||{}));n.offset=i.pan.mult(o.amount/i.pan.mag()),n.center=this._map.transform.center,ls(n,o)}if(i.zoom){const e=cs(i.zoom,r,ns);n.zoom=this._map.transform.zoom+e.amount,ls(n,e)}if(i.bearing){const t=cs(i.bearing,r,os);n.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),ls(n,t)}if(i.pitch){const e=cs(i.pitch,r,ss);n.pitch=this._map.transform.pitch+e.amount,ls(n,e)}if(n.zoom||n.bearing){const e=void 0===i.pinchAround?i.around:i.pinchAround;n.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),n.noMoveStart=!0,n}}function ls(e,t){(!e.duration||e.duration3&&void 0!==arguments[3]?arguments[3]:{};const o=f(i.getCanvasContainer(),r),s=i.unproject(o);super(t,e.e({point:o,lngLat:s,originalEvent:r},n)),this._defaultPrevented=!1,this.target=i}}class us extends e.b{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,i,r){const n="touchend"===t?r.changedTouches:r.touches,o=m(i.getCanvasContainer(),n),s=o.map((e=>i.unproject(e))),a=o.reduce(((e,t,i,r)=>e.add(t.div(r.length))),new e.P(0,0));super(t,{points:o,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:r}),this._defaultPrevented=!1}}class ds extends e.b{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,i){super(e,{originalEvent:i}),this._defaultPrevented=!1}}class ps{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){this._mousedownPos=void 0}wheel(e){return this._firePreventable(new ds(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new hs(e.type,this._map,e))}mouseup(e){this._map.fire(new hs(e.type,this._map,e))}preclick(t){const i=e.e({},t);i.type="preclick",this._map.fire(new hs(i.type,this._map,i))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||(this.preclick(e),this._map.fire(new hs(e.type,this._map,e)))}dblclick(e){return this._firePreventable(new hs(e.type,this._map,e))}mouseover(e){this._map.fire(new hs(e.type,this._map,e))}mouseout(e){this._map.fire(new hs(e.type,this._map,e))}touchstart(e){return this._firePreventable(new us(e.type,this._map,e))}touchmove(e){this._map.fire(new us(e.type,this._map,e))}touchend(e){this._map.fire(new us(e.type,this._map,e))}touchcancel(e){this._map.fire(new us(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class fs{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(e){this._map.fire(new hs(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new hs("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new hs(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ms{constructor(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(h(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;const i=t,r=this._startPos,n=this._lastPos;if(!r||!n||n.equals(i)||!this._box&&i.dist(r){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px")}))}mouseupWindow(t,i){if(!this._active)return;const r=this._startPos,n=i;if(r&&0===t.button){if(this.reset(),p(),r.x!==n.x||r.y!==n.y)return this._map.fire(new e.b("boxzoomend",{originalEvent:t})),{cameraAnimation:e=>e.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",t)}}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos}_fireEvent(t,i){return this._map.fire(new e.b(t,{originalEvent:i}))}}function _s(e,t){const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=_s(r,i)))}touchmove(e,t,i){if(this.aborted||!this.centroid)return;const r=_s(i,t);for(const n in this.touches){const e=r[n];(!e||e.dist(this.touches[n])>30)&&(this.aborted=!0)}}touchend(e,t,i){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class ys{constructor(e){this.singleTap=new gs(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(e,t,i){this.singleTap.touchstart(e,t,i)}touchmove(e,t,i){this.singleTap.touchmove(e,t,i)}touchend(e,t,i){const r=this.singleTap.touchend(e,t,i);if(r){const t=e.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(t&&i||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class xs{constructor(){this._zoomIn=new ys({numTouches:1,numTaps:2}),this._zoomOut=new ys({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,i){this._zoomIn.touchstart(e,t,i),this._zoomOut.touchstart(e,t,i)}touchmove(e,t,i){this._zoomIn.touchmove(e,t,i),this._zoomOut.touchmove(e,t,i)}touchend(e,t,i){const r=this._zoomIn.touchend(e,t,i),n=this._zoomOut.touchend(e,t,i);return r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(r)},{originalEvent:e})}):n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(n)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const vs={0:1,2:2};class bs{constructor(e){this.reset(),this._clickTolerance=e.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(e,t){return!1}_move(e,t){return{}}mousedown(e,t){if(this._lastPoint)return;const i=_(e);this._correctButton(e,i)&&(this._lastPoint=t,this._eventButton=i)}mousemoveWindow(e,t){const i=this._lastPoint;if(i)if(e.preventDefault(),null!=this._eventButton&&function(e,t){const i=vs[t];return void 0===e.buttons||(e.buttons&i)!==i}(e,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)0&&(this._active=!0);const n=_s(r,i),o=new e.P(0,0),s=new e.P(0,0);let a=0;for(const e in n){const t=n[e],i=this._touches[e];i&&(o._add(t),s._add(t.sub(i)),a++,n[e]=t)}if(this._touches=n,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.removeAttribute("role")}),500)}}class Ms{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(e){}_move(e,t,i){return{}}touchstart(e,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,i){const r=this._firstTwoTouches;if(!r)return;e.preventDefault();const[n,o]=r,s=As(i,t,n),a=As(i,t,o);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,e)}touchend(e,t,i){if(!this._firstTwoTouches)return;const[r,n]=this._firstTwoTouches,o=As(i,t,r),s=As(i,t,n);o&&s||(this._active&&p(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function As(e,t,i){for(let r=0;rMath.abs(e.x)}class Rs extends Ms{constructor(e){super(),this._map=e}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(e){this._lastPoints=e,Ds(e[0].sub(e[1]))&&(this._valid=!1)}_move(t,i,r){const n=this._lastPoints;if(!n)return;const o=t[0].sub(n[0]),s=t[1].sub(n[1]);return this._map._cooperativeGestures&&!e.d7()&&r.touches.length<3||(this._valid=this.gestureBeginsVertically(o,s,r.timeStamp),!this._valid)?void 0:(this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+s.y)/2*-.5})}gestureBeginsVertically(e,t,i){if(void 0!==this._valid)return this._valid;const r=e.mag()>=2,n=t.mag()>=2;if(!r&&!n)return;if(!r||!n)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=e.y>0==t.y>0;return Ds(e)&&Ds(t)&&o}}const Ls={panStep:100,bearingStep:15,pitchStep:10};class ks{constructor(){const e=Ls;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,i=0,r=0,n=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?i=-1:(e.preventDefault(),n=-1);break;case 39:e.shiftKey?i=1:(e.preventDefault(),n=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:Os,zoom:t?Math.round(a)+t*(e.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-o*this._panStep],center:s.getCenter()},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Os(e){return e*(2-e)}const Bs=4.000244140625,Fs=1/450;class Ns{constructor(t,i){this._map=t,this._el=t.getCanvasContainer(),this._handler=i,this._delta=0,this._lastDelta=0,this._defaultZoomRate=.01,this._wheelZoomRate=Fs,e.a$(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this)}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(t){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(t.ctrlKey||t.metaKey||this.isZooming()||e.d7()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer))}let i=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=e.f.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Bs==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault()}_onTimeout(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const t=f(this._el,e);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:t,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._map.transform;"wheel"===this._type&&t.projection.wrap&&(t._center.lng>=180||t._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>t._terrainEnabled()&&this._aroundCoord?t.computeZoomRelativeTo(this._aroundCoord):t.zoom;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>Bs?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n=i(),o=Math.pow(2,n),s="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):o;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*r))),"wheel"===this._type&&(this._startZoom=n,this._easing=this._smoothOutEasing(200)),this._lastDelta=this._delta,this._delta=0}const r="number"==typeof this._targetZoom?this._targetZoom:i(),n=this._startZoom,o=this._easing;let s,a=!1;if("wheel"===this._type&&n&&o){const t=Math.min((e.f.now()-this._lastWheelEventTime)/200,1),i=o(t);s=e.X(n,r,i),t<1?this._frameId||(this._frameId=!0):a=!0}else s=r,a=!0;this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200));let l=s-i();return l*this._lastDelta<0&&(l=0),{noInertia:!0,needsRenderFrame:!a,zoomDelta:l,around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.d8;if(this._prevEase){const t=this._prevEase,r=(e.f.now()-t.start)/t.duration,n=t.easing(r+.01)-t.easing(r),o=.27/Math.sqrt(n*n+1e-4)*.01,s=Math.sqrt(.0729-o*o);i=e.d6(o,s,.25,1)}return this._prevEase={start:e.f.now(),duration:t,easing:i},i}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=o("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.removeAttribute("role")}),200)}}class Vs{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Us{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(e,t){return e.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(e.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class js{constructor(){this._tap=new ys({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(e,t,i){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(e,t,i))}touchmove(e,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=t[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(e,t,i)}touchend(e,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(e,t,i)&&(this._tapTime=e.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Gs{constructor(e,t,i){this._el=e,this._mousePan=t,this._touchPan=i}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class qs{constructor(e,t,i){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Zs{constructor(e,t,i,r){this._el=e,this._touchZoom=t,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const $s=e=>e.zoom||e.drag||e.pitch||e.rotate;class Ws extends e.b{}class Qs{constructor(){this.constants=[1,1,.01],this.radius=0}setup(t,i){const r=e.Q.sub([],i,t);this.radius=e.Q.length(r[2]<0?e.Q.div([],r,this.constants):[r[0],r[1],0])}projectRay(t){e.Q.div(t,t,this.constants),e.Q.normalize(t,t),e.Q.mul(t,t,this.constants);const i=e.Q.scale([],t,this.radius);if(i[2]>0){const t=e.Q.scale([],[0,0,1],e.Q.dot(i,[0,0,1])),r=e.Q.scale([],e.Q.normalize([],[i[0],i[1],0]),this.radius),n=e.Q.add([],i,e.Q.scale([],e.Q.sub([],e.Q.add([],r,t),i),2));i[0]=n[0],i[1]=n[1]}return i}}function Hs(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Xs{constructor(t,i){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new as(t),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new Qs,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),e.a$(["handleEvent","handleWindowEvent"],this);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[e,n,o]of this._listeners){const t=e===document?this.handleWindowEvent:this.handleEvent;e.addEventListener(n,t,o)}}destroy(){for(const[e,t,i]of this._listeners){const r=e===document?this.handleWindowEvent:this.handleEvent;e.removeEventListener(t,r,i)}}_addDefaultHandlers(e){const t=this._map,i=t.getCanvasContainer();this._add("mapEvent",new ps(t,e));const r=t.boxZoom=new ms(t,e);this._add("boxZoom",r);const n=new xs,o=new Us;t.doubleClickZoom=new Vs(o,n),this._add("tapZoom",n),this._add("clickZoom",o);const s=new js;this._add("tapDragZoom",s);const a=t.touchPitch=new Rs(t);this._add("touchPitch",a);const l=new Ts(e),c=new Es(e);t.dragRotate=new qs(e,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new ws(e),u=new Ss(t,e);t.dragPan=new Gs(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const d=new zs,p=new Cs;t.touchZoomRotate=new Zs(i,p,d,s),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]),this._add("blockableMapEvent",new fs(t));const f=t.scrollZoom=new Ns(t,this);this._add("scrollZoom",f,["mousePan"]);const m=t.keyboard=new ks;this._add("keyboard",m);for(const _ of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])e.interactive&&e[_]&&t[_].enable(e[_])}_add(e,t,i){this._handlers.push({handlerName:e,handler:t,allowed:i}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(const{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[],this._originalZoom=void 0}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!$s(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(e,t,i){for(const r in e)if(r!==i&&(!t||t.indexOf(r)<0))return!0;return!1}handleWindowEvent(e){this.handleEvent(e,`${e.type}Window`)}_getMapTouches(e){const t=[];for(const i of e)this._el.contains(i.target)&&t.push(i);return t}handleEvent(e,t){this._updatingCamera=!0;const i="renderFrame"===e.type,r=i?void 0:e,n={needsRenderFrame:!1},o={},s={},a=e.touches?this._getMapTouches(e.touches):void 0,l=a?m(this._el,a):i?void 0:f(this._el,e);for(const{handlerName:u,handler:d,allowed:p}of this._handlers){if(!d.isEnabled())continue;let i;this._blockedByActive(s,p,u)?d.reset():d[t||e.type]&&(i=d[t||e.type](e,l,a),this.mergeHandlerResult(n,o,i,u,r),i&&i.needsRenderFrame&&this._triggerRenderFrame()),(i||d.isActive())&&(s[u]=d)}const c={};for(const u in this._previousActiveHandlers)s[u]||(c[u]=r);this._previousActiveHandlers=s,(Object.keys(c).length||Hs(n))&&(this._changes.push([n,o,c]),this._triggerRenderFrame()),(Object.keys(s).length||Hs(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))}mergeHandlerResult(t,i,r,n,o){if(!r)return;e.e(t,r);const s={handlerName:n,originalEvent:r.originalEvent||o};void 0!==r.zoomDelta&&(i.zoom=s),void 0!==r.panDelta&&(i.drag=s),void 0!==r.pitchDelta&&(i.pitch=s),void 0!==r.bearingDelta&&(i.rotate=s)}_applyChanges(){const t={},i={},r={};for(const[n,o,s]of this._changes)n.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(n.panDelta)),n.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(t.around=n.around),void 0!==n.aroundCoord&&(t.aroundCoord=n.aroundCoord),void 0!==n.pinchAround&&(t.pinchAround=n.pinchAround),n.noInertia&&(t.noInertia=n.noInertia),e.e(i,o),e.e(r,s);this._updateMapTransform(t,i,r),this._changes=[]}_updateMapTransform(t,i,r){const n=this._map,o=n.transform,s=e=>[e.x,e.y,e.z];if((e=>{const t=this._eventsInProgress.drag;return t&&!this._handlersById[t.handlerName].isActive()})()&&!Hs(t)){const e=o.zoom;o.cameraElevationReference="sea",null!=this._originalZoom&&o._orthographicProjectionAtLowPitch&&"globe"!==o.projection.name&&0===o.pitch?(o.cameraElevationReference="ground",o.zoom=this._originalZoom):(o.recenterOnTerrain(),o.cameraElevationReference="ground"),e!==o.zoom&&this._map._update(!0)}if(o._isCameraConstrained&&n._stop(!0),!Hs(t))return void this._fireEvents(i,r,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,aroundCoord:d,pinchAround:p}=t;o._isCameraConstrained&&(l>0&&(l=0),o._isCameraConstrained=!1),void 0!==p&&(u=p),(l||(e=>i[e]&&!this._eventsInProgress[e])("drag"))&&u&&(this._dragOrigin=s(o.pointCoordinate3D(u)),this._originalZoom=o.zoom,this._trackingEllipsoid.setup(o._camera.position,this._dragOrigin)),o.cameraElevationReference="sea",n._stop(!0),u=u||n.transform.centerPoint,c&&(o.bearing+=c),h&&(o.pitch+=h),o._updateCameraState();const f=[0,0,0];if(a)if("mercator"===o.projection.name){const e=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u).dir),t=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u.sub(a)).dir);f[0]=t[0]-e[0],f[1]=t[1]-e[1]}else{const t=o.pointCoordinate(u);if("globe"===o.projection.name){a=a.rotate(-o.angle);const i=o._pixelsPerMercatorPixel/o.worldSize;f[0]=-a.x*e.d9(e.ax(t.y))*i,f[1]=-a.y*e.d9(o.center.lat)*i}else{const e=o.pointCoordinate(u.sub(a));t&&e&&(f[0]=e.x-t.x,f[1]=e.y-t.y)}}const m=o.zoom,_=[0,0,0];if(l){const t=s(d||o.pointCoordinate3D(u)),i={dir:e.Q.normalize([],e.Q.sub([],t,o._camera.position))};if(i.dir[2]<0){const r=o.zoomDeltaToMovement(t,l);e.Q.scale(_,i.dir,r)}}const g=e.Q.add(f,f,_);o._translateCameraConstrained(g),l&&Math.abs(o.zoom-m)>1e-4&&o.recenterOnTerrain(),o.cameraElevationReference="ground",this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(i,r,!0)}_fireEvents(t,i,r){const n=$s(this._eventsInProgress),o=$s(t),s={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=i),this._eventsInProgress[e]=t[e]}!n&&o&&this._fireEvent("movestart",o.originalEvent);for(const e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i)}const a={};let l;for(const e in this._eventsInProgress){const{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=i[t]||r,a[`${e}end`]=l)}for(const e in a)this._fireEvent(e,a[e]);const c=$s(this._eventsInProgress);if(r&&(n||o)&&!c){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=e=>0!==e&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Ws("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Ys="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class Ks extends e.E{constructor(t,i){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,e.a$(["_renderFrameCallback"],this)}getCenter(){return new e.bq(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(t,i,r){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),r)}panTo(t,i,r){return this.easeTo(e.e({center:t},i),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(t,i,r){return this.easeTo(e.e({zoom:t},i),r)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(t,i,r){return this.easeTo(e.e({bearing:t},i),r)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(e,t){return Math.abs(this.getBearing())e.aspect?i/(2*Math.tan(.5*e.fovX)*e.aspect):r/(2*Math.tan(.5*e.fovY)*e.aspect)}_cameraForBoundsOnGlobe(t,i,r,n,o,s){const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=n,a.pitch=o;const c=e.bq.convert(i),h=e.bq.convert(r),u=.5*(c.lat+h.lat),d=.5*(c.lng+h.lng),p=e.da(u,d),f=e.Q.normalize([],p),m=e.Q.normalize([],e.Q.cross([],f,[0,1,0])),_=e.Q.cross([],m,f),g=[m[0],m[1],m[2],0,_[0],_[1],_[2],0,f[0],f[1],f[2],0,0,0,0,1],y=[p,e.da(c.lat,c.lng),e.da(h.lat,c.lng),e.da(h.lat,h.lng),e.da(c.lat,h.lng),e.da(u,c.lng),e.da(u,h.lng),e.da(c.lat,d),e.da(h.lat,d)];let x=e.bV.fromPoints(y.map((t=>[e.Q.dot(m,t),e.Q.dot(_,t),e.Q.dot(f,t)])));const v=e.Q.transformMat4([],x.center,g);0===e.Q.squaredLength(v)&&e.Q.set(v,0,0,1),e.Q.normalize(v,v),e.Q.scale(v,v,e.ae),a.center=e.db(v);const b=a.getWorldToCameraMatrix(),w=e.a9.invert(new Float64Array(16),b);x=e.bV.applyTransform(x,e.a9.multiply([],b,g));const T=this._extendAABB(x,a,l,n);if(!T)return void e.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");x=T,e.Q.transformMat4(v,v,b);const E=.5*(x.max[2]-x.min[2]),S=this._minimumAABBFrustumDistance(a,x),M=e.Q.scale([],[0,0,1],E),A=e.Q.add(M,v,M),I=S+(0===a.pitch?0:e.Q.distance(v,A)),C=a.globeCenterInViewSpace,P=e.Q.sub([],v,[C[0],C[1],C[2]]);e.Q.normalize(P,P),e.Q.scale(P,P,I);const z=e.Q.add([],v,P);e.Q.transformMat4(z,z,w);const D=e.dc/e.ae,R=e.Q.length(z),L=e.bo(Math.max(R*D-e.dc,Number.EPSILON),0),k=Math.min(a.zoomFromMercatorZAdjusted(L),l.maxZoom);return k>.5*(e.bJ+e.bA)?(a.setProjection({name:"mercator"}),a.zoom=k,this._cameraForBounds(a,i,r,n,o,s)):{center:a.center,zoom:k,bearing:n,pitch:o}}_extendAABB(t,i,r,n){const o=.5*((r.padding.left||0)+(r.padding.right||0)),s=.5*((r.padding.top||0)+(r.padding.bottom||0)),a=s,l=o,c=o,h=s,u=i.width-(l+c),d=i.height-(a+h),p=e.Q.sub([],t.max,t.min),f=Math.min(u/p[0],d/p[1]),m=Math.min(i.scaleZoom(i.scale*f),r.maxZoom);if(isNaN(m))return null;const _=i.scale/i.zoomScale(m),g=new e.bV([t.min[0]-l*_,t.min[1]-h*_,t.min[2]],[t.max[0]+c*_,t.max[1]+a*_,t.max[2]]),y=("number"==typeof r.offset.x&&"number"==typeof r.offset.y?new e.P(r.offset.x,r.offset.y):e.P.convert(r.offset)).rotate(-e.bm(n));return g.center[0]-=y.x*_,g.center[1]+=y.y*_,g}queryTerrainElevation(t,i){const r=this.transform.elevation;return r?(i=e.e({},{exaggerated:!0},i),r.getAtPoint(e.O.fromLngLat(t),null,i.exaggerated)):null}_cameraForBounds(t,i,r,n,o,s){if("globe"===t.projection.name)return this._cameraForBoundsOnGlobe(t,i,r,n,o,s);const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=n,a.pitch=o;const c=e.bq.convert(i),h=e.bq.convert(r),u=new e.bq(c.lng,h.lat),d=new e.bq(h.lng,c.lat),p=a.project(c),f=a.project(h),m=this.queryTerrainElevation(c),_=this.queryTerrainElevation(h),g=this.queryTerrainElevation(u),y=this.queryTerrainElevation(d),x=[[p.x,p.y,Math.min(m||0,_||0,g||0,y||0)],[f.x,f.y,Math.max(m||0,_||0,g||0,y||0)]];let v=e.bV.fromPoints(x);const b=a.getWorldToCameraMatrix(),w=e.a9.invert(new Float64Array(16),b);v=e.bV.applyTransform(v,b);const T=this._extendAABB(v,a,l,n);if(!T)return void e.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");v=T;const E=.5*e.Q.sub([],v.max,v.min)[2],S=this._minimumAABBFrustumDistance(a,v),M=[0,0,1,0];e.aa.transformMat4(M,M,b),e.aa.normalize(M,M);const A=e.Q.scale([],M,S+E),I=e.Q.add([],v.center,A);e.Q.transformMat4(v.center,v.center,w),e.Q.transformMat4(I,I,w);const C=[v.center[0],v.center[1],I[2]*a.pixelsPerMeter];e.Q.scale(C,C,1/a.worldSize);const P=e.aw(C[0]),z=e.ax(C[1]),D=Math.min(a._zoomFromMercatorZ(C[2]),l.maxZoom),R=new e.bq(P,z);return a.mercatorFromTransition&&D<.5*(e.bJ+e.bA)?(a.setProjection({name:"globe"}),a.zoom=D,this._cameraForBounds(a,i,r,n,o,s)):{center:R,zoom:D,bearing:n,pitch:o}}fitBounds(e,t,i){const r=this.cameraForBounds(e,t);return this._fitInternal(r,t,i)}fitScreenCoordinates(t,i,r,n,o){const s=e.P.convert(t),a=e.P.convert(i),l=new e.P(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new e.P(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const h=this.transform.pointLocation3D(l),u=this.transform.pointLocation3D(c),d=this.transform.pointLocation3D(new e.P(l.x,c.y)),p=this.transform.pointLocation3D(new e.P(c.x,l.y)),f=[Math.min(h.lng,u.lng,d.lng,p.lng),Math.min(h.lat,u.lat,d.lat,p.lat)],m=[Math.max(h.lng,u.lng,d.lng,p.lng),Math.max(h.lat,u.lat,d.lat,p.lat)],_=n&&n.pitch?n.pitch:this.getPitch(),g=this._cameraForBounds(this.transform,f,m,r,_,n);return this._fitInternal(g,n,o)}_fitInternal(t,i,r){return t?(i=e.e(t,i)).linear?this.easeTo(i,r):this.flyTo(i,r):this}jumpTo(t,i){this.stop();const r=t.preloadOnly?this.transform.clone():this.transform;let n=!1,o=!1,s=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=e.bq.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(o=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(s=!0,r.pitch=+t.pitch),null==t.padding||r.isPaddingEqual(t.padding)||(r.padding=t.padding),t.preloadOnly?(this._preloadTiles(r),this):(this.fire(new e.b("movestart",i)).fire(new e.b("move",i)),n&&this.fire(new e.b("zoomstart",i)).fire(new e.b("zoom",i)).fire(new e.b("zoomend",i)),o&&this.fire(new e.b("rotatestart",i)).fire(new e.b("rotate",i)).fire(new e.b("rotateend",i)),s&&this.fire(new e.b("pitchstart",i)).fire(new e.b("pitch",i)).fire(new e.b("pitchend",i)),this.fire(new e.b("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||e.w(Ys),this.transform.getFreeCameraOptions()}setFreeCameraOptions(t,i){const r=this.transform;if(!r.projection.supportsFreeCamera)return e.w(Ys),this;this.stop();const n=r.zoom,o=r.pitch,s=r.bearing;r.setFreeCameraOptions(t);const a=n!==r.zoom,l=o!==r.pitch,c=s!==r.bearing;return this.fire(new e.b("movestart",i)).fire(new e.b("move",i)),a&&this.fire(new e.b("zoomstart",i)).fire(new e.b("zoom",i)).fire(new e.b("zoomend",i)),c&&this.fire(new e.b("rotatestart",i)).fire(new e.b("rotate",i)).fire(new e.b("rotateend",i)),l&&this.fire(new e.b("pitchstart",i)).fire(new e.b("pitch",i)).fire(new e.b("pitchend",i)),this.fire(new e.b("moveend",i)),this}easeTo(t,i){this._stop(!1,t.easeId),(!1===(t=e.e({offset:[0,0],duration:500,easing:e.d8},t)).animate||this._prefersReducedMotion(t))&&(t.duration=0);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?+t.zoom:n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u=this._extendPadding(t.padding),d=e.P.convert(t.offset);let p,f,m;if("globe"===r.projection.name){const i=e.O.fromLngLat(r.center),n=d.rotate(-r.angle);i.x+=n.x/r.worldSize,i.y+=n.y/r.worldSize;const o=i.toLngLat(),s=e.bq.convert(t.center||o);this._normalizeCenter(s),p=r.centerPoint.add(n),f=new e.P(i.x,i.y).mult(r.worldSize),m=new e.P(e.a8(s.lng),e.ah(s.lat)).mult(r.worldSize).sub(f)}else{p=r.centerPoint.add(d);const i=r.pointLocation(p),n=e.bq.convert(t.center||i);this._normalizeCenter(n),f=r.project(i),m=r.project(n).sub(f)}const _=r.zoomScale(l-n);let g,y;t.around&&(g=e.bq.convert(t.around),y=r.locationPoint(g));const x=this._zooming||l!==n,v=this._rotating||o!==c,b=this._pitching||h!==s,w=!r.isPaddingEqual(u),T=r=>T=>{if(x&&(r.zoom=e.X(n,l,T)),v&&(r.bearing=e.X(o,c,T)),b&&(r.pitch=e.X(s,h,T)),w&&(r.interpolatePadding(a,u,T),p=r.centerPoint.add(d)),g)r.setLocationAtPoint(g,y);else{const e=r.zoomScale(r.zoom-n),t=l>n?Math.min(2,_):Math.max(.5,_),i=Math.pow(t,1-T),o=r.unproject(f.add(m.mult(T*i)).mult(e));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,p)}return t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(T,t.duration,r);return this._preloadTiles(e),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=x,this._rotating=v,this._pitching=b,this._padding=w,this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,E),this._ease(T(r),(e=>{"sea"===r.cameraElevationReference&&r.recenterOnTerrain(),this._afterEase(i,e)}),t),this}_prepareEase(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._moving=!0,this.transform.cameraElevationReference="sea",this.transform._orthographicProjectionAtLowPitch&&0===this.transform.pitch&&"globe"!==this.transform.projection.name&&(this.transform.cameraElevationReference="ground"),i||r.moving||this.fire(new e.b("movestart",t)),this._zooming&&!r.zooming&&this.fire(new e.b("zoomstart",t)),this._rotating&&!r.rotating&&this.fire(new e.b("rotatestart",t)),this._pitching&&!r.pitching&&this.fire(new e.b("pitchstart",t))}_fireMoveEvents(t){this.fire(new e.b("move",t)),this._zooming&&this.fire(new e.b("zoom",t)),this._rotating&&this.fire(new e.b("rotate",t)),this._pitching&&this.fire(new e.b("pitch",t))}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const r=this._zooming,n=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new e.b("zoomend",t)),n&&this.fire(new e.b("rotateend",t)),o&&this.fire(new e.b("pitchend",t)),this.fire(new e.b("moveend",t))}flyTo(t,i){if(this._prefersReducedMotion(t)){const r=e.af(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.d8},t);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?e.ad(+t.zoom,r.minZoom,r.maxZoom):n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u=this._extendPadding(t.padding),d=r.zoomScale(l-n),p=e.P.convert(t.offset);let f=r.centerPoint.add(p);const m=r.pointLocation(f),_=e.bq.convert(t.center||m);this._normalizeCenter(_);const g=r.project(m),y=r.project(_).sub(g);let x=t.curve;const v=Math.max(r.width,r.height),b=v/d,w=y.mag();if("minZoom"in t){const i=e.ad(Math.min(t.minZoom,n,l),r.minZoom,r.maxZoom),o=v/r.zoomScale(i-n);x=Math.sqrt(o/w*2)}const T=x*x;function E(e){const t=(b*b-v*v+(e?-1:1)*T*T*w*w)/(2*(e?b:v)*T*w);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function M(e){return(Math.exp(e)+Math.exp(-e))/2}const A=E(0);let I=function(e){return M(A)/M(A+x*e)},C=function(e){return v*((M(A)*(S(t=A+x*e)/M(t))-S(A))/T)/w;var t},P=(E(1)-A)/x;if(Math.abs(w)<1e-6||!isFinite(P)){if(Math.abs(v-b)<1e-6)return this.easeTo(t,i);const e=bt.maxDuration&&(t.duration=0);const z=o!==c,D=h!==s,R=!r.isPaddingEqual(u),L=r=>d=>{const m=d*P,x=1/I(m);r.zoom=1===d?l:n+r.scaleZoom(x),z&&(r.bearing=e.X(o,c,d)),D&&(r.pitch=e.X(s,h,d)),R&&(r.interpolatePadding(a,u,d),f=r.centerPoint.add(p));const v=1===d?_:r.unproject(g.add(y.mult(C(m))).mult(x));return r.setLocationAtPoint(r.renderWorldCopies?v.wrap():v,f),r._updateCameraOnTerrain(),t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(L,t.duration,r);return this._preloadTiles(e),this}return this._zooming=!0,this._rotating=z,this._pitching=D,this._padding=R,this._prepareEase(i,!1),this._ease(L(r),(()=>this._afterEase(i)),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_requestRenderFrame(e){}_cancelRenderFrame(e){}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const e=this._onEaseEnd;this._onEaseEnd=void 0,e.call(this,t)}if(!e){const e=this.handlers;e&&e.stop(!1)}return this}_ease(t,i,r){!1===r.animate||0===r.duration?(t(1),i()):(this._easeStart=e.f.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const t=Math.min((e.f.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(t,i){t=e.bk(t,-180,180);const r=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0}_prefersReducedMotion(t){return this._respectPrefersReducedMotion&&e.f.prefersReducedMotion&&!(t&&t.essential)}_emulate(e,t,i){const r=Math.ceil(15*t/1e3),n=[],o=e(i.clone());for(let s=0;s<=r;s++){const e=o(s/r);n.push(e.clone())}return n}_preloadTiles(e,t){}}class Js{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,e.a$(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}getDefaultPosition(){return"bottom-right"}onAdd(e){const t=this.options&&this.options.compact;return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o("button","mapboxgl-ctrl-attrib-button",this._container),o("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o("div","mapboxgl-ctrl-attrib-inner",this._container),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(e,t){const i=this._map._getUIString(`AttributionControl.${t}`);e.removeAttribute("title"),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"))}_updateEditLink(){let t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.dd.ACCESS_TOKEN}];if(t){const r=i.reduce(((e,t,r)=>(t.value&&(e+=`${t.key}=${t.value}${re.length-t.length)),e=e.filter(((t,i)=>{for(let r=i+1;r=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=[...this.options.customAttribution,...e]:e.unshift(this.options.customAttribution));const i=e.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,e.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")}}class ea{constructor(){e.a$(["_updateLogo","_updateCompact"],this)}onAdd(e){this._map=e,this._container=o("div","mapboxgl-ctrl");const t=o("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)}getDefaultPosition(){return"bottom-left"}_updateLogo(e){e&&"metadata"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")}_logoRequired(){if(!this._map.style)return!0;const e=this._map.style._sourceCaches;if(0===Object.entries(e).length)return!0;for(const t in e){const i=e[t].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return!1}return!0}_updateCompact(){const e=this._container.children;if(e.length){const t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}}}class ta{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){const t=this._currentlyRunning,i=t?this._queue.concat(t):this._queue;for(const r of i)if(r.id===e)return void(r.cancelled=!0)}run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=this._currentlyRunning=this._queue;this._queue=[];for(const i of t)if(!i.cancelled&&(i.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function ia(t,i,r){if(t=new e.bq(t.lng,t.lat),i){const n=new e.bq(t.lng-360,t.lat),o=new e.bq(t.lng+360,t.lat),s=360*Math.ceil(Math.abs(t.lng-r.center.lng)/360),a=r.locationPoint(t).distSqr(i),l=i.x<0||i.y<0||i.x>r.width||i.y>r.height;r.locationPoint(n).distSqr(i)180;){const e=r.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=r.width&&e.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}const ra={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class na extends e.E{constructor(t,i){if(super(),(t instanceof HTMLElement||i)&&(t=e.e({element:t},i)),e.a$(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=t&&t.occludedOpacity||.2,t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o("div");const i=41,r=27,n=s("svg",{display:"block",height:i*this._scale+"px",width:r*this._scale+"px",viewBox:`0 0 ${r} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},n));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},n),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},n),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},n),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},n),this._offset=e.P.convert(t&&t.offset||[0,-14])}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.hasAttribute("role")||this._element.setAttribute("role","img"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()}));const r=this._element.classList;for(const e in ra)r.remove(`mapboxgl-marker-anchor-${e}`);r.add(`mapboxgl-marker-anchor-${this._anchor}`);const n=t&&t.className?t.className.trim().split(/\s+/):[];r.add(...n),this._popup=null}addTo(e){return e===this._map||(this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._updateMoving),e.on("moveend",this._update),e.on("remove",this._clearFadeTimer),e._addMarker(this),this.setDraggable(this._draggable),this._update(),e.on("click",this._onMapClick)),this}remove(){const e=this._map;return e&&(e.off("click",this._onMapClick),e.off("move",this._updateMoving),e.off("moveend",this._update),e.off("mousedown",this._addDragHandler),e.off("touchstart",this._addDragHandler),e.off("mouseup",this._onUp),e.off("touchend",this._onUp),e.off("mousemove",this._onMove),e.off("touchmove",this._onMove),e.off("remove",this._clearFadeTimer),e._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.bq.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const t=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-t],"bottom-left":[r,-1*(t-i+r)],"bottom-right":[-r,-1*(t-i+r)],left:[i,-1*(t-i)],right:[-i,-1*(t-i)]}:this._offset}this._popup=e,e._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false")}return this}_onKeyPress(e){const t=e.code,i=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==i&&13!==i||this.togglePopup()}_onMapClick(e){const t=e.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const e=this._popup;return e?(e.isOpen()?(e.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(e.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const e=this._map,t=this._pos;if(!e||!t)return!1;const i=e.unproject(t),r=e.getFreeCameraOptions();if(!r.position)return!1;const n=r.position.toLngLat();return n.distanceTo(i)<.9*n.distanceTo(this._lngLat)}_evaluateOpacity(){const t=this._map;if(!t)return;const i=this._pos;if(!i||i.x<0||i.x>t.transform.width||i.y<0||i.y>t.transform.height)return void this._clearFadeTimer();const r=t.unproject(i);let n;t._showingGlobe()&&e.de(t.transform,this._lngLat)?n=0:(n=1-t._queryFogOpacity(r),t.transform._terrainEnabled()&&t.getTerrain()&&this._behindTerrain()&&(n*=this._occludedOpacity)),this._element.style.opacity=`${n}`,this._element.style.pointerEvents=n>0?"auto":"none",this._popup&&this._popup._setOpacity(n),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const e=this._pos;if(!e||!this._map)return;const t=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${e.x}px,${e.y}px)\n ${ra[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${t.x}px,${t.y}px)\n `}_calculateXYTransform(){const t=this._pos,i=this._map,r=this.getPitchAlignment();if(!i||!t||"map"!==r)return"";if(!i._showingGlobe()){const e=i.getPitch();return e?`rotateX(${e}deg)`:""}const n=e.bI(e.df(i.transform,this._lngLat)),o=t.sub(e.dg(i.transform)),s=Math.abs(o.x)+Math.abs(o.y);if(0===s)return"";const a=n/s;return`rotateX(${-o.y*a}deg) rotateY(${o.x*a}deg)`}_calculateZTransform(){const t=this._pos,i=this._map;if(!i||!t)return"";let r=0;const n=this.getRotationAlignment();if("map"===n)if(i._showingGlobe()){const t=i.project(new e.bq(this._lngLat.lng,this._lngLat.lat+.001)),n=i.project(new e.bq(this._lngLat.lng,this._lngLat.lat-.001)).sub(t);r=e.bI(Math.atan2(n.y,n.x))-90}else r=-i.getBearing();else if("horizon"===n){const n=e.S(4,6,i.getZoom()),o=e.dg(i.transform);o.y+=n*i.transform.height;const s=t.sub(o),a=e.bI(Math.atan2(s.y,s.x));r=(a>90?a-270:a+90)*(1-n)}return r+=this._rotation,r?`rotateZ(${r}deg)`:""}_update(e){cancelAnimationFrame(this._updateFrameId);const t=this._map;t&&(t.transform.renderWorldCopies&&(this._lngLat=ia(this._lngLat,this._pos,t.transform)),this._pos=t.project(this._lngLat),!0===e?this._updateFrameId=requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),t._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(t._showingGlobe()||t.getTerrain()||t.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(e){return this._element.classList.add(e),this}removeClassName(e){return this._element.classList.remove(e),this}toggleClassName(e){return this._element.classList.toggle(e)}_onMove(t){const i=this._map;if(!i)return;const r=this._pointerdownPos,n=this._positionDelta;if(r&&n){if(!this._isDragging){const e=this._clickTolerance||i._clickTolerance;if(t.point.dist(r)0&&void 0!==arguments[0]?arguments[0]:new e.P(0,0),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"bottom";if("number"==typeof t){const r=Math.round(Math.sqrt(.5*Math.pow(t,2)));switch(i){case"top":return new e.P(0,t);case"top-left":return new e.P(r,r);case"top-right":return new e.P(-r,r);case"bottom":return new e.P(0,-t);case"bottom-left":return new e.P(r,-r);case"bottom-right":return new e.P(-r,-r);case"left":return new e.P(t,0);case"right":return new e.P(-t,0)}return new e.P(0,0)}return t instanceof e.P||Array.isArray(t)?e.P.convert(t):e.P.convert(t[i]||[0,0])}class la{constructor(e){this.jumpTo(e)}getValue(t){if(t<=this._startTime)return this._start;if(t>=this._endTime)return this._end;const i=e.ch((t-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(e){return e>=this._startTime&&e<=this._endTime}jumpTo(e){this._startTime=-1/0,this._endTime=-1/0,this._start=e,this._end=e}easeTo(e,t,i){this._start=this.getValue(t),this._end=e,this._startTime=t,this._endTime=t+i}}class ca{registerParameter(e,t,i,r,n){}registerButton(e,t,i){}registerBinding(e,t,i,r){}refreshUI(){}}const ha={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use \u2318 + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},ua={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,antialias:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0,collectResourceTiming:!1,testMode:!1},da={showCompass:!0,showZoom:!0,visualizePitch:!1};class pa{constructor(t,i){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._clickTolerance=10,this.element=i,this.mouseRotate=new Ts({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,r&&(this.mousePitch=new Es({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.a$(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset)}down(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),h()}move(e,t){const i=this.map,r=this.mouseRotate.mousemoveWindow(e,t),n=r&&r.bearingDelta;if(n&&i.setBearing(i.getBearing()+n),this.mousePitch){const r=this.mousePitch.mousemoveWindow(e,t),n=r&&r.pitchDelta;n&&i.setPitch(i.getPitch()+n)}}off(){const e=this.element;e.removeEventListener("mousedown",this.mousedown),e.removeEventListener("touchstart",this.touchstart,{passive:!1}),e.removeEventListener("touchmove",this.touchmove),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){u(),window.removeEventListener("mousemove",this.mousemove),window.removeEventListener("mouseup",this.mouseup)}mousedown(t){this.down(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),f(this.element,t)),window.addEventListener("mousemove",this.mousemove),window.addEventListener("mouseup",this.mouseup)}mousemove(e){this.move(e,f(this.element,e))}mouseup(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()}touchstart(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>e.preventDefault()},this._startPos))}touchmove(e){1!==e.targetTouches.length?this.reset():(this._lastPos=m(this.element,e.targetTouches)[0],this.move({preventDefault:()=>e.preventDefault()},this._lastPos))}touchend(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(t.antialias&&e.dh(window)&&(t.antialias=!1,e.w("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new pr(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),t),this._repaint=!!t.repaint,this._interactive=t.interactive,this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=t.crossSourceCollisions,this._collectResourceTiming=t.collectResourceTiming,this._language=this._parseLanguage(t.language),this._worldview=t.worldview,this._renderTaskQueue=new ta,this._domRenderTaskQueue=new ta,this._controls=[],this._markers=[],this._popups=[],this._mapId=e.aF(),this._locale=e.e({},ha,t.locale),this._clickTolerance=t.clickTolerance,this._cooperativeGestures=t.cooperativeGestures,this._performanceMetricsCollection=t.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._showParseStatus=!0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new la(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new e.di(t.transformRequest,t.accessToken,t.testMode),this._silenceAuthErrors=!!t.testMode,this._contextCreateOptions=t.contextCreateOptions?{...t.contextCreateOptions}:{},"string"==typeof t.container){const e=document.getElementById(t.container);if(!e)throw new Error(`Container '${t.container.toString()}' not found.`);this._container=e}else{if(!(t.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(this._container.childNodes.length>0&&e.w("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),t.maxBounds&&this.setMaxBounds(t.maxBounds),e.a$(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._tp=t.devtools?new ca(this):new ca,this._tp.registerParameter(this,["Debug"],"showOverdrawInspector"),this._tp.registerParameter(this,["Debug"],"showTileBoundaries"),this._tp.registerParameter(this,["Debug"],"showParseStatus"),this._tp.registerParameter(this,["Debug"],"repaint"),this._tp.registerParameter(this,["Debug"],"showTileAABBs"),this._tp.registerParameter(this,["Debug"],"showPadding"),this._tp.registerParameter(this,["Debug"],"showCollisionBoxes",{noSave:!0}),this._tp.registerParameter(this.transform,["Debug"],"freezeTileCoverage",{noSave:!0},(()=>{this._update()})),this._tp.registerParameter(this,["Debug","Wireframe"],"showTerrainWireframe"),this._tp.registerParameter(this,["Debug","Wireframe"],"showLayers2DWireframe"),this._tp.registerParameter(this,["Debug","Wireframe"],"showLayers3DWireframe"),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");if(this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),this._fullscreenchangeEvent="onfullscreenchange"in document?"fullscreenchange":"webkitfullscreenchange",window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1),window.addEventListener("orientationchange",this._onWindowResize,!1),window.addEventListener(this._fullscreenchangeEvent,this._onWindowResize,!1),window.addEventListener("visibilitychange",this._onVisibilityChange,!1),this.handlers=new Xs(this,t),this._localFontFamily=t.localFontFamily,this._localIdeographFontFamily=t.localIdeographFontFamily,(t.style||!t.testMode)&&this.setStyle(t.style||e.dd.DEFAULT_STYLE,{config:t.config,localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),t.projection&&this.setProjection(t.projection),t.hash&&(this._hash=new es("string"==typeof t.hash&&t.hash||void 0).addTo(this)),!this._hash||!this._hash._onHashChange()){null==i.center&&null==i.zoom||(this.transform._unmodified=!1),this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch});const r=t.bounds;r&&(this.resize(),this.fitBounds(r,e.e({},t.fitBoundsOptions,{duration:0})))}this.resize(),t.attributionControl&&this.addControl(new Js({customAttribution:t.customAttribution})),this._logoControl=new ea,this.addControl(this._logoControl,t.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this._postStyleLoadEvent()})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.b(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.b(`${t.dataType}dataloading`,t))}))}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.a(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=t.onAdd(this);this._controls.push(t);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.a(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(t){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new e.b("movestart",t)).fire(new e.b("move",t)),this.fire(new e.b("resize",t)),i&&this.fire(new e.b("moveend",t)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(t){return this.transform.setMaxBounds(e.ag.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t?this.setZoom(t):this.fire(new e.b("zoomstart")).fire(new e.b("zoom")).fire(new e.b("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t?this.setPitch(t):this.fire(new e.b("pitchstart")).fire(new e.b("pitch")).fire(new e.b("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(e){return"auto"===e?navigator.language:Array.isArray(e)?0===e.length?void 0:e.map((e=>"auto"===e?navigator.language:e)):e}setLanguage(e){const t=this._parseLanguage(e);if(!this.style||t===this._language)return this;this._language=t,this.style.reloadSources();for(const i of this._controls)i._setLanguage&&i._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(e){return this.style&&e!==this._worldview?(this._worldview=e,this.style.reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return"globe"===this.transform.projection.name}setProjection(e){return this._lazyInitEmptyStyle(),e?"string"==typeof e&&(e={name:e}):e=null,this._useExplicitProjection=!!e,this._prioritizeAndUpdateProjection(e,this.style.projection)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const t=this.transform,i=t.projection.name;let r;"globe"===i&&t.zoom>=e.bA?(t.setMercatorFromTransition(),r=!0):"mercator"===i&&t.zoom=e.bA?this.transform.setMercatorFromTransition():this.transform.setProjection(t),this.style.applyProjectionUpdate(),i&&(this.painter.clearBackgroundTiles(),this.style.clearSources(),this._update(!0),this._forceMarkerAndPopupUpdate(!0)),this}project(t){return this.transform.locationPoint3D(e.bq.convert(t))}unproject(t){return this.transform.pointLocation3D(e.P.convert(t))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(e,t,i){if("mouseenter"===e||"mouseover"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e))),s=o.length?this.queryRenderedFeatures(n.point,{layers:o}):[];s.length?r||(r=!0,i.call(this,new hs(e,this,n.originalEvent,{features:s}))):r=!1},o=()=>{r=!1};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}if("mouseleave"===e||"mouseout"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e)));(o.length?this.queryRenderedFeatures(n.point,{layers:o}):[]).length?r=!0:r&&(r=!1,i.call(this,new hs(e,this,n.originalEvent)))},o=t=>{r&&(r=!1,i.call(this,new hs(e,this,t.originalEvent)))};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}{const r=e=>{const r=t.filter((e=>this.getLayer(e))),n=r.length?this.queryRenderedFeatures(e.point,{layers:r}):[];n.length&&(e.features=n,i.call(this,e),delete e.features)};return{layers:new Set(t),listener:i,delegates:{[e]:r}}}}on(e,t,i){if(void 0===i)return super.on(e,t);if(Array.isArray(t)||(t=[t]),t)for(const n of t)if(!this._isValidId(n))return this;const r=this._createDelegatedListener(e,t,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(r);for(const n in r.delegates)this.on(n,r.delegates[n]);return this}once(e,t,i){if(void 0===i)return super.once(e,t);if(Array.isArray(t)||(t=[t]),t)for(const n of t)if(!this._isValidId(n))return this;const r=this._createDelegatedListener(e,t,i);for(const n in r.delegates)this.once(n,r.delegates[n]);return this}off(e,t,i){if(void 0===i)return super.off(e,t);t=new Set(Array.isArray(t)?t:[t]);for(const o of t)if(!this._isValidId(o))return this;const r=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0},n=this._delegatedListeners?this._delegatedListeners[e]:void 0;return n&&(e=>{for(let n=0;n{r?(e.w(`Unable to perform style diff: ${String(r.message||r.error||r)}. Rebuilding the style from scratch.`),this._updateStyle(t,i)):n&&this._update(!0)}),(()=>{this._postStyleLoadEvent()})),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._localFontFamily=i.localFontFamily,this._updateStyle(t,i))}_getUIString(e){const t=this._locale[e];if(null==t)throw new Error(`Missing UI string '${e}'`);return t}_updateStyle(t,i){if(this.style&&(this.style.setEventedParent(null),this.style._remove(),this.style=void 0),t){const r=e.e({},i);i&&i.config&&(r.initialConfig=i.config,delete r.config),this.style=new Cr(this,r).setEventedParent(this,{style:this.style}).load(t)}return this._updateTerrain(),this}_lazyInitEmptyStyle(){this.style||(this.style=new Cr(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(e.w("There is no style added to the map."),!1)}_isValidId(t){return null==t?(this.fire(new e.a(new Error("IDs can't be empty."))),!1):!e.c9(t)||(this.fire(new e.a(new Error(`IDs can't contain special symbols: "${t}".`))),!1)}addSource(e,t){return this._isValidId(e)?(this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)):this}isSourceLoaded(e){return!!this._isValidId(e)&&!!this.style&&this.style._isSourceCacheLoaded(e)}areTilesLoaded(){return this.style.areTilesLoaded()}addSourceType(e,t,i){this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,i)}removeSource(e){return this._isValidId(e)?(this.style.removeSource(e),this._updateTerrain(),this._update(!0)):this}getSource(e){return this._isValidId(e)?this.style.getOwnSource(e):null}addImage(t,i){let{pixelRatio:r=1,sdf:n=!1,stretchX:o,stretchY:s,content:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap){const{width:l,height:c,data:h}=e.f.getImageData(i);this.style.addImage(t,{data:new e.h({width:l,height:c},h),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0})}else if(void 0===i.width||void 0===i.height)this.fire(new e.a(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:l,height:c}=i,h=i;this.style.addImage(t,{data:new e.h({width:l,height:c},new Uint8Array(h.data)),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0,userImage:h}),h.onAdd&&h.onAdd(this,t)}}updateImage(t,i){this._lazyInitEmptyStyle();const r=this.style.getImage(t);if(!r)return void this.fire(new e.a(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const n=i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap?e.f.getImageData(i):i,{width:o,height:s}=n,a=n.data;if(void 0===o||void 0===s)return void this.fire(new e.a(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==r.data.width||s!==r.data.height)return void this.fire(new e.a(new Error(`The width and height of the updated image (${o}, ${s})\n must be that same as the previous version of the image\n (${r.data.width}, ${r.data.height})`)));const l=!(i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap);r.data.replace(a,l),this.style.updateImage(t,r)}hasImage(t){return t?!!this.style&&!!this.style.getImage(t):(this.fire(new e.a(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(t,i){e.d(this._requestManager.transformRequest(t,e.R.Image),((t,r)=>{i(t,r instanceof HTMLImageElement?e.f.getImageData(r):r)}))}listImages(){return this.style.listImages()}addModel(e,t){this._lazyInitEmptyStyle(),this.style.addModel(e,t)}hasModel(t){return t?this.style.hasModel(t):(this.fire(new e.a(new Error("Missing required model id"))),!1)}removeModel(e){this.style.removeModel(e)}listModels(){return this.style.listModels()}addLayer(e,t){return this._isValidId(e.id)?(this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)):this}getSlot(e){const t=this.getLayer(e);return t&&t.slot||null}setSlot(e,t){return this.style.setSlot(e,t),this.style.mergeLayers(),this._update(!0)}addImport(e,t){return this.style.addImport(e,t),this}updateImport(e,t){return"string"!=typeof t&&t.id!==e?(this.removeImport(e),this.addImport(t)):(this.style.updateImport(e,t),this._update(!0))}removeImport(e){return this.style.removeImport(e),this}moveImport(e,t){return this.style.moveImport(e,t),this._update(!0)}moveLayer(e,t){return this._isValidId(e)?(this.style.moveLayer(e,t),this._update(!0)):this}removeLayer(e){return this._isValidId(e)?(this.style.removeLayer(e),this._update(!0)):this}getLayer(e){return this._isValidId(e)?this.style.getOwnLayer(e):null}setLayerZoomRange(e,t,i){return this._isValidId(e)?(this.style.setLayerZoomRange(e,t,i),this._update(!0)):this}setFilter(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._isValidId(e)?(this.style.setFilter(e,t,i),this._update(!0)):this}getFilter(e){return this._isValidId(e)?this.style.getFilter(e):null}setPaintProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this._isValidId(e)?(this.style.setPaintProperty(e,t,i,r),this._update(!0)):this}getPaintProperty(e,t){return this._isValidId(e)?this.style.getPaintProperty(e,t):null}setLayoutProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this._isValidId(e)?(this.style.setLayoutProperty(e,t,i,r),this._update(!0)):this}getLayoutProperty(e,t){return this._isValidId(e)?this.style.getLayoutProperty(e,t):null}getSchema(e){return this.style.getSchema(e)}setSchema(e,t){return this.style.setSchema(e,t),this._update(!0)}getConfig(e){return this.style.getConfig(e)}setConfig(e,t){return this.style.setConfig(e,t),this._update(!0)}getConfigProperty(e,t){return this.style.getConfigProperty(e,t)}setConfigProperty(e,t,i){return this.style.setConfigProperty(e,t,i),this._update(!0)}setLights(e){if(this._lazyInitEmptyStyle(),e&&1===e.length&&"flat"===e[0].type){const t=e[0];t.properties?this.style.setFlatLight(t.properties,t.id,{}):this.style.setFlatLight({},"flat")}else this.style.setLights(e),this.painter.terrain&&(this.painter.terrain.invalidateRenderCache=!0);return this._update(!0)}getLights(){const e=this.style.getLights()||[];return 0===e.length&&e.push({id:this.style.light.id,type:"flat",properties:this.style.getFlatLight()}),e}setLight(e){return console.log("The `map.setLight` function is deprecated, prefer using `map.setLights` with `flat` light type instead."),this.setLights([{id:"flat",type:"flat",properties:e}])}getLight(){return console.log("The `map.getLight` function is deprecated, prefer using `map.getLights` instead."),this.style.getFlatLight()}setTerrain(e){return this._lazyInitEmptyStyle(),!e&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(e),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(e){return this._lazyInitEmptyStyle(),this.style.setFog(e),this._update(!0)}getFog(){return this.style?this.style.getFog():null}setCamera(e){return this.style.setCamera(e),this._triggerCameraUpdate(e)}_triggerCameraUpdate(e){return this._update(this.transform.setOrthographicProjectionAtLowPitch("orthographic"===e["camera-projection"]))}getCamera(){return this.style.camera}_queryFogOpacity(t){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(e.bq.convert(t),this.transform):0}setFeatureState(e,t){return this._isValidId(e.source)?(this.style.setFeatureState(e,t),this._update()):this}removeFeatureState(e,t){return this._isValidId(e.source)?(this.style.removeFeatureState(e,t),this._update()):this}getFeatureState(e){return this._isValidId(e.source)?this.style.getFeatureState(e):null}_updateContainerDimensions(){if(!this._container)return;const e=this._container.getBoundingClientRect().width||400,t=this._container.getBoundingClientRect().height||300;let i,r,n,o=this._container;for(;o&&(!r||!n);){const e=window.getComputedStyle(o).transform;e&&"none"!==e&&(i=e.match(/matrix.*\((.+)\)/)[1].split(", "),i[0]&&"0"!==i[0]&&"1"!==i[0]&&(r=i[0]),i[3]&&"0"!==i[3]&&"1"!==i[3]&&(n=i[3])),o=o.parentElement}this._containerWidth=r?Math.abs(e/r):e,this._containerHeight=n?Math.abs(t/n):t}_detectMissingCSS(){"rgb(250, 128, 114)"!==window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&e.w("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const e=this._container;e.classList.add("mapboxgl-map"),(this._missingCSSCanary=o("div","mapboxgl-canary",e)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=o("div","mapboxgl-canvas-container",e);this._canvas=o("canvas","mapboxgl-canvas",t),this._interactive&&(t.classList.add("mapboxgl-interactive"),this._canvas.setAttribute("tabindex","0")),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=o("div","mapboxgl-control-container",e),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{r[e]=o("div",`mapboxgl-ctrl-${e}`,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,i){const r=e.f.devicePixelRatio||1;this._canvas.width=r*Math.ceil(t),this._canvas.height=r*Math.ceil(i),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${i}px`}_addMarker(e){this._markers.push(e)}_removeMarker(e){const t=this._markers.indexOf(e);-1!==t&&this._markers.splice(t,1)}_addPopup(e){this._popups.push(e)}_removePopup(e){const t=this._popups.indexOf(e);-1!==t&&this._popups.splice(t,1)}_setupPainter(){const t=e.e({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl2",t);r?(e.dj(r,!0),this.painter=new Ko(r,this._contextCreateOptions,this.transform,this._tp),this.on("data",(e=>{"source"===e.dataType&&this.painter.setTileLoadedFlag(!0)})),e.dk.testSupport(r)):this.fire(new e.a(new Error("Failed to initialize WebGL")))}_contextLost(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.b("webglcontextlost",{originalEvent:t}))}_contextRestored(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.b("webglcontextrestored",{originalEvent:t}))}_onMapScroll(e){if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_requestDomTask(e){!this.loaded()||this.loaded()&&!this.isMoving()?e():this._domRenderTaskQueue.add(e)}_render(t){let i;this.fire(new e.b("renderstart"));const r=this.painter.context.extTimerQuery,n=e.f.now(),o=this.painter.context.gl;if(this.listens("gpu-timing-frame")&&(i=o.createQuery(),o.beginQuery(r.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],performance.now())),this._renderTaskQueue.run(t),this._domRenderTaskQueue.run(t),this._removed)return;this._updateProjectionTransition();const s=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=this.transform.pitch,r=e.f.now(),n=new e.N(t,{now:r,fadeDuration:s,pitch:i,transition:this.style.transition});this.style.update(n)}this.style&&this.style.hasFogTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let a=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),a=this._updateAverageElevation(n),this.style.updateSources(this.transform),this._forceMarkerAndPopupUpdate()):a=this._updateAverageElevation(n),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,s,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showParseStatus:this.showParseStatus,wireframe:{terrain:this.showTerrainWireframe,layers2D:this.showLayers2DWireframe,layers3D:this.showLayers3DWireframe},showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:s,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new e.b("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.b("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const t=e.f.now()-n;o.endQuery(r.TIME_ELAPSED_EXT),setTimeout((()=>{const r=o.getQueryParameter(i,o.QUERY_RESULT)/1e6;o.deleteQuery(i),this.fire(new e.b("gpu-timing-frame",{cpuTime:t,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const t=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(t);this.fire(new e.b("gpu-timing-layer",{layerTimes:i}))}),50)}if(this.listens("gpu-timing-deferred-render")){const t=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(t);this.fire(new e.b("gpu-timing-deferred-render",{gpuTime:i}))}),50)}const l=this._sourcesDirty||this._styleDirty||this._placementDirty||a;if(l||this._repaint)this.triggerRepaint();else{const t=!this.isMoving()&&this.loaded();if(t&&(a=this._updateAverageElevation(n,!0)),a)this.triggerRepaint();else if(this._triggerFrame(!1),t&&(this.fire(new e.b("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const t=this._calculateSpeedIndex();this.fire(new e.b("speedindexcompleted",{speedIndex:t})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||l||(this._fullyLoaded=!0,this._performanceMetricsCollection&&e.dl(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(e){for(const t of this._markers)e&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!e||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update()}_updateAverageElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=e=>(this.transform.averageElevation=e,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);const r=this.transform.elevation&&this.transform.elevation.exaggeration()!==this._averageElevationExaggeration;if(r||(t||e-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(e)){const t=this.transform.averageElevation;let n=this.transform.sampleAverageElevation();this.transform.elevation&&(this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(n)?n=0:this._averageElevationLastSampledAt=e;const o=Math.abs(t-n);if(o>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(n),i(n);this._averageElevation.easeTo(n,e,300)}else if(o>1e-4)return this._averageElevation.jumpTo(n),i(n)}return!!this._averageElevation.isEasing(e)&&i(this._averageElevation.getValue(e))}_authenticate(){e.dm(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(t=>{if(t&&(t.message===e.dn||401===t.status)){const t=this.painter.context.gl;e.dj(t,!1),this._logoControl instanceof ea&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new e.a(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}})),e.dp(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_postStyleLoadEvent(){this.style.globalId&&e.dq(this._requestManager._customAccessToken,{map:this,skuToken:this._requestManager._skuToken,style:this.style.globalId,importedStyles:this.style.getImportGlobalIds()})}_updateTerrain(){const e=this._isDragging();this.painter.updateTerrain(this.style,e)}_calculateSpeedIndex(){const e=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const i=this.painter.context.gl,r=i.createFramebuffer();function n(e){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,e,0);const t=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,t),t}return i.bindFramebuffer(i.FRAMEBUFFER,r),this._canvasPixelComparison(n(e),t.canvasCopies.map(n),t.timeStamps)}_canvasPixelComparison(e,t,i){let r=i[1]-i[0];const n=e.length/4;for(let o=0;o{const t=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,t&&this._render(e)})))}_preloadTiles(t){const i=this.style?this.style.getSourceCaches():[];return e.b4(i,((e,i)=>e._preloadTiles(t,i)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(e){this._trackResize&&this.resize({originalEvent:e})._update()}_onVisibilityChange(){"hidden"===document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._tp.refreshUI(),this._update())}get showParseStatus(){return!!this._showParseStatus}set showParseStatus(e){this._showParseStatus!==e&&(this._showParseStatus=e,this._tp.refreshUI(),this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(e){this._showTerrainWireframe!==e&&(this._showTerrainWireframe=e,this._tp.refreshUI(),this._update())}get showLayers2DWireframe(){return!!this._showLayers2DWireframe}set showLayers2DWireframe(e){this._showLayers2DWireframe!==e&&(this._showLayers2DWireframe=e,this._tp.refreshUI(),this._update())}get showLayers3DWireframe(){return!!this._showLayers3DWireframe}set showLayers3DWireframe(e){this._showLayers3DWireframe!==e&&(this._showLayers3DWireframe=e,this._tp.refreshUI(),this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(e){this._speedIndexTiming!==e&&(this._speedIndexTiming=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._tp.refreshUI(),this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,this._tp.refreshUI(),e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._tp.refreshUI(),this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this._tp.refreshUI(),this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(e){this._showTileAABBs!==e&&(this._showTileAABBs=e,this._tp.refreshUI(),e&&this._update())}_setCacheLimits(t,i){e.dv(t,i)}get version(){return e.du}},NavigationControl:class{constructor(t){this.options=e.e({},da,t),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(e.a$(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(e=>{this._map&&this._map.zoomIn({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(e=>{this._map&&this._map.zoomOut({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(e.a$(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(e=>{const t=this._map;t&&(this.options.visualizePitch?t.resetNorthPitch({},{originalEvent:e}):t.resetNorth({},{originalEvent:e}))})),this._compassIcon=o("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const e=this._map;if(!e)return;const t=e.getZoom(),i=t===e.getMaxZoom(),r=t===e.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())}_rotateCompassArrow(){const e=this._map;if(!e)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(e.transform.pitch*(Math.PI/180)),.5)}) rotateX(${e.transform.pitch}deg) rotateZ(${e.transform.angle*(180/Math.PI)}deg)`:`rotate(${e.transform.angle*(180/Math.PI)}deg)`;e._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=t)}))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),e.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&e.on("pitch",this._rotateCompassArrow),e.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new pa(e,this._compass,this.options.visualizePitch)),this._container}onRemove(){const e=this._map;e&&(this._container.remove(),this.options.showZoom&&e.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&e.off("pitch",this._rotateCompassArrow),e.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(e,t){const i=o("button",e,this._container);return i.type="button",i.addEventListener("click",t),i}_setButtonTitle(e,t){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${t}`);e.setAttribute("aria-label",i),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}},GeolocateControl:class extends e.E{constructor(t){super();const i=navigator.geolocation;this.options=e.e({geolocation:i},fa,t),e.a$(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Jo(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(e){return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(e){var t=this;const i=function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!!t.options.geolocation;t._supportsGeolocation=i,e(i)};void 0!==this._supportsGeolocation?e(this._supportsGeolocation):void 0!==navigator.permissions?navigator.permissions.query({name:"geolocation"}).then((e=>i("denied"!==e.state))).catch((()=>i())):i()}_isOutOfMapMaxBounds(e){const t=this._map.getMaxBounds(),i=e.coords;return!!t&&(i.longitudet.getEast()||i.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.b("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._userLocationDotMarker.removeClassName("mapboxgl-user-location-dot-stale"),this.fire(new e.b("geolocate",t)),this._finish()}}_updateCamera(t){const i=new e.bq(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,n=this._map.getBearing(),o=e.e({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),o,{geolocateSource:!0})}_updateMarker(t){if(t){const i=new e.bq(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map.transform,i=e.bo(1,t._center.lat)*t.worldSize,r=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${r}px`,this._circleElement.style.height=`${r}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._userLocationDotMarker.addClassName("mapboxgl-user-location-show-heading")):(this._userLocationDotMarker.removeClassName("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&this._noTimeout)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._userLocationDotMarker.addClassName("mapboxgl-user-location-dot-stale"),this.fire(new e.b("error",t)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(t){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o("button","mapboxgl-ctrl-geolocate",this._container),o("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===t){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}else{const e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o("div","mapboxgl-user-location"),this._dotElement.appendChild(o("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(o("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new na({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=o("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new na({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new e.b("trackuserlocationend")))}))}}_onDeviceOrientation(e){this._userLocationDotMarker&&(e.webkitCompassHeading?this._heading=e.webkitCompassHeading:!0===e.absolute&&(this._heading=-1*e.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return e.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.b("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new e.b("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.b("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(e={maximumAge:6e5,timeout:0},this._noTimeout=!0):(e=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,e),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const e=()=>{"ondeviceorientationabsolute"in window?window.addEventListener("deviceorientationabsolute",this._onDeviceOrientation):window.addEventListener("deviceorientation",this._onDeviceOrientation)};"undefined"!=typeof DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((t=>{"granted"===t&&e()})).catch(console.error):e()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),window.removeEventListener("deviceorientation",this._onDeviceOrientation),window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Js,ScaleControl:class{constructor(t){this.options=e.e({},ma,t),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"short",unit:"meter"}),!0}catch(e){return!1}}(),e.a$(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const e=this.options.maxWidth||100,t=this._map,i=t._containerHeight/2,r=t._containerWidth/2-e/2,n=t.unproject([r,i]),o=t.unproject([r+e,i]),s=n.distanceTo(o);if("imperial"===this.options.unit){const t=3.2808*s;t>5280?this._setScale(e,t/5280,"mile"):this._setScale(e,t,"foot")}else"nautical"===this.options.unit?this._setScale(e,s/1852,"nautical-mile"):s>=1e3?this._setScale(e,s/1e3,"kilometer"):this._setScale(e,s,"meter")}_setScale(e,t,i){this._map._requestDomTask((()=>{const r=function(e){const t=Math.pow(10,`${Math.floor(e)}`.length-1);let i=e/t;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(e){const t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(i),t*i}(t),n=r/t;this._container.innerHTML=this._isNumberFormatSupported&&"nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:i}).format(r):`${r} ${_a[i]}`,this._container.style.width=e*n+"px"}))}onAdd(e){return this._map=e,this._language=e.getLanguage(),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(e){this._language=e,this._update()}setUnit(e){this.options.unit=e,this._update()}},FullscreenControl:class{constructor(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w("Full screen control 'container' must be a DOM element.")),e.a$(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.w("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!document.fullscreenEnabled&&!document.webkitFullscreenEnabled)}_setupUI(){const e=this._fullscreenButton=o("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",e)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(document.fullscreenElement||document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends e.E{constructor(t){super(),this.options=e.e(Object.create(oa),t),e.a$(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(t&&t.className?t.className.trim().split(/\s+/):[])}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&t.on("preclick",this._onClose),this.options.closeOnMove&&t.on("move",this._onClose),t.on("remove",this.remove),this._update(),t._addPopup(this),this._focusFirstElement(),this._trackPointer?(t.on("mousemove",this._onMouseEvent),t.on("mouseup",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")):t.on("move",this._update),this.fire(new e.b("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const t=this._map;return t&&(t.off("move",this._update),t.off("move",this._onClose),t.off("preclick",this._onClose),t.off("click",this._onClose),t.off("remove",this.remove),t.off("mousemove",this._onMouseEvent),t.off("mouseup",this._onMouseEvent),t.off("drag",this._onMouseEvent),t._canvasContainer&&t._canvasContainer.classList.remove("mapboxgl-track-pointer"),t._removePopup(this),this._map=void 0),this.fire(new e.b("close")),this}getLngLat(){return this._lngLat}setLngLat(t){this._lngLat=e.bq.convert(t),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const e=this._map;return e&&(e.off("move",this._update),e.on("mousemove",this._onMouseEvent),e.on("drag",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){const t=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=e;r=i.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=o("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(e),this.options.closeButton){const e=this._closeButton=o("button","mapboxgl-popup-close-button",t);e.type="button",e.setAttribute("aria-label","Close popup"),e.setAttribute("aria-hidden","true"),e.innerHTML="×",e.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(e){return this._classList.add(e),this._updateClassList(),this}removeClassName(e){return this._classList.delete(e),this._updateClassList(),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){let t;return this._classList.delete(e)?t=!1:(this._classList.add(e),t=!0),this._updateClassList(),t}_onMouseEvent(e){this._update(e.point)}_getAnchor(e){if(this.options.anchor)return this.options.anchor;const t=this._map,i=this._container,r=this._pos;if(!t||!i||!r)return"bottom";const n=i.offsetWidth,o=i.offsetHeight,s=r.xt.transform.width-n/2;if(r.y+et.transform.height-o){if(s)return"bottom-left";if(a)return"bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const e=this._container;if(!e)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),e.className=t.join(" ")}_update(t){const i=this._map,r=this._content;if(!i||!this._lngLat&&!this._trackPointer||!r)return;let n=this._container;if(n||(n=this._container=o("div","mapboxgl-popup",i.getContainer()),this._tip=o("div","mapboxgl-popup-tip",n),n.appendChild(r)),this.options.maxWidth&&n.style.maxWidth!==this.options.maxWidth&&(n.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ia(this._lngLat,this._pos,i.transform)),!this._trackPointer||t){const e=this._pos=this._trackPointer&&t?t:i.project(this._lngLat),r=aa(this.options.offset),n=this._anchor=this._getAnchor(r.y),o=aa(this.options.offset,n),s=e.add(o).round();i._requestDomTask((()=>{this._container&&n&&(this._container.style.transform=`${ra[n]} translate(${s.x}px,${s.y}px)`)}))}if(!this._marker&&i._showingGlobe()){const t=e.de(i.transform,this._lngLat)?0:1;this._setOpacity(t)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const e=this._container.querySelector(sa);e&&e.focus()}_onClose(){this.remove()}_setOpacity(e){this._container&&(this._container.style.opacity=`${e}`),this._content&&(this._content.style.pointerEvents=e?"auto":"none")}},Marker:na,Style:Cr,LngLat:e.bq,LngLatBounds:e.ag,Point:e.P,MercatorCoordinate:e.O,FreeCameraOptions:cr,Evented:e.E,config:e.dd,prewarm:e.dy,clearPrewarmedResources:e.dz,get accessToken(){return e.dd.ACCESS_TOKEN},set accessToken(t){e.dd.ACCESS_TOKEN=t},get baseApiUrl(){return e.dd.API_URL},set baseApiUrl(t){e.dd.API_URL=t},get workerCount(){return e.dA.workerCount},set workerCount(t){e.dA.workerCount=t},get maxParallelImageRequests(){return e.dd.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.dd.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage(t){e.dB(t)},get workerUrl(){return e.dC.workerUrl},set workerUrl(t){e.dC.workerUrl=t},get workerClass(){return e.dC.workerClass},set workerClass(t){e.dC.workerClass=t},get workerParams(){return e.dC.workerParams},set workerParams(t){e.dC.workerParams=t},get dracoUrl(){return e.dD()},set dracoUrl(t){e.dE(t)},get meshoptUrl(){return e.dF()},set meshoptUrl(t){e.dG(t)},setNow:e.f.setNow,restoreNow:e.f.restoreNow};return ga})),i}()}}]); -//# sourceMappingURL=879.32072918.chunk.js.map \ No newline at end of file diff --git a/static/js/879.822c6055.chunk.js b/static/js/879.822c6055.chunk.js new file mode 100644 index 0000000..4807102 --- /dev/null +++ b/static/js/879.822c6055.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 879.822c6055.chunk.js.LICENSE.txt */ +(self.webpackChunkapp=self.webpackChunkapp||[]).push([[879],{879:function(e){e.exports=function(){"use strict";var e,t,i;function r(r,n){if(e)if(t){var o="self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; ("+e+")(sharedChunk); ("+t+")(sharedChunk); self.onerror = null;",s={};e(s),i=n(s),"undefined"!==typeof window&&window&&window.URL&&window.URL.createObjectURL&&(i.workerUrl=window.URL.createObjectURL(new Blob([o],{type:"text/javascript"})))}else t=n;else e=n}return r(["exports"],(function(e){var t="3.4.0";let i;const r={API_URL:"https://api.mapbox.com",get API_URL_REGEX(){if(null==i){const e=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;try{i=null!={NODE_ENV:"production",PUBLIC_URL:"/peru-mobile-signal-schools",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_MAPBOX_ACCESS_TOKEN:"pk.eyJ1IjoianVuaWNhMTIzIiwiYSI6ImNrM2dka2p1bTAwcjIzZG81ZXpzdnR5N3IifQ.FkHKKEUvWEBCHwodD-Ld9A"}.API_URL_REGEX?new RegExp({NODE_ENV:"production",PUBLIC_URL:"/peru-mobile-signal-schools",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0,REACT_APP_MAPBOX_ACCESS_TOKEN:"pk.eyJ1IjoianVuaWNhMTIzIiwiYSI6ImNrM2dka2p1bTAwcjIzZG81ZXpzdnR5N3IifQ.FkHKKEUvWEBCHwodD-Ld9A"}.API_URL_REGEX):e}catch(t){i=e}}return i},get API_TILEJSON_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/v[0-9]*\/.*\.json.*$)/i},get API_SPRITE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*\/sprite.*\..*$)/i},get API_FONTS_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/fonts\/v[0-9]*\/)(.*\.pbf.*$)/i},get API_STYLE_REGEX(){return/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/styles\/v[0-9]*\/)(.*$)/i},get API_CDN_URL_REGEX(){return/^((https?:)?\/\/)?api\.mapbox\.c(n|om)(\/mapbox-gl-js\/)(.*$)/i},get EVENTS_URL(){if(!r.API_URL)return null;try{const e=new URL(r.API_URL);return"api.mapbox.cn"===e.hostname?"https://events.mapbox.cn/events/v2":"api.mapbox.com"===e.hostname?"https://events.mapbox.com/events/v2":null}catch(e){return null}},SESSION_PATH:"/map-sessions/v1",FEEDBACK_URL:"https://apps.mapbox.com/feedback",TILE_URL_VERSION:"v4",RASTER_URL_PREFIX:"raster/v1",RASTERARRAYS_URL_PREFIX:"rasterarrays/v1",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,DEFAULT_STYLE:"mapbox://styles/mapbox/standard",MAX_PARALLEL_IMAGE_REQUESTS:16,DRACO_URL:"https://api.mapbox.com/mapbox-gl-js/draco_decoder_gltf_v1.5.6.wasm",MESHOPT_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_base_v0.20.wasm",MESHOPT_SIMD_URL:"https://api.mapbox.com/mapbox-gl-js/meshopt_simd_v0.20.wasm",GLYPHS_URL:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"};function n(e){return r.API_URL_REGEX.test(e)}function o(e){return 0===e.indexOf("mapbox:")}function s(e){return r.API_CDN_URL_REGEX.test(e)}function a(e){return r.API_SPRITE_REGEX.test(e)}function l(e){return r.API_STYLE_REGEX.test(e)&&!a(e)}const c={create:"create",load:"load",fullLoad:"fullLoad"};function h(e){const t=e.name.split("?")[0];return s(t)&&t.includes("mapbox-gl.js")?"javascript":s(t)&&t.includes("mapbox-gl.css")?"css":function(e){return r.API_FONTS_REGEX.test(e)}(t)?"fontRange":a(t)?"sprite":l(t)?"style":function(e){return r.API_TILEJSON_REGEX.test(e)}(t)?"tilejson":"other"}function u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var d={},p={};Object.defineProperty(p,"__esModule",{value:!0}),p.setMatrixArrayType=function(e){p.ARRAY_TYPE=m=e},p.toRadian=function(e){return e*g},p.equals=function(e,t){return Math.abs(e-t)<=f*Math.max(1,Math.abs(e),Math.abs(t))},p.RANDOM=p.ARRAY_TYPE=p.EPSILON=void 0;var f=1e-6;p.EPSILON=f;var m="undefined"!=typeof Float32Array?Float32Array:Array;p.ARRAY_TYPE=m;var _=Math.random;p.RANDOM=_;var g=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var y={};function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}Object.defineProperty(y,"__esModule",{value:!0}),y.create=function(){var e=new v.ARRAY_TYPE(4);return v.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0),e[0]=1,e[3]=1,e},y.clone=function(e){var t=new v.ARRAY_TYPE(4);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},y.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},y.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e},y.fromValues=function(e,t,i,r){var n=new v.ARRAY_TYPE(4);return n[0]=e,n[1]=t,n[2]=i,n[3]=r,n},y.set=function(e,t,i,r,n){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e},y.transpose=function(e,t){if(e===t){var i=t[1];e[1]=t[2],e[2]=i}else e[0]=t[0],e[1]=t[2],e[2]=t[1],e[3]=t[3];return e},y.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*o-n*r;return s?(e[0]=o*(s=1/s),e[1]=-r*s,e[2]=-n*s,e[3]=i*s,e):null},y.adjoint=function(e,t){var i=t[0];return e[0]=t[3],e[1]=-t[1],e[2]=-t[2],e[3]=i,e},y.determinant=function(e){return e[0]*e[3]-e[2]*e[1]},y.multiply=w,y.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+o*a,e[1]=n*l+s*a,e[2]=r*-a+o*l,e[3]=n*-a+s*l,e},y.scale=function(e,t,i){var r=t[1],n=t[2],o=t[3],s=i[0],a=i[1];return e[0]=t[0]*s,e[1]=r*s,e[2]=n*a,e[3]=o*a,e},y.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=-i,e[3]=r,e},y.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e},y.str=function(e){return"mat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},y.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3])},y.LDU=function(e,t,i,r){return e[2]=r[2]/r[0],i[0]=r[0],i[1]=r[1],i[3]=r[3]-e[2]*i[1],[e,t,i]},y.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e},y.subtract=T,y.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},y.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=t[0],a=t[1],l=t[2],c=t[3];return Math.abs(i-s)<=v.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(r-a)<=v.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-l)<=v.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(o-c)<=v.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},y.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e},y.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e},y.sub=y.mul=void 0;var v=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==x(e)&&"function"!=typeof e)return{default:e};var i=b(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(b=function(e){return e?i:t})(e)}function w(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*a+o*l,e[1]=n*a+s*l,e[2]=r*c+o*h,e[3]=n*c+s*h,e}function T(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e}y.mul=w,y.sub=T;var E={};function S(e){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},S(e)}Object.defineProperty(E,"__esModule",{value:!0}),E.create=function(){var e=new M.ARRAY_TYPE(6);return M.ARRAY_TYPE!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e},E.clone=function(e){var t=new M.ARRAY_TYPE(6);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},E.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},E.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e},E.fromValues=function(e,t,i,r,n,o){var s=new M.ARRAY_TYPE(6);return s[0]=e,s[1]=t,s[2]=i,s[3]=r,s[4]=n,s[5]=o,s},E.set=function(e,t,i,r,n,o,s){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e},E.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=i*o-r*n;return l?(e[0]=o*(l=1/l),e[1]=-r*l,e[2]=-n*l,e[3]=i*l,e[4]=(n*a-o*s)*l,e[5]=(r*s-i*a)*l,e):null},E.determinant=function(e){return e[0]*e[3]-e[1]*e[2]},E.multiply=I,E.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=Math.sin(i),h=Math.cos(i);return e[0]=r*h+o*c,e[1]=n*h+s*c,e[2]=r*-c+o*h,e[3]=n*-c+s*h,e[4]=a,e[5]=l,e},E.scale=function(e,t,i){var r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=i[0],c=i[1];return e[0]=t[0]*l,e[1]=r*l,e[2]=n*c,e[3]=o*c,e[4]=s,e[5]=a,e},E.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=i[0],h=i[1];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=r*c+o*h+a,e[5]=n*c+s*h+l,e},E.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=-i,e[3]=r,e[4]=0,e[5]=0,e},E.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=t[1],e[4]=0,e[5]=0,e},E.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e},E.str=function(e){return"mat2d("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+")"},E.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],1)},E.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e},E.subtract=C,E.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e},E.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e},E.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]},E.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=t[0],c=t[1],h=t[2],u=t[3],d=t[4],p=t[5];return Math.abs(i-l)<=M.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(r-c)<=M.EPSILON*Math.max(1,Math.abs(r),Math.abs(c))&&Math.abs(n-h)<=M.EPSILON*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(o-u)<=M.EPSILON*Math.max(1,Math.abs(o),Math.abs(u))&&Math.abs(s-d)<=M.EPSILON*Math.max(1,Math.abs(s),Math.abs(d))&&Math.abs(a-p)<=M.EPSILON*Math.max(1,Math.abs(a),Math.abs(p))},E.sub=E.mul=void 0;var M=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==S(e)&&"function"!=typeof e)return{default:e};var i=A(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function A(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(A=function(e){return e?i:t})(e)}function I(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=i[0],h=i[1],u=i[2],d=i[3],p=i[4],f=i[5];return e[0]=r*c+o*h,e[1]=n*c+s*h,e[2]=r*u+o*d,e[3]=n*u+s*d,e[4]=r*p+o*f+a,e[5]=n*p+s*f+l,e}function C(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e}E.mul=I,E.sub=C;var P={};function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}Object.defineProperty(P,"__esModule",{value:!0}),P.create=function(){var e=new D.ARRAY_TYPE(9);return D.ARRAY_TYPE!=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},P.fromMat4=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[4],e[4]=t[5],e[5]=t[6],e[6]=t[8],e[7]=t[9],e[8]=t[10],e},P.clone=function(e){var t=new D.ARRAY_TYPE(9);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},P.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},P.fromValues=function(e,t,i,r,n,o,s,a,l){var c=new D.ARRAY_TYPE(9);return c[0]=e,c[1]=t,c[2]=i,c[3]=r,c[4]=n,c[5]=o,c[6]=s,c[7]=a,c[8]=l,c},P.set=function(e,t,i,r,n,o,s,a,l,c){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e[8]=c,e},P.identity=function(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.transpose=function(e,t){if(e===t){var i=t[1],r=t[2],n=t[5];e[1]=t[3],e[2]=t[6],e[3]=i,e[5]=t[7],e[6]=r,e[7]=n}else e[0]=t[0],e[1]=t[3],e[2]=t[6],e[3]=t[1],e[4]=t[4],e[5]=t[7],e[6]=t[2],e[7]=t[5],e[8]=t[8];return e},P.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=h*s-a*c,d=-h*o+a*l,p=c*o-s*l,f=i*u+r*d+n*p;return f?(e[0]=u*(f=1/f),e[1]=(-h*r+n*c)*f,e[2]=(a*r-n*s)*f,e[3]=d*f,e[4]=(h*i-n*l)*f,e[5]=(-a*i+n*o)*f,e[6]=p*f,e[7]=(-c*i+r*l)*f,e[8]=(s*i-r*o)*f,e):null},P.adjoint=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8];return e[0]=s*h-a*c,e[1]=n*c-r*h,e[2]=r*a-n*s,e[3]=a*l-o*h,e[4]=i*h-n*l,e[5]=n*o-i*a,e[6]=o*c-s*l,e[7]=r*l-i*c,e[8]=i*s-r*o,e},P.determinant=function(e){var t=e[3],i=e[4],r=e[5],n=e[6],o=e[7],s=e[8];return e[0]*(s*i-r*o)+e[1]*(-s*t+r*n)+e[2]*(o*t-i*n)},P.multiply=L,P.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=i[0],p=i[1];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=l,e[6]=d*r+p*s+c,e[7]=d*n+p*a+h,e[8]=d*o+p*l+u,e},P.rotate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=Math.sin(i),p=Math.cos(i);return e[0]=p*r+d*s,e[1]=p*n+d*a,e[2]=p*o+d*l,e[3]=p*s-d*r,e[4]=p*a-d*n,e[5]=p*l-d*o,e[6]=c,e[7]=h,e[8]=u,e},P.scale=function(e,t,i){var r=i[0],n=i[1];return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=n*t[3],e[4]=n*t[4],e[5]=n*t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},P.fromTranslation=function(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=t[0],e[7]=t[1],e[8]=1,e},P.fromRotation=function(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=0,e[3]=-i,e[4]=r,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.fromScaling=function(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=t[1],e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},P.fromMat2d=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=0,e[3]=t[2],e[4]=t[3],e[5]=0,e[6]=t[4],e[7]=t[5],e[8]=1,e},P.fromQuat=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i+i,a=r+r,l=n+n,c=i*s,h=r*s,u=r*a,d=n*s,p=n*a,f=n*l,m=o*s,_=o*a,g=o*l;return e[0]=1-u-f,e[3]=h-g,e[6]=d+_,e[1]=h+g,e[4]=1-c-f,e[7]=p-m,e[2]=d-_,e[5]=p+m,e[8]=1-c-u,e},P.normalFromMat4=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15],y=i*a-r*s,x=i*l-n*s,v=i*c-o*s,b=r*l-n*a,w=r*c-o*a,T=n*c-o*l,E=h*m-u*f,S=h*_-d*f,M=h*g-p*f,A=u*_-d*m,I=u*g-p*m,C=d*g-p*_,P=y*C-x*I+v*A+b*M-w*S+T*E;return P?(e[0]=(a*C-l*I+c*A)*(P=1/P),e[1]=(l*M-s*C-c*S)*P,e[2]=(s*I-a*M+c*E)*P,e[3]=(n*I-r*C-o*A)*P,e[4]=(i*C-n*M+o*S)*P,e[5]=(r*M-i*I-o*E)*P,e[6]=(m*T-_*w+g*b)*P,e[7]=(_*v-f*T-g*x)*P,e[8]=(f*w-m*v+g*y)*P,e):null},P.projection=function(e,t,i){return e[0]=2/t,e[1]=0,e[2]=0,e[3]=0,e[4]=-2/i,e[5]=0,e[6]=-1,e[7]=1,e[8]=1,e},P.str=function(e){return"mat3("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+")"},P.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},P.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e[6]=t[6]+i[6],e[7]=t[7]+i[7],e[8]=t[8]+i[8],e},P.subtract=k,P.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*i,e},P.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e[6]=t[6]+i[6]*r,e[7]=t[7]+i[7]*r,e[8]=t[8]+i[8]*r,e},P.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]},P.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=t[0],d=t[1],p=t[2],f=t[3],m=t[4],_=t[5],g=t[6],y=t[7],x=t[8];return Math.abs(i-u)<=D.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(r-d)<=D.EPSILON*Math.max(1,Math.abs(r),Math.abs(d))&&Math.abs(n-p)<=D.EPSILON*Math.max(1,Math.abs(n),Math.abs(p))&&Math.abs(o-f)<=D.EPSILON*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(s-m)<=D.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(a-_)<=D.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(l-g)<=D.EPSILON*Math.max(1,Math.abs(l),Math.abs(g))&&Math.abs(c-y)<=D.EPSILON*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(h-x)<=D.EPSILON*Math.max(1,Math.abs(h),Math.abs(x))},P.sub=P.mul=void 0;var D=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==z(e)&&"function"!=typeof e)return{default:e};var i=R(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function R(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(R=function(e){return e?i:t})(e)}function L(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=i[0],p=i[1],f=i[2],m=i[3],_=i[4],g=i[5],y=i[6],x=i[7],v=i[8];return e[0]=d*r+p*s+f*c,e[1]=d*n+p*a+f*h,e[2]=d*o+p*l+f*u,e[3]=m*r+_*s+g*c,e[4]=m*n+_*a+g*h,e[5]=m*o+_*l+g*u,e[6]=y*r+x*s+v*c,e[7]=y*n+x*a+v*h,e[8]=y*o+x*l+v*u,e}function k(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e[6]=t[6]-i[6],e[7]=t[7]-i[7],e[8]=t[8]-i[8],e}P.mul=L,P.sub=k;var O={};function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}Object.defineProperty(O,"__esModule",{value:!0}),O.create=function(){var e=new F.ARRAY_TYPE(16);return F.ARRAY_TYPE!=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},O.clone=function(e){var t=new F.ARRAY_TYPE(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},O.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},O.fromValues=function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){var _=new F.ARRAY_TYPE(16);return _[0]=e,_[1]=t,_[2]=i,_[3]=r,_[4]=n,_[5]=o,_[6]=s,_[7]=a,_[8]=l,_[9]=c,_[10]=h,_[11]=u,_[12]=d,_[13]=p,_[14]=f,_[15]=m,_},O.set=function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e[8]=c,e[9]=h,e[10]=u,e[11]=d,e[12]=p,e[13]=f,e[14]=m,e[15]=_,e},O.identity=V,O.transpose=function(e,t){if(e===t){var i=t[1],r=t[2],n=t[3],o=t[6],s=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=i,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=o,e[11]=t[14],e[12]=n,e[13]=s,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e},O.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15],y=i*a-r*s,x=i*l-n*s,v=i*c-o*s,b=r*l-n*a,w=r*c-o*a,T=n*c-o*l,E=h*m-u*f,S=h*_-d*f,M=h*g-p*f,A=u*_-d*m,I=u*g-p*m,C=d*g-p*_,P=y*C-x*I+v*A+b*M-w*S+T*E;return P?(e[0]=(a*C-l*I+c*A)*(P=1/P),e[1]=(n*I-r*C-o*A)*P,e[2]=(m*T-_*w+g*b)*P,e[3]=(d*w-u*T-p*b)*P,e[4]=(l*M-s*C-c*S)*P,e[5]=(i*C-n*M+o*S)*P,e[6]=(_*v-f*T-g*x)*P,e[7]=(h*T-d*v+p*x)*P,e[8]=(s*I-a*M+c*E)*P,e[9]=(r*M-i*I-o*E)*P,e[10]=(f*w-m*v+g*y)*P,e[11]=(u*v-h*w-p*y)*P,e[12]=(a*S-s*A-l*E)*P,e[13]=(i*A-r*S+n*E)*P,e[14]=(m*x-f*b-_*y)*P,e[15]=(h*b-u*x+d*y)*P,e):null},O.adjoint=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],h=t[8],u=t[9],d=t[10],p=t[11],f=t[12],m=t[13],_=t[14],g=t[15];return e[0]=a*(d*g-p*_)-u*(l*g-c*_)+m*(l*p-c*d),e[1]=-(r*(d*g-p*_)-u*(n*g-o*_)+m*(n*p-o*d)),e[2]=r*(l*g-c*_)-a*(n*g-o*_)+m*(n*c-o*l),e[3]=-(r*(l*p-c*d)-a*(n*p-o*d)+u*(n*c-o*l)),e[4]=-(s*(d*g-p*_)-h*(l*g-c*_)+f*(l*p-c*d)),e[5]=i*(d*g-p*_)-h*(n*g-o*_)+f*(n*p-o*d),e[6]=-(i*(l*g-c*_)-s*(n*g-o*_)+f*(n*c-o*l)),e[7]=i*(l*p-c*d)-s*(n*p-o*d)+h*(n*c-o*l),e[8]=s*(u*g-p*m)-h*(a*g-c*m)+f*(a*p-c*u),e[9]=-(i*(u*g-p*m)-h*(r*g-o*m)+f*(r*p-o*u)),e[10]=i*(a*g-c*m)-s*(r*g-o*m)+f*(r*c-o*a),e[11]=-(i*(a*p-c*u)-s*(r*p-o*u)+h*(r*c-o*a)),e[12]=-(s*(u*_-d*m)-h*(a*_-l*m)+f*(a*d-l*u)),e[13]=i*(u*_-d*m)-h*(r*_-n*m)+f*(r*d-n*u),e[14]=-(i*(a*_-l*m)-s*(r*_-n*m)+f*(r*l-n*a)),e[15]=i*(a*d-l*u)-s*(r*d-n*u)+h*(r*l-n*a),e},O.determinant=function(e){var t=e[0],i=e[1],r=e[2],n=e[3],o=e[4],s=e[5],a=e[6],l=e[7],c=e[8],h=e[9],u=e[10],d=e[11],p=e[12],f=e[13],m=e[14],_=e[15];return(t*s-i*o)*(u*_-d*m)-(t*a-r*o)*(h*_-d*f)+(t*l-n*o)*(h*m-u*f)+(i*a-r*s)*(c*_-d*p)-(i*l-n*s)*(c*m-u*p)+(r*l-n*a)*(c*f-h*p)},O.multiply=U,O.translate=function(e,t,i){var r,n,o,s,a,l,c,h,u,d,p,f,m=i[0],_=i[1],g=i[2];return t===e?(e[12]=t[0]*m+t[4]*_+t[8]*g+t[12],e[13]=t[1]*m+t[5]*_+t[9]*g+t[13],e[14]=t[2]*m+t[6]*_+t[10]*g+t[14],e[15]=t[3]*m+t[7]*_+t[11]*g+t[15]):(n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],e[0]=r=t[0],e[1]=n,e[2]=o,e[3]=s,e[4]=a,e[5]=l,e[6]=c,e[7]=h,e[8]=u,e[9]=d,e[10]=p,e[11]=f,e[12]=r*m+a*_+u*g+t[12],e[13]=n*m+l*_+d*g+t[13],e[14]=o*m+c*_+p*g+t[14],e[15]=s*m+h*_+f*g+t[15]),e},O.scale=function(e,t,i){var r=i[0],n=i[1],o=i[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]*n,e[5]=t[5]*n,e[6]=t[6]*n,e[7]=t[7]*n,e[8]=t[8]*o,e[9]=t[9]*o,e[10]=t[10]*o,e[11]=t[11]*o,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},O.rotate=function(e,t,i,r){var n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I=r[0],C=r[1],P=r[2],z=Math.hypot(I,C,P);return z0?(i[0]=2*(a*s+h*r+l*o-c*n)/u,i[1]=2*(l*s+h*n+c*r-a*o)/u,i[2]=2*(c*s+h*o+a*n-l*r)/u):(i[0]=2*(a*s+h*r+l*o-c*n),i[1]=2*(l*s+h*n+c*r-a*o),i[2]=2*(c*s+h*o+a*n-l*r)),j(e,t,i),e},O.getTranslation=function(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e},O.getScaling=G,O.getRotation=function(e,t){var i=new F.ARRAY_TYPE(3);G(i,t);var r=1/i[0],n=1/i[1],o=1/i[2],s=t[0]*r,a=t[1]*n,l=t[2]*o,c=t[4]*r,h=t[5]*n,u=t[6]*o,d=t[8]*r,p=t[9]*n,f=t[10]*o,m=s+h+f,_=0;return m>0?(_=2*Math.sqrt(m+1),e[3]=.25*_,e[0]=(u-p)/_,e[1]=(d-l)/_,e[2]=(a-c)/_):s>h&&s>f?(_=2*Math.sqrt(1+s-h-f),e[3]=(u-p)/_,e[0]=.25*_,e[1]=(a+c)/_,e[2]=(d+l)/_):h>f?(_=2*Math.sqrt(1+h-s-f),e[3]=(d-l)/_,e[0]=(a+c)/_,e[1]=.25*_,e[2]=(u+p)/_):(_=2*Math.sqrt(1+f-s-h),e[3]=(a-c)/_,e[0]=(d+l)/_,e[1]=(u+p)/_,e[2]=.25*_),e},O.fromRotationTranslationScale=function(e,t,i,r){var n=t[0],o=t[1],s=t[2],a=t[3],l=n+n,c=o+o,h=s+s,u=n*l,d=n*c,p=n*h,f=o*c,m=o*h,_=s*h,g=a*l,y=a*c,x=a*h,v=r[0],b=r[1],w=r[2];return e[0]=(1-(f+_))*v,e[1]=(d+x)*v,e[2]=(p-y)*v,e[3]=0,e[4]=(d-x)*b,e[5]=(1-(u+_))*b,e[6]=(m+g)*b,e[7]=0,e[8]=(p+y)*w,e[9]=(m-g)*w,e[10]=(1-(u+f))*w,e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e},O.fromRotationTranslationScaleOrigin=function(e,t,i,r,n){var o=t[0],s=t[1],a=t[2],l=t[3],c=o+o,h=s+s,u=a+a,d=o*c,p=o*h,f=o*u,m=s*h,_=s*u,g=a*u,y=l*c,x=l*h,v=l*u,b=r[0],w=r[1],T=r[2],E=n[0],S=n[1],M=n[2],A=(1-(m+g))*b,I=(p+v)*b,C=(f-x)*b,P=(p-v)*w,z=(1-(d+g))*w,D=(_+y)*w,R=(f+x)*T,L=(_-y)*T,k=(1-(d+m))*T;return e[0]=A,e[1]=I,e[2]=C,e[3]=0,e[4]=P,e[5]=z,e[6]=D,e[7]=0,e[8]=R,e[9]=L,e[10]=k,e[11]=0,e[12]=i[0]+E-(A*E+P*S+R*M),e[13]=i[1]+S-(I*E+z*S+L*M),e[14]=i[2]+M-(C*E+D*S+k*M),e[15]=1,e},O.fromQuat=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i+i,a=r+r,l=n+n,c=i*s,h=r*s,u=r*a,d=n*s,p=n*a,f=n*l,m=o*s,_=o*a,g=o*l;return e[0]=1-u-f,e[1]=h+g,e[2]=d-_,e[3]=0,e[4]=h-g,e[5]=1-c-f,e[6]=p+m,e[7]=0,e[8]=d+_,e[9]=p-m,e[10]=1-c-u,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},O.frustum=function(e,t,i,r,n,o,s){var a=1/(i-t),l=1/(n-r),c=1/(o-s);return e[0]=2*o*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*o*l,e[6]=0,e[7]=0,e[8]=(i+t)*a,e[9]=(n+r)*l,e[10]=(s+o)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=s*o*2*c,e[15]=0,e},O.perspectiveNO=q,O.perspectiveZO=function(e,t,i,r,n){var o,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=n*(o=1/(r-n)),e[14]=n*r*o):(e[10]=-1,e[14]=-r),e},O.perspectiveFromFieldOfView=function(e,t,i,r){var n=Math.tan(t.upDegrees*Math.PI/180),o=Math.tan(t.downDegrees*Math.PI/180),s=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),l=2/(s+a),c=2/(n+o);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(s-a)*l*.5,e[9]=(n-o)*c*.5,e[10]=r/(i-r),e[11]=-1,e[12]=0,e[13]=0,e[14]=r*i/(i-r),e[15]=0,e},O.orthoNO=Z,O.orthoZO=function(e,t,i,r,n,o,s){var a=1/(t-i),l=1/(r-n),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+i)*a,e[13]=(n+r)*l,e[14]=o*c,e[15]=1,e},O.lookAt=function(e,t,i,r){var n,o,s,a,l,c,h,u,d,p,f=t[0],m=t[1],_=t[2],g=r[0],y=r[1],x=r[2],v=i[0],b=i[1],w=i[2];return Math.abs(f-v)0&&(h*=p=1/Math.sqrt(p),u*=p,d*=p);var f=l*d-c*u,m=c*h-a*d,_=a*u-l*h;return(p=f*f+m*m+_*_)>0&&(f*=p=1/Math.sqrt(p),m*=p,_*=p),e[0]=f,e[1]=m,e[2]=_,e[3]=0,e[4]=u*_-d*m,e[5]=d*f-h*_,e[6]=h*m-u*f,e[7]=0,e[8]=h,e[9]=u,e[10]=d,e[11]=0,e[12]=n,e[13]=o,e[14]=s,e[15]=1,e},O.str=function(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"},O.frob=function(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])},O.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e[3]=t[3]+i[3],e[4]=t[4]+i[4],e[5]=t[5]+i[5],e[6]=t[6]+i[6],e[7]=t[7]+i[7],e[8]=t[8]+i[8],e[9]=t[9]+i[9],e[10]=t[10]+i[10],e[11]=t[11]+i[11],e[12]=t[12]+i[12],e[13]=t[13]+i[13],e[14]=t[14]+i[14],e[15]=t[15]+i[15],e},O.subtract=$,O.multiplyScalar=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e[3]=t[3]*i,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12]*i,e[13]=t[13]*i,e[14]=t[14]*i,e[15]=t[15]*i,e},O.multiplyScalarAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e[3]=t[3]+i[3]*r,e[4]=t[4]+i[4]*r,e[5]=t[5]+i[5]*r,e[6]=t[6]+i[6]*r,e[7]=t[7]+i[7]*r,e[8]=t[8]+i[8]*r,e[9]=t[9]+i[9]*r,e[10]=t[10]+i[10]*r,e[11]=t[11]+i[11]*r,e[12]=t[12]+i[12]*r,e[13]=t[13]+i[13]*r,e[14]=t[14]+i[14]*r,e[15]=t[15]+i[15]*r,e},O.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},O.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=e[8],u=e[9],d=e[10],p=e[11],f=e[12],m=e[13],_=e[14],g=e[15],y=t[0],x=t[1],v=t[2],b=t[3],w=t[4],T=t[5],E=t[6],S=t[7],M=t[8],A=t[9],I=t[10],C=t[11],P=t[12],z=t[13],D=t[14],R=t[15];return Math.abs(i-y)<=F.EPSILON*Math.max(1,Math.abs(i),Math.abs(y))&&Math.abs(r-x)<=F.EPSILON*Math.max(1,Math.abs(r),Math.abs(x))&&Math.abs(n-v)<=F.EPSILON*Math.max(1,Math.abs(n),Math.abs(v))&&Math.abs(o-b)<=F.EPSILON*Math.max(1,Math.abs(o),Math.abs(b))&&Math.abs(s-w)<=F.EPSILON*Math.max(1,Math.abs(s),Math.abs(w))&&Math.abs(a-T)<=F.EPSILON*Math.max(1,Math.abs(a),Math.abs(T))&&Math.abs(l-E)<=F.EPSILON*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(c-S)<=F.EPSILON*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(h-M)<=F.EPSILON*Math.max(1,Math.abs(h),Math.abs(M))&&Math.abs(u-A)<=F.EPSILON*Math.max(1,Math.abs(u),Math.abs(A))&&Math.abs(d-I)<=F.EPSILON*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(p-C)<=F.EPSILON*Math.max(1,Math.abs(p),Math.abs(C))&&Math.abs(f-P)<=F.EPSILON*Math.max(1,Math.abs(f),Math.abs(P))&&Math.abs(m-z)<=F.EPSILON*Math.max(1,Math.abs(m),Math.abs(z))&&Math.abs(_-D)<=F.EPSILON*Math.max(1,Math.abs(_),Math.abs(D))&&Math.abs(g-R)<=F.EPSILON*Math.max(1,Math.abs(g),Math.abs(R))},O.sub=O.mul=O.ortho=O.perspective=void 0;var F=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==B(e)&&"function"!=typeof e)return{default:e};var i=N(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function N(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(N=function(e){return e?i:t})(e)}function V(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 U(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=t[8],d=t[9],p=t[10],f=t[11],m=t[12],_=t[13],g=t[14],y=t[15],x=i[0],v=i[1],b=i[2],w=i[3];return e[0]=x*r+v*a+b*u+w*m,e[1]=x*n+v*l+b*d+w*_,e[2]=x*o+v*c+b*p+w*g,e[3]=x*s+v*h+b*f+w*y,e[4]=(x=i[4])*r+(v=i[5])*a+(b=i[6])*u+(w=i[7])*m,e[5]=x*n+v*l+b*d+w*_,e[6]=x*o+v*c+b*p+w*g,e[7]=x*s+v*h+b*f+w*y,e[8]=(x=i[8])*r+(v=i[9])*a+(b=i[10])*u+(w=i[11])*m,e[9]=x*n+v*l+b*d+w*_,e[10]=x*o+v*c+b*p+w*g,e[11]=x*s+v*h+b*f+w*y,e[12]=(x=i[12])*r+(v=i[13])*a+(b=i[14])*u+(w=i[15])*m,e[13]=x*n+v*l+b*d+w*_,e[14]=x*o+v*c+b*p+w*g,e[15]=x*s+v*h+b*f+w*y,e}function j(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=r+r,l=n+n,c=o+o,h=r*a,u=r*l,d=r*c,p=n*l,f=n*c,m=o*c,_=s*a,g=s*l,y=s*c;return e[0]=1-(p+m),e[1]=u+y,e[2]=d-g,e[3]=0,e[4]=u-y,e[5]=1-(h+m),e[6]=f+_,e[7]=0,e[8]=d+g,e[9]=f-_,e[10]=1-(h+p),e[11]=0,e[12]=i[0],e[13]=i[1],e[14]=i[2],e[15]=1,e}function G(e,t){var i=t[4],r=t[5],n=t[6],o=t[8],s=t[9],a=t[10];return e[0]=Math.hypot(t[0],t[1],t[2]),e[1]=Math.hypot(i,r,n),e[2]=Math.hypot(o,s,a),e}function q(e,t,i,r,n){var o,s=1/Math.tan(t/2);return e[0]=s/i,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=n&&n!==1/0?(e[10]=(n+r)*(o=1/(r-n)),e[14]=2*n*r*o):(e[10]=-1,e[14]=-2*r),e}function Z(e,t,i,r,n,o,s){var a=1/(t-i),l=1/(r-n),c=1/(o-s);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+i)*a,e[13]=(n+r)*l,e[14]=(s+o)*c,e[15]=1,e}function $(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e[4]=t[4]-i[4],e[5]=t[5]-i[5],e[6]=t[6]-i[6],e[7]=t[7]-i[7],e[8]=t[8]-i[8],e[9]=t[9]-i[9],e[10]=t[10]-i[10],e[11]=t[11]-i[11],e[12]=t[12]-i[12],e[13]=t[13]-i[13],e[14]=t[14]-i[14],e[15]=t[15]-i[15],e}O.perspective=q,O.ortho=Z,O.mul=U,O.sub=$;var W={},Q={};function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}Object.defineProperty(Q,"__esModule",{value:!0}),Q.create=K,Q.clone=function(e){var t=new X.ARRAY_TYPE(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},Q.length=J,Q.fromValues=function(e,t,i){var r=new X.ARRAY_TYPE(3);return r[0]=e,r[1]=t,r[2]=i,r},Q.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},Q.set=function(e,t,i,r){return e[0]=t,e[1]=i,e[2]=r,e},Q.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e[2]=t[2]+i[2],e},Q.subtract=ee,Q.multiply=te,Q.divide=ie,Q.ceil=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e[2]=Math.ceil(t[2]),e},Q.floor=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e[2]=Math.floor(t[2]),e},Q.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e[2]=Math.min(t[2],i[2]),e},Q.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e[2]=Math.max(t[2],i[2]),e},Q.round=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e[2]=Math.round(t[2]),e},Q.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e},Q.scaleAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e[2]=t[2]+i[2]*r,e},Q.distance=re,Q.squaredDistance=ne,Q.squaredLength=oe,Q.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e},Q.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e[2]=1/t[2],e},Q.normalize=function(e,t){var i=t[0],r=t[1],n=t[2],o=i*i+r*r+n*n;return o>0&&(o=1/Math.sqrt(o)),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e},Q.dot=se,Q.cross=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[0],a=i[1],l=i[2];return e[0]=n*l-o*a,e[1]=o*s-r*l,e[2]=r*a-n*s,e},Q.lerp=function(e,t,i,r){var n=t[0],o=t[1],s=t[2];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e[2]=s+r*(i[2]-s),e},Q.hermite=function(e,t,i,r,n,o){var s=o*o,a=s*(2*o-3)+1,l=s*(o-2)+o,c=s*(o-1),h=s*(3-2*o);return e[0]=t[0]*a+i[0]*l+r[0]*c+n[0]*h,e[1]=t[1]*a+i[1]*l+r[1]*c+n[1]*h,e[2]=t[2]*a+i[2]*l+r[2]*c+n[2]*h,e},Q.bezier=function(e,t,i,r,n,o){var s=1-o,a=s*s,l=o*o,c=a*s,h=3*o*a,u=3*l*s,d=l*o;return e[0]=t[0]*c+i[0]*h+r[0]*u+n[0]*d,e[1]=t[1]*c+i[1]*h+r[1]*u+n[1]*d,e[2]=t[2]*c+i[2]*h+r[2]*u+n[2]*d,e},Q.random=function(e,t){t=t||1;var i=2*X.RANDOM()*Math.PI,r=2*X.RANDOM()-1,n=Math.sqrt(1-r*r)*t;return e[0]=Math.cos(i)*n,e[1]=Math.sin(i)*n,e[2]=r*t,e},Q.transformMat4=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[3]*r+i[7]*n+i[11]*o+i[15];return e[0]=(i[0]*r+i[4]*n+i[8]*o+i[12])/(s=s||1),e[1]=(i[1]*r+i[5]*n+i[9]*o+i[13])/s,e[2]=(i[2]*r+i[6]*n+i[10]*o+i[14])/s,e},Q.transformMat3=function(e,t,i){var r=t[0],n=t[1],o=t[2];return e[0]=r*i[0]+n*i[3]+o*i[6],e[1]=r*i[1]+n*i[4]+o*i[7],e[2]=r*i[2]+n*i[5]+o*i[8],e},Q.transformQuat=function(e,t,i){var r=i[0],n=i[1],o=i[2],s=t[0],a=t[1],l=t[2],c=n*l-o*a,h=o*s-r*l,u=r*a-n*s,d=n*u-o*h,p=o*c-r*u,f=r*h-n*c,m=2*i[3];return h*=m,u*=m,p*=2,f*=2,e[0]=s+(c*=m)+(d*=2),e[1]=a+h+p,e[2]=l+u+f,e},Q.rotateX=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[0],o[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),o[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.rotateY=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),o[1]=n[1],o[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.rotateZ=function(e,t,i,r){var n=[],o=[];return n[0]=t[0]-i[0],n[1]=t[1]-i[1],n[2]=t[2]-i[2],o[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),o[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),o[2]=n[2],e[0]=o[0]+i[0],e[1]=o[1]+i[1],e[2]=o[2]+i[2],e},Q.angle=function(e,t){var i=e[0],r=e[1],n=e[2],o=t[0],s=t[1],a=t[2],l=Math.sqrt(i*i+r*r+n*n)*Math.sqrt(o*o+s*s+a*a),c=l&&se(e,t)/l;return Math.acos(Math.min(Math.max(c,-1),1))},Q.zero=function(e){return e[0]=0,e[1]=0,e[2]=0,e},Q.str=function(e){return"vec3("+e[0]+", "+e[1]+", "+e[2]+")"},Q.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]},Q.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=t[0],s=t[1],a=t[2];return Math.abs(i-o)<=X.EPSILON*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-s)<=X.EPSILON*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(n-a)<=X.EPSILON*Math.max(1,Math.abs(n),Math.abs(a))},Q.forEach=Q.sqrLen=Q.len=Q.sqrDist=Q.dist=Q.div=Q.mul=Q.sub=void 0;var X=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==H(e)&&"function"!=typeof e)return{default:e};var i=Y(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function Y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(Y=function(e){return e?i:t})(e)}function K(){var e=new X.ARRAY_TYPE(3);return X.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function J(e){return Math.hypot(e[0],e[1],e[2])}function ee(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e}function te(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e}function ie(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e}function re(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2])}function ne(e,t){var i=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2];return i*i+r*r+n*n}function oe(e){var t=e[0],i=e[1],r=e[2];return t*t+i*i+r*r}function se(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}Q.sub=ee,Q.mul=te,Q.div=ie,Q.dist=re,Q.sqrDist=ne,Q.len=J,Q.sqrLen=oe;var ae,le=(ae=K(),function(e,t,i,r,n,o){var s,a;for(t||(t=3),i||(i=0),a=r?Math.min(r*t+i,e.length):e.length,s=i;s0&&(s=1/Math.sqrt(s)),e[0]=i*s,e[1]=r*s,e[2]=n*s,e[3]=o*s,e},ce.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},ce.cross=function(e,t,i,r){var n=i[0]*r[1]-i[1]*r[0],o=i[0]*r[2]-i[2]*r[0],s=i[0]*r[3]-i[3]*r[0],a=i[1]*r[2]-i[2]*r[1],l=i[1]*r[3]-i[3]*r[1],c=i[2]*r[3]-i[3]*r[2],h=t[0],u=t[1],d=t[2],p=t[3];return e[0]=u*c-d*l+p*a,e[1]=-h*c+d*s-p*o,e[2]=h*l-u*s+p*n,e[3]=-h*a+u*o-d*n,e},ce.lerp=function(e,t,i,r){var n=t[0],o=t[1],s=t[2],a=t[3];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e[2]=s+r*(i[2]-s),e[3]=a+r*(i[3]-a),e},ce.random=function(e,t){var i,r,n,o,s,a;t=t||1;do{s=(i=2*ue.RANDOM()-1)*i+(r=2*ue.RANDOM()-1)*r}while(s>=1);do{a=(n=2*ue.RANDOM()-1)*n+(o=2*ue.RANDOM()-1)*o}while(a>=1);var l=Math.sqrt((1-s)/a);return e[0]=t*i,e[1]=t*r,e[2]=t*n*l,e[3]=t*o*l,e},ce.transformMat4=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3];return e[0]=i[0]*r+i[4]*n+i[8]*o+i[12]*s,e[1]=i[1]*r+i[5]*n+i[9]*o+i[13]*s,e[2]=i[2]*r+i[6]*n+i[10]*o+i[14]*s,e[3]=i[3]*r+i[7]*n+i[11]*o+i[15]*s,e},ce.transformQuat=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=i[0],a=i[1],l=i[2],c=i[3],h=c*r+a*o-l*n,u=c*n+l*r-s*o,d=c*o+s*n-a*r,p=-s*r-a*n-l*o;return e[0]=h*c+p*-s+u*-l-d*-a,e[1]=u*c+p*-a+d*-s-h*-l,e[2]=d*c+p*-l+h*-a-u*-s,e[3]=t[3],e},ce.zero=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e},ce.str=function(e){return"vec4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},ce.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]},ce.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=t[0],a=t[1],l=t[2],c=t[3];return Math.abs(i-s)<=ue.EPSILON*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(r-a)<=ue.EPSILON*Math.max(1,Math.abs(r),Math.abs(a))&&Math.abs(n-l)<=ue.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(o-c)<=ue.EPSILON*Math.max(1,Math.abs(o),Math.abs(c))},ce.forEach=ce.sqrLen=ce.len=ce.sqrDist=ce.dist=ce.div=ce.mul=ce.sub=void 0;var ue=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==he(e)&&"function"!=typeof e)return{default:e};var i=de(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function de(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(de=function(e){return e?i:t})(e)}function pe(){var e=new ue.ARRAY_TYPE(4);return ue.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function fe(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e[2]=t[2]-i[2],e[3]=t[3]-i[3],e}function me(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e[2]=t[2]*i[2],e[3]=t[3]*i[3],e}function _e(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e[2]=t[2]/i[2],e[3]=t[3]/i[3],e}function ge(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1],t[2]-e[2],t[3]-e[3])}function ye(e,t){var i=t[0]-e[0],r=t[1]-e[1],n=t[2]-e[2],o=t[3]-e[3];return i*i+r*r+n*n+o*o}function xe(e){return Math.hypot(e[0],e[1],e[2],e[3])}function ve(e){var t=e[0],i=e[1],r=e[2],n=e[3];return t*t+i*i+r*r+n*n}ce.sub=fe,ce.mul=me,ce.div=_e,ce.dist=ge,ce.sqrDist=ye,ce.len=xe,ce.sqrLen=ve;var be=function(){var e=pe();return function(t,i,r,n,o,s){var a,l;for(i||(i=4),r||(r=0),l=n?Math.min(n*i+r,t.length):t.length,a=r;aTe.EPSILON?(e[0]=t[0]/r,e[1]=t[1]/r,e[2]=t[2]/r):(e[0]=1,e[1]=0,e[2]=0),i},W.getAngle=function(e,t){var i=Be(e,t);return Math.acos(2*i*i-1)},W.multiply=ze,W.rotateX=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+s*a,e[1]=n*l+o*a,e[2]=o*l-n*a,e[3]=s*l-r*a,e},W.rotateY=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l-o*a,e[1]=n*l+s*a,e[2]=o*l+r*a,e[3]=s*l-n*a,e},W.rotateZ=function(e,t,i){i*=.5;var r=t[0],n=t[1],o=t[2],s=t[3],a=Math.sin(i),l=Math.cos(i);return e[0]=r*l+n*a,e[1]=n*l-r*a,e[2]=o*l+s*a,e[3]=s*l-o*a,e},W.calculateW=function(e,t){var i=t[0],r=t[1],n=t[2];return e[0]=i,e[1]=r,e[2]=n,e[3]=Math.sqrt(Math.abs(1-i*i-r*r-n*n)),e},W.exp=De,W.ln=Re,W.pow=function(e,t,i){return Re(e,t),Oe(e,e,i),De(e,e),e},W.slerp=Le,W.random=function(e){var t=Te.RANDOM(),i=Te.RANDOM(),r=Te.RANDOM(),n=Math.sqrt(1-t),o=Math.sqrt(t);return e[0]=n*Math.sin(2*Math.PI*i),e[1]=n*Math.cos(2*Math.PI*i),e[2]=o*Math.sin(2*Math.PI*r),e[3]=o*Math.cos(2*Math.PI*r),e},W.invert=function(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=i*i+r*r+n*n+o*o,a=s?1/s:0;return e[0]=-i*a,e[1]=-r*a,e[2]=-n*a,e[3]=o*a,e},W.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},W.fromMat3=ke,W.fromEuler=function(e,t,i,r){var n=.5*Math.PI/180;t*=n,i*=n,r*=n;var o=Math.sin(t),s=Math.cos(t),a=Math.sin(i),l=Math.cos(i),c=Math.sin(r),h=Math.cos(r);return e[0]=o*l*h-s*a*c,e[1]=s*a*h+o*l*c,e[2]=s*l*c-o*a*h,e[3]=s*l*h+o*a*c,e},W.str=function(e){return"quat("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+")"},W.setAxes=W.sqlerp=W.rotationTo=W.equals=W.exactEquals=W.normalize=W.sqrLen=W.squaredLength=W.len=W.length=W.lerp=W.dot=W.scale=W.mul=W.add=W.set=W.copy=W.fromValues=W.clone=void 0;var Te=Ie(p),Ee=Ie(P),Se=Ie(Q),Me=Ie(ce);function Ae(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(Ae=function(e){return e?i:t})(e)}function Ie(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==we(e)&&"function"!=typeof e)return{default:e};var i=Ae(t);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}function Ce(){var e=new Te.ARRAY_TYPE(4);return Te.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Pe(e,t,i){i*=.5;var r=Math.sin(i);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(i),e}function ze(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*h+s*a+n*c-o*l,e[1]=n*h+s*l+o*a-r*c,e[2]=o*h+s*c+r*l-n*a,e[3]=s*h-r*a-n*l-o*c,e}function De(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=Math.sqrt(i*i+r*r+n*n),a=Math.exp(o),l=s>0?a*Math.sin(s)/s:0;return e[0]=i*l,e[1]=r*l,e[2]=n*l,e[3]=a*Math.cos(s),e}function Re(e,t){var i=t[0],r=t[1],n=t[2],o=t[3],s=Math.sqrt(i*i+r*r+n*n),a=s>0?Math.atan2(s,o)/s:0;return e[0]=i*a,e[1]=r*a,e[2]=n*a,e[3]=.5*Math.log(i*i+r*r+n*n+o*o),e}function Le(e,t,i,r){var n,o,s,a,l,c=t[0],h=t[1],u=t[2],d=t[3],p=i[0],f=i[1],m=i[2],_=i[3];return(o=c*p+h*f+u*m+d*_)<0&&(o=-o,p=-p,f=-f,m=-m,_=-_),1-o>Te.EPSILON?(n=Math.acos(o),s=Math.sin(n),a=Math.sin((1-r)*n)/s,l=Math.sin(r*n)/s):(a=1-r,l=r),e[0]=a*c+l*p,e[1]=a*h+l*f,e[2]=a*u+l*m,e[3]=a*d+l*_,e}function ke(e,t){var i,r=t[0]+t[4]+t[8];if(r>0)i=Math.sqrt(r+1),e[3]=.5*i,e[0]=(t[5]-t[7])*(i=.5/i),e[1]=(t[6]-t[2])*i,e[2]=(t[1]-t[3])*i;else{var n=0;t[4]>t[0]&&(n=1),t[8]>t[3*n+n]&&(n=2);var o=(n+1)%3,s=(n+2)%3;i=Math.sqrt(t[3*n+n]-t[3*o+o]-t[3*s+s]+1),e[n]=.5*i,e[3]=(t[3*o+s]-t[3*s+o])*(i=.5/i),e[o]=(t[3*o+n]+t[3*n+o])*i,e[s]=(t[3*s+n]+t[3*n+s])*i}return e}W.clone=Me.clone,W.fromValues=Me.fromValues,W.copy=Me.copy,W.set=Me.set,W.add=Me.add,W.mul=ze;var Oe=Me.scale;W.scale=Oe;var Be=Me.dot;W.dot=Be,W.lerp=Me.lerp;var Fe=Me.length;W.length=Fe,W.len=Fe;var Ne=Me.squaredLength;W.squaredLength=Ne,W.sqrLen=Ne;var Ve=Me.normalize;W.normalize=Ve,W.exactEquals=Me.exactEquals,W.equals=Me.equals;var Ue,je,Ge,qe=(Ue=Se.create(),je=Se.fromValues(1,0,0),Ge=Se.fromValues(0,1,0),function(e,t,i){var r=Se.dot(t,i);return r<-.999999?(Se.cross(Ue,je,t),Se.len(Ue)<1e-6&&Se.cross(Ue,Ge,t),Se.normalize(Ue,Ue),Pe(e,Ue,Math.PI),e):r>.999999?(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e):(Se.cross(Ue,t,i),e[0]=Ue[0],e[1]=Ue[1],e[2]=Ue[2],e[3]=1+r,Ve(e,e))});W.rotationTo=qe;var Ze,$e,We=(Ze=Ce(),$e=Ce(),function(e,t,i,r,n,o){return Le(Ze,t,n,o),Le($e,i,r,o),Le(e,Ze,$e,2*o*(1-o)),e});W.sqlerp=We;var Qe,He=(Qe=Ee.create(),function(e,t,i,r){return Qe[0]=i[0],Qe[3]=i[1],Qe[6]=i[2],Qe[1]=r[0],Qe[4]=r[1],Qe[7]=r[2],Qe[2]=-t[0],Qe[5]=-t[1],Qe[8]=-t[2],Ve(e,ke(e,Qe))});W.setAxes=He;var Xe={};function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.create=function(){var e=new Ke.ARRAY_TYPE(8);return Ke.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[4]=0,e[5]=0,e[6]=0,e[7]=0),e[3]=1,e},Xe.clone=function(e){var t=new Ke.ARRAY_TYPE(8);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},Xe.fromValues=function(e,t,i,r,n,o,s,a){var l=new Ke.ARRAY_TYPE(8);return l[0]=e,l[1]=t,l[2]=i,l[3]=r,l[4]=n,l[5]=o,l[6]=s,l[7]=a,l},Xe.fromRotationTranslationValues=function(e,t,i,r,n,o,s){var a=new Ke.ARRAY_TYPE(8);a[0]=e,a[1]=t,a[2]=i,a[3]=r;var l=.5*n,c=.5*o,h=.5*s;return a[4]=l*r+c*i-h*t,a[5]=c*r+h*e-l*i,a[6]=h*r+l*t-c*e,a[7]=-l*e-c*t-h*i,a},Xe.fromRotationTranslation=rt,Xe.fromTranslation=function(e,t){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=.5*t[0],e[5]=.5*t[1],e[6]=.5*t[2],e[7]=0,e},Xe.fromRotation=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=0,e[5]=0,e[6]=0,e[7]=0,e},Xe.fromMat4=function(e,t){var i=Je.create();et.getRotation(i,t);var r=new Ke.ARRAY_TYPE(3);return et.getTranslation(r,t),rt(e,i,r),e},Xe.copy=nt,Xe.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e[6]=0,e[7]=0,e},Xe.set=function(e,t,i,r,n,o,s,a,l){return e[0]=t,e[1]=i,e[2]=r,e[3]=n,e[4]=o,e[5]=s,e[6]=a,e[7]=l,e},Xe.getDual=function(e,t){return e[0]=t[4],e[1]=t[5],e[2]=t[6],e[3]=t[7],e},Xe.setDual=function(e,t){return e[4]=t[0],e[5]=t[1],e[6]=t[2],e[7]=t[3],e},Xe.getTranslation=function(e,t){var i=t[4],r=t[5],n=t[6],o=t[7],s=-t[0],a=-t[1],l=-t[2],c=t[3];return e[0]=2*(i*c+o*s+r*l-n*a),e[1]=2*(r*c+o*a+n*s-i*l),e[2]=2*(n*c+o*l+i*a-r*s),e},Xe.translate=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=.5*i[0],l=.5*i[1],c=.5*i[2],h=t[4],u=t[5],d=t[6],p=t[7];return e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=s*a+n*c-o*l+h,e[5]=s*l+o*a-r*c+u,e[6]=s*c+r*l-n*a+d,e[7]=-r*a-n*l-o*c+p,e},Xe.rotateX=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateX(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateY=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateY(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateZ=function(e,t,i){var r=-t[0],n=-t[1],o=-t[2],s=t[3],a=t[4],l=t[5],c=t[6],h=t[7],u=a*s+h*r+l*o-c*n,d=l*s+h*n+c*r-a*o,p=c*s+h*o+a*n-l*r,f=h*s-a*r-l*n-c*o;return Je.rotateZ(e,t,i),e[4]=u*(s=e[3])+f*(r=e[0])+d*(o=e[2])-p*(n=e[1]),e[5]=d*s+f*n+p*r-u*o,e[6]=p*s+f*o+u*n-d*r,e[7]=f*s-u*r-d*n-p*o,e},Xe.rotateByQuatAppend=function(e,t,i){var r=i[0],n=i[1],o=i[2],s=i[3],a=t[0],l=t[1],c=t[2],h=t[3];return e[0]=a*s+h*r+l*o-c*n,e[1]=l*s+h*n+c*r-a*o,e[2]=c*s+h*o+a*n-l*r,e[3]=h*s-a*r-l*n-c*o,e[4]=(a=t[4])*s+(h=t[7])*r+(l=t[5])*o-(c=t[6])*n,e[5]=l*s+h*n+c*r-a*o,e[6]=c*s+h*o+a*n-l*r,e[7]=h*s-a*r-l*n-c*o,e},Xe.rotateByQuatPrepend=function(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[0],l=i[1],c=i[2],h=i[3];return e[0]=r*h+s*a+n*c-o*l,e[1]=n*h+s*l+o*a-r*c,e[2]=o*h+s*c+r*l-n*a,e[3]=s*h-r*a-n*l-o*c,e[4]=r*(h=i[7])+s*(a=i[4])+n*(c=i[6])-o*(l=i[5]),e[5]=n*h+s*l+o*a-r*c,e[6]=o*h+s*c+r*l-n*a,e[7]=s*h-r*a-n*l-o*c,e},Xe.rotateAroundAxis=function(e,t,i,r){if(Math.abs(r)0){i=Math.sqrt(i);var r=t[0]/i,n=t[1]/i,o=t[2]/i,s=t[3]/i,a=t[4],l=t[5],c=t[6],h=t[7],u=r*a+n*l+o*c+s*h;e[0]=r,e[1]=n,e[2]=o,e[3]=s,e[4]=(a-r*u)/i,e[5]=(l-n*u)/i,e[6]=(c-o*u)/i,e[7]=(h-s*u)/i}return e},Xe.str=function(e){return"quat2("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+")"},Xe.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]},Xe.equals=function(e,t){var i=e[0],r=e[1],n=e[2],o=e[3],s=e[4],a=e[5],l=e[6],c=e[7],h=t[0],u=t[1],d=t[2],p=t[3],f=t[4],m=t[5],_=t[6],g=t[7];return Math.abs(i-h)<=Ke.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(r-u)<=Ke.EPSILON*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-d)<=Ke.EPSILON*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(o-p)<=Ke.EPSILON*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(s-f)<=Ke.EPSILON*Math.max(1,Math.abs(s),Math.abs(f))&&Math.abs(a-m)<=Ke.EPSILON*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(l-_)<=Ke.EPSILON*Math.max(1,Math.abs(l),Math.abs(_))&&Math.abs(c-g)<=Ke.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))},Xe.sqrLen=Xe.squaredLength=Xe.len=Xe.length=Xe.dot=Xe.mul=Xe.setReal=Xe.getReal=void 0;var Ke=it(p),Je=it(W),et=it(O);function tt(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(tt=function(e){return e?i:t})(e)}function it(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==Ye(e)&&"function"!=typeof e)return{default:e};var i=tt(t);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}function rt(e,t,i){var r=.5*i[0],n=.5*i[1],o=.5*i[2],s=t[0],a=t[1],l=t[2],c=t[3];return e[0]=s,e[1]=a,e[2]=l,e[3]=c,e[4]=r*c+n*l-o*a,e[5]=n*c+o*s-r*l,e[6]=o*c+r*a-n*s,e[7]=-r*s-n*a-o*l,e}function nt(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}function ot(e,t,i){var r=t[0],n=t[1],o=t[2],s=t[3],a=i[4],l=i[5],c=i[6],h=i[7],u=t[4],d=t[5],p=t[6],f=t[7],m=i[0],_=i[1],g=i[2],y=i[3];return e[0]=r*y+s*m+n*g-o*_,e[1]=n*y+s*_+o*m-r*g,e[2]=o*y+s*g+r*_-n*m,e[3]=s*y-r*m-n*_-o*g,e[4]=r*h+s*a+n*c-o*l+u*y+f*m+d*g-p*_,e[5]=n*h+s*l+o*a-r*c+d*y+f*_+p*m-u*g,e[6]=o*h+s*c+r*l-n*a+p*y+f*g+u*_-d*m,e[7]=s*h-r*a-n*l-o*c+f*y-u*m-d*_-p*g,e}Xe.getReal=Je.copy,Xe.setReal=Je.copy,Xe.mul=ot;var st=Je.dot;Xe.dot=st;var at=Je.length;Xe.length=at,Xe.len=at;var lt=Je.squaredLength;Xe.squaredLength=lt,Xe.sqrLen=lt;var ct={};function ht(e){return ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ht(e)}Object.defineProperty(ct,"__esModule",{value:!0}),ct.create=pt,ct.clone=function(e){var t=new ut.ARRAY_TYPE(2);return t[0]=e[0],t[1]=e[1],t},ct.fromValues=function(e,t){var i=new ut.ARRAY_TYPE(2);return i[0]=e,i[1]=t,i},ct.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},ct.set=function(e,t,i){return e[0]=t,e[1]=i,e},ct.add=function(e,t,i){return e[0]=t[0]+i[0],e[1]=t[1]+i[1],e},ct.subtract=ft,ct.multiply=mt,ct.divide=_t,ct.ceil=function(e,t){return e[0]=Math.ceil(t[0]),e[1]=Math.ceil(t[1]),e},ct.floor=function(e,t){return e[0]=Math.floor(t[0]),e[1]=Math.floor(t[1]),e},ct.min=function(e,t,i){return e[0]=Math.min(t[0],i[0]),e[1]=Math.min(t[1],i[1]),e},ct.max=function(e,t,i){return e[0]=Math.max(t[0],i[0]),e[1]=Math.max(t[1],i[1]),e},ct.round=function(e,t){return e[0]=Math.round(t[0]),e[1]=Math.round(t[1]),e},ct.scale=function(e,t,i){return e[0]=t[0]*i,e[1]=t[1]*i,e},ct.scaleAndAdd=function(e,t,i,r){return e[0]=t[0]+i[0]*r,e[1]=t[1]+i[1]*r,e},ct.distance=gt,ct.squaredDistance=yt,ct.length=xt,ct.squaredLength=vt,ct.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},ct.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e},ct.normalize=function(e,t){var i=t[0],r=t[1],n=i*i+r*r;return n>0&&(n=1/Math.sqrt(n)),e[0]=t[0]*n,e[1]=t[1]*n,e},ct.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},ct.cross=function(e,t,i){var r=t[0]*i[1]-t[1]*i[0];return e[0]=e[1]=0,e[2]=r,e},ct.lerp=function(e,t,i,r){var n=t[0],o=t[1];return e[0]=n+r*(i[0]-n),e[1]=o+r*(i[1]-o),e},ct.random=function(e,t){t=t||1;var i=2*ut.RANDOM()*Math.PI;return e[0]=Math.cos(i)*t,e[1]=Math.sin(i)*t,e},ct.transformMat2=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[2]*n,e[1]=i[1]*r+i[3]*n,e},ct.transformMat2d=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[2]*n+i[4],e[1]=i[1]*r+i[3]*n+i[5],e},ct.transformMat3=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[3]*n+i[6],e[1]=i[1]*r+i[4]*n+i[7],e},ct.transformMat4=function(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[4]*n+i[12],e[1]=i[1]*r+i[5]*n+i[13],e},ct.rotate=function(e,t,i,r){var n=t[0]-i[0],o=t[1]-i[1],s=Math.sin(r),a=Math.cos(r);return e[0]=n*a-o*s+i[0],e[1]=n*s+o*a+i[1],e},ct.angle=function(e,t){var i=e[0],r=e[1],n=t[0],o=t[1],s=Math.sqrt(i*i+r*r)*Math.sqrt(n*n+o*o);return Math.acos(Math.min(Math.max(s&&(i*n+r*o)/s,-1),1))},ct.zero=function(e){return e[0]=0,e[1]=0,e},ct.str=function(e){return"vec2("+e[0]+", "+e[1]+")"},ct.exactEquals=function(e,t){return e[0]===t[0]&&e[1]===t[1]},ct.equals=function(e,t){var i=e[0],r=e[1],n=t[0],o=t[1];return Math.abs(i-n)<=ut.EPSILON*Math.max(1,Math.abs(i),Math.abs(n))&&Math.abs(r-o)<=ut.EPSILON*Math.max(1,Math.abs(r),Math.abs(o))},ct.forEach=ct.sqrLen=ct.sqrDist=ct.dist=ct.div=ct.mul=ct.sub=ct.len=void 0;var ut=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ht(e)&&"function"!=typeof e)return{default:e};var i=dt(void 0);if(i&&i.has(e))return i.get(e);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=n?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(r,o,s):r[o]=e[o]}return r.default=e,i&&i.set(e,r),r}(p);function dt(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,i=new WeakMap;return(dt=function(e){return e?i:t})(e)}function pt(){var e=new ut.ARRAY_TYPE(2);return ut.ARRAY_TYPE!=Float32Array&&(e[0]=0,e[1]=0),e}function ft(e,t,i){return e[0]=t[0]-i[0],e[1]=t[1]-i[1],e}function mt(e,t,i){return e[0]=t[0]*i[0],e[1]=t[1]*i[1],e}function _t(e,t,i){return e[0]=t[0]/i[0],e[1]=t[1]/i[1],e}function gt(e,t){return Math.hypot(t[0]-e[0],t[1]-e[1])}function yt(e,t){var i=t[0]-e[0],r=t[1]-e[1];return i*i+r*r}function xt(e){return Math.hypot(e[0],e[1])}function vt(e){var t=e[0],i=e[1];return t*t+i*i}ct.len=xt,ct.sub=ft,ct.mul=mt,ct.div=_t,ct.dist=gt,ct.sqrDist=yt,ct.sqrLen=vt;var bt=function(){var e=pt();return function(t,i,r,n,o,s){var a,l;for(i||(i=2),r||(r=0),l=n?Math.min(n*i+r,t.length):t.length,a=r;a1)return 1;for(var i=e,r=0;r<8;r++){var n=this.sampleCurveX(i)-e;if(Math.abs(n)n?s=i:a=i,i=.5*(a-s)+s;return i},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}};var Bt=u(kt),Ft=Nt;function Nt(e,t){this.x=e,this.y=t}Nt.prototype={clone:function(){return new Nt(this.x,this.y)},add:function(e){return this.clone()._add(e)},sub:function(e){return this.clone()._sub(e)},multByPoint:function(e){return this.clone()._multByPoint(e)},divByPoint:function(e){return this.clone()._divByPoint(e)},mult:function(e){return this.clone()._mult(e)},div:function(e){return this.clone()._div(e)},rotate:function(e){return this.clone()._rotate(e)},rotateAround:function(e,t){return this.clone()._rotateAround(e,t)},matMult:function(e){return this.clone()._matMult(e)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(e){return this.x===e.x&&this.y===e.y},dist:function(e){return Math.sqrt(this.distSqr(e))},distSqr:function(e){var t=e.x-this.x,i=e.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(e){return Math.atan2(this.y-e.y,this.x-e.x)},angleWith:function(e){return this.angleWithSep(e.x,e.y)},angleWithSep:function(e,t){return Math.atan2(this.x*t-this.y*e,this.x*e+this.y*t)},_matMult:function(e){var t=e[2]*this.x+e[3]*this.y;return this.x=e[0]*this.x+e[1]*this.y,this.y=t,this},_add:function(e){return this.x+=e.x,this.y+=e.y,this},_sub:function(e){return this.x-=e.x,this.y-=e.y,this},_mult:function(e){return this.x*=e,this.y*=e,this},_div:function(e){return this.x/=e,this.y/=e,this},_multByPoint:function(e){return this.x*=e.x,this.y*=e.y,this},_divByPoint:function(e){return this.x/=e.x,this.y/=e.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var e=this.y;return this.y=this.x,this.x=-e,this},_rotate:function(e){var t=Math.cos(e),i=Math.sin(e),r=i*this.x+t*this.y;return this.x=t*this.x-i*this.y,this.y=r,this},_rotateAround:function(e,t){var i=Math.cos(e),r=Math.sin(e),n=t.y+r*(this.x-t.x)+i*(this.y-t.y);return this.x=t.x+i*(this.x-t.x)-r*(this.y-t.y),this.y=n,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},Nt.convert=function(e){return e instanceof Nt?e:Array.isArray(e)?new Nt(e[0],e[1]):e};var Vt=u(Ft);const Ut=Math.PI/180,jt=180/Math.PI;function Gt(e){return e*Ut}function qt(e){return e*jt}const Zt=[[0,0],[1,0],[1,1],[0,1]];function $t(e){if(e<=0)return 0;if(e>=1)return 1;const t=e*e,i=t*e;return 4*(e<.5?i:3*(e-t)+i-.75)}function Wt(e,t,i,r){const n=new Bt(e,t,i,r);return function(e){return n.solve(e)}}const Qt=Wt(.25,.1,.25,1);function Ht(e,t,i){return Math.min(i,Math.max(t,e))}function Xt(e,t,i){return(i=Ht((i-e)/(t-e),0,1))*i*(3-2*i)}function Yt(e,t,i){const r=i-t,n=((e-t)%r+r)%r+t;return n===t?i:n}function Kt(e,t,i){if(!e.length)return i(null,[]);let r=e.length;const n=new Array(e.length);let o=null;e.forEach(((e,s)=>{t(e,((e,t)=>{e&&(o=e),n[s]=t,0==--r&&i(o,n)}))}))}function Jt(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r>t/4)).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,e)}()}function ri(e){return e<=1?1:Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function ni(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}function oi(e,t){e.forEach((e=>{t[e]&&(t[e]=t[e].bind(t))}))}function si(e,t){return-1!==e.indexOf(t,e.length-t.length)}function ai(e,t,i){const r={};for(const n in e)r[n]=t.call(this,e[n],n,e);return r}function li(e,t,i){const r={};for(const n in e)t.call(this,e[n],n,e)&&(r[n]=e[n]);return r}function ci(e){return Array.isArray(e)?e.map(ci):"object"==typeof e&&e?ai(e,ci):e}const hi={};function ui(e){hi[e]||("undefined"!=typeof console&&console.warn(e),hi[e]=!0)}function di(e,t,i){return(i.y-e.y)*(t.x-e.x)>(t.y-e.y)*(i.x-e.x)}function pi(e){let t=0;for(let i,r,n=0,o=e.length,s=o-1;n@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((e,i,r,n)=>{const o=r||n;return t[i]=!o||o.toLowerCase(),""})),t["max-age"]){const e=parseInt(t["max-age"],10);isNaN(e)?delete t["max-age"]:t["max-age"]=e}return t}let gi,yi,xi,vi,bi,wi,Ti=null;function Ei(e){try{const t=self[e];return t.setItem("_mapbox_test_",1),t.removeItem("_mapbox_test_"),!0}catch(e){return!1}}function Si(e,t){return[e[4*t],e[4*t+1],e[4*t+2],e[4*t+3]]}function Mi(e,t,i,r){for(;t>1;e[n]>1;e[n]<=r?t=n+1:i=n}return t}function Ii(e){return e>0?1/(1.001-e):1+e}function Ci(e){return e>0?1-1/(1.001-e):-e}function Pi(){return null==gi&&(gi=self.OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),gi}const zi={now:()=>void 0!==vi?vi:performance.now(),setNow(e){vi=e},restoreNow(){vi=void 0},frame(e){const t=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(t)}},getImageData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const{width:i,height:r}=e;bi||(bi=document.createElement("canvas"));const n=bi.getContext("2d",{willReadFrequently:!0});if(!n)throw new Error("failed to create canvas 2d context");return(i>bi.width||r>bi.height)&&(bi.width=i,bi.height=r),n.clearRect(-t,-t,i+2*t,r+2*t),n.drawImage(e,0,0,i,r),n.getImageData(-t,-t,i+2*t,r+2*t)},resolveURL:e=>(yi||(yi=document.createElement("a")),yi.href=e,yi.href),get devicePixelRatio(){return window.devicePixelRatio},get prefersReducedMotion(){return!!window.matchMedia&&(null==xi&&(xi=window.matchMedia("(prefers-reduced-motion: reduce)")),xi.matches)},hasCanvasFingerprintNoise(){if(void 0!==wi)return wi;if(!Pi())return wi=!1,!1;const e=new OffscreenCanvas(85,1),t=e.getContext("2d",{willReadFrequently:!0});let i=0;for(let n=0;n1&&void 0!==arguments[1]?arguments[1]:{persistentParams:[]};const i=e.indexOf("?");if(i<0)return e;const r=new URLSearchParams,n=new URLSearchParams(e.slice(i));for(const s of t.persistentParams){const e=n.get(s);e&&r.set(s,e)}const o=r.toString();return`${e.slice(0,i)}${o.length>0?`?${o}`:""}`}const Li="mapbox-tiles";let ki,Oi,Bi=500,Fi=50;function Ni(){try{return caches}catch(e){}}function Vi(){const e=Ni();e&&!ki&&(ki=e.open(Li))}let Ui=1/0;const ji={supported:!1,testSupport:function(e){!Zi&&qi&&($i?Qi(e):Gi=e)}};let Gi,qi,Zi=!1,$i=!1;const Wi="undefined"!=typeof self?self:{};function Qi(e){const t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t);try{if(e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,qi),e.isContextLost())return;ji.supported=!0}catch(e){}e.deleteTexture(t),Zi=!0}Wi.document&&(qi=Wi.document.createElement("img"),qi.onload=function(){Gi&&Qi(Gi),Gi=null,$i=!0},qi.onerror=function(){Zi=!0,Gi=null},qi.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");const Hi={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image",Model:"Model"};"function"==typeof Object.freeze&&Object.freeze(Hi);class Xi extends Error{constructor(e,t,i){401===t&&n(i)&&(e+=": you may have provided an invalid Mapbox access token. See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes"),super(e),this.status=t,this.url=i}toString(){return`${this.name}: ${this.message} (${this.status}): ${this.url}`}}const Yi=mi()?()=>self.worker&&self.worker.referrer:()=>("blob:"===location.protocol?parent:self).location.href,Ki=function(e,t){if(!(/^file:/.test(i=e.url)||/^file:/.test(Yi())&&!/^\w+:/.test(i))){if(self.fetch&&self.Request&&self.AbortController&&Request.prototype.hasOwnProperty("signal"))return function(e,t){const i=new AbortController,r=new Request(e.url,{method:e.method||"GET",body:e.body,credentials:e.credentials,headers:e.headers,referrer:Yi(),referrerPolicy:e.referrerPolicy,signal:i.signal});let o=!1,s=!1;const a=(l=r.url).indexOf("sku=")>0&&n(l);var l;"json"===e.type&&r.headers.set("Accept","application/json");const c=(i,n,o)=>{if(s)return;if(i&&"SecurityError"!==i.message&&ui(i.toString()),n&&o)return h(n);const l=Date.now();fetch(r).then((i=>{if(i.ok){const e=a?i.clone():null;return h(i,e,l)}return t(new Xi(i.statusText,i.status,e.url))})).catch((i=>{"AbortError"!==i.name&&t(new Error(`${i.message} ${e.url}`))}))},h=(i,n,a)=>{("arrayBuffer"===e.type?i.arrayBuffer():"json"===e.type?i.json():i.text()).then((e=>{s||(n&&a&&function(e,t,i){if(Vi(),!ki)return;const r=_i(t.headers.get("Cache-Control")||"");if(r["no-store"])return;const n={status:t.status,statusText:t.statusText,headers:new Headers};t.headers.forEach(((e,t)=>n.headers.set(t,e))),r["max-age"]&&n.headers.set("Expires",new Date(i+1e3*r["max-age"]).toUTCString());const o=n.headers.get("Expires");if(!o)return;if(new Date(o).getTime()-i<42e4)return;let s=Ri(e.url,{persistentParams:["language","worldview"]});if(206===t.status){const t=e.headers.get("Range");if(!t)return;n.status=200,s=Di(s,{range:t})}!function(e,t){if(void 0===Oi)try{new Response(new ReadableStream),Oi=!0}catch(e){Oi=!1}Oi?t(e.body):e.blob().then(t)}(t,(e=>{const t=new Response(e,n);Vi(),ki&&ki.then((e=>e.put(s,t))).catch((e=>ui(e.message)))}))}(r,n,a),o=!0,t(null,e,i.headers.get("Cache-Control"),i.headers.get("Expires")))})).catch((e=>{s||t(new Error(e.message))}))};return a?function(e,t){if(Vi(),!ki)return t(null);ki.then((i=>{let r=Ri(e.url,{persistentParams:["language","worldview"]});const n=e.headers.get("Range");n&&(r=Di(r,{range:n})),i.match(r).then((e=>{const n=function(e){if(!e)return!1;const t=new Date(e.headers.get("Expires")||0),i=_i(e.headers.get("Cache-Control")||"");return t>Date.now()&&!i["no-cache"]}(e);i.delete(r),n&&i.put(r,e.clone()),t(null,e,n)})).catch(t)})).catch(t)}(r,c):c(null,null),{cancel:()=>{s=!0,o||i.abort()}}}(e,t);if(mi()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",e,t,void 0,!0)}var i;return function(e,t){const i=new XMLHttpRequest;i.open(e.method||"GET",e.url,!0),"arrayBuffer"===e.type&&(i.responseType="arraybuffer");for(const r in e.headers)i.setRequestHeader(r,e.headers[r]);return"json"===e.type&&(i.responseType="text",i.setRequestHeader("Accept","application/json")),i.withCredentials="include"===e.credentials,i.onerror=()=>{t(new Error(i.statusText))},i.onload=()=>{if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let r=i.response;if("json"===e.type)try{r=JSON.parse(i.response)}catch(e){return t(e)}t(null,r,i.getResponseHeader("Cache-Control"),i.getResponseHeader("Expires"))}else t(new Xi(i.statusText,i.status,e.url))},i.send(e.body),{cancel:()=>i.abort()}}(e,t)},Ji=function(e,t){return Ki(Jt(e,{type:"arrayBuffer"}),t)};function er(e){const t=document.createElement("a");return t.href=e,t.protocol===location.protocol&&t.host===location.host}const tr="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";let ir,rr;ir=[],rr=0;const nr=function(e,t){if(ji.supported&&(e.headers||(e.headers={}),e.headers.accept="image/webp,*/*"),rr>=r.MAX_PARALLEL_IMAGE_REQUESTS){const i={requestParameters:e,callback:t,cancelled:!1,cancel(){this.cancelled=!0}};return ir.push(i),i}rr++;let i=!1;const n=()=>{if(!i)for(i=!0,rr--;ir.length&&rr{n(),e?t(e):i&&(self.createImageBitmap?function(e,t){const i=new Blob([new Uint8Array(e)],{type:"image/png"});createImageBitmap(i).then((e=>{t(null,e)})).catch((e=>{t(new Error(`Could not load image because of ${e.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`))}))}(i,((e,i)=>t(e,i,r,o))):function(e,t){const i=new Image;i.onload=()=>{t(null,i),URL.revokeObjectURL(i.src),i.onload=null,requestAnimationFrame((()=>{i.src=tr}))},i.onerror=()=>t(new 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."));const r=new Blob([new Uint8Array(e)],{type:"image/png"});i.src=e.byteLength?URL.createObjectURL(r):tr}(i,((e,i)=>t(e,i,r,o))))}));return{cancel:()=>{o.cancel(),n()}}},or="01",sr="NO_ACCESS_TOKEN",ar=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function lr(e){const t=e.match(ar);if(!t)throw new Error("Unable to parse URL object");return{protocol:t[1],authority:t[2],path:t[3]||"/",params:t[4]?t[4].split("&"):[]}}function cr(e){const t=e.params.length?`?${e.params.join("&")}`:"";return`${e.protocol}://${e.authority}${e.path}${t}`}const hr="mapbox.eventData";function ur(e){if(!e)return null;const t=e.split(".");if(!t||3!==t.length)return null;try{return JSON.parse(decodeURIComponent(atob(t[1]).split("").map((e=>"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2))).join("")))}catch(e){return null}}class dr{constructor(e){this.type=e,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null}getStorageKey(e){const t=ur(r.ACCESS_TOKEN);let i="";return i=t&&t.u?btoa(encodeURIComponent(t.u).replace(/%([0-9A-F]{2})/g,((e,t)=>String.fromCharCode(Number("0x"+t))))):r.ACCESS_TOKEN||"",e?`${hr}.${e}:${i}`:`${hr}:${i}`}fetchEventData(){const e=Ei("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid");if(e)try{const e=localStorage.getItem(t);e&&(this.eventData=JSON.parse(e));const r=localStorage.getItem(i);r&&(this.anonId=r)}catch(e){ui("Unable to read from LocalStorage")}}saveEventData(){const e=Ei("localStorage"),t=this.getStorageKey(),i=this.getStorageKey("uuid"),r=this.anonId;if(e&&r)try{localStorage.setItem(i,r),Object.keys(this.eventData).length>=1&&localStorage.setItem(t,JSON.stringify(this.eventData))}catch(e){ui("Unable to write to LocalStorage")}}processRequests(e){}postEvent(e,t,i,n){if(!r.EVENTS_URL)return;const o=lr(r.EVENTS_URL);o.params.push(`access_token=${n||r.ACCESS_TOKEN||""}`);const s={event:this.type,created:new Date(e).toISOString()},a=t?Jt(s,t):s,l={url:cr(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([a])};this.pendingRequest=function(e,t){return Ki(Jt(e,{method:"POST"}),t)}(l,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(n)}))}queueRequest(e,t){this.queue.push(e),this.processRequests(t)}}const pr=new class extends dr{constructor(e){super("appUserTurnstile"),this._customAccessToken=e}postTurnstileEvent(e,t){r.EVENTS_URL&&r.ACCESS_TOKEN&&Array.isArray(e)&&e.some((e=>o(e)||n(e)))&&this.queueRequest(Date.now(),t)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();const i=ur(r.ACCESS_TOKEN),n=i?i.u:r.ACCESS_TOKEN;let o=n!==this.eventData.tokenU;ni(this.anonId)||(this.anonId=ii(),o=!0);const s=this.queue.shift();if(this.eventData.lastSuccess){const e=new Date(this.eventData.lastSuccess),t=new Date(s),i=(s-this.eventData.lastSuccess)/864e5;o=o||i>=1||i<-1||e.getDate()!==t.getDate()}else o=!0;o?this.postEvent(s,{sdkIdentifier:"mapbox-gl-js",sdkVersion:t,skuId:or,"enabled.telemetry":!1,userId:this.anonId},(e=>{e||(this.eventData.lastSuccess=s,this.eventData.tokenU=n)}),e):this.processRequests()}},fr=pr.postTurnstileEvent.bind(pr),mr=new class extends dr{constructor(){super("map.load"),this.success={},this.skuToken=""}postMapLoadEvent(e,t,i,n){this.skuToken=t,this.errorCb=n,r.EVENTS_URL&&(i||r.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(sr)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:i,timestamp:r}=this.queue.shift();i&&this.success[i]||(this.anonId||this.fetchEventData(),ni(this.anonId)||(this.anonId=ii()),this.postEvent(r,{sdkIdentifier:"mapbox-gl-js",sdkVersion:t,skuId:or,skuToken:this.skuToken,userId:this.anonId},(e=>{e?this.errorCb(e):i&&(this.success[i]=!0)}),e))}remove(){this.errorCb=null}},_r=mr.postMapLoadEvent.bind(mr),gr=new class extends dr{constructor(){super("style.load"),this.eventIdPerMapInstanceMap=new Map,this.mapInstanceIdMap=new WeakMap}getMapInstanceId(e){let t=this.mapInstanceIdMap.get(e);return t||(t=ii(),this.mapInstanceIdMap.set(e,t)),t}getEventId(e){const t=this.eventIdPerMapInstanceMap.get(e)||0;return this.eventIdPerMapInstanceMap.set(e,t+1),t}postStyleLoadEvent(e,t){const{map:i,style:n,importedStyles:o}=t;if(!r.EVENTS_URL||!e&&!r.ACCESS_TOKEN)return;const s=this.getMapInstanceId(i),a={mapInstanceId:s,eventId:this.getEventId(s),style:n};o.length&&(a.importedStyles=o),this.queueRequest({timestamp:Date.now(),payload:a},e)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:t,payload:i}=this.queue.shift();this.postEvent(t,i,(()=>{}),e)}},yr=gr.postStyleLoadEvent.bind(gr),xr=new class extends dr{constructor(){super("gljs.performance")}postPerformanceEvent(e,t){r.EVENTS_URL&&(e||r.ACCESS_TOKEN)&&this.queueRequest({timestamp:Date.now(),performanceData:t},e)}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{timestamp:i,performanceData:r}=this.queue.shift(),n=function(e){const i=performance.getEntriesByType("resource"),r=performance.getEntriesByType("mark"),n=function(e){const t={};if(e)for(const i in e)if("other"!==i)for(const r of e[i]){const e=`${i}ResolveRangeMin`,n=`${i}ResolveRangeMax`,o=`${i}RequestCount`,s=`${i}RequestCachedCount`;t[e]=Math.min(t[e]||1/0,r.startTime),t[n]=Math.max(t[n]||-1/0,r.responseEnd);const a=e=>{void 0===t[e]&&(t[e]=0),++t[e]};void 0!==r.transferSize&&0===r.transferSize&&a(s),a(o)}return t}(function(e,t){const i={};if(e)for(const r of e){const e=t(r);void 0===i[e]&&(i[e]=[]),i[e].push(r)}return i}(i,h)),o=window.devicePixelRatio,s=navigator.connection||navigator.mozConnection||navigator.webkitConnection,a=s?s.effectiveType:void 0,u={counters:[],metadata:[],attributes:[]},d=(e,t,i)=>{null!=i&&e.push({name:t,value:i.toString()})};for(const t in n)d(u.counters,t,n[t]);if(e.interactionRange[0]!==1/0&&e.interactionRange[1]!==-1/0&&(d(u.counters,"interactionRangeMin",e.interactionRange[0]),d(u.counters,"interactionRangeMax",e.interactionRange[1])),r)for(const t of Object.keys(c)){const e=c[t],i=r.find((t=>t.name===e));i&&d(u.counters,e,i.startTime)}return d(u.counters,"visibilityHidden",e.visibilityHidden),d(u.attributes,"style",function(e){if(e)for(const t of e){const e=t.name.split("?")[0];if(l(e)){const t=e.split("/").slice(-2);if(2===t.length)return`mapbox://styles/${t[0]}/${t[1]}`}}}(i)),d(u.attributes,"terrainEnabled",e.terrainEnabled?"true":"false"),d(u.attributes,"fogEnabled",e.fogEnabled?"true":"false"),d(u.attributes,"projection",e.projection),d(u.attributes,"zoom",e.zoom),d(u.metadata,"devicePixelRatio",o),d(u.metadata,"connectionEffectiveType",a),d(u.metadata,"navigatorUserAgent",navigator.userAgent),d(u.metadata,"screenWidth",window.screen.width),d(u.metadata,"screenHeight",window.screen.height),d(u.metadata,"windowWidth",window.innerWidth),d(u.metadata,"windowHeight",window.innerHeight),d(u.metadata,"mapWidth",e.width/o),d(u.metadata,"mapHeight",e.height/o),d(u.metadata,"webglRenderer",e.renderer),d(u.metadata,"webglVendor",e.vendor),d(u.metadata,"sdkVersion",t),d(u.metadata,"sdkIdentifier","mapbox-gl-js"),u}(r);for(const t of n.metadata);for(const t of n.counters);for(const t of n.attributes);this.postEvent(i,n,(()=>{}),e)}},vr=xr.postPerformanceEvent.bind(xr),br=new class extends dr{constructor(){super("map.auth"),this.success={},this.skuToken=""}getSession(e,t,i,n){if(!r.API_URL||!r.SESSION_PATH)return;const o=lr(r.API_URL+r.SESSION_PATH);o.params.push(`sku=${t||""}`),o.params.push(`access_token=${n||r.ACCESS_TOKEN||""}`);const s={url:cr(o),headers:{"Content-Type":"text/plain"}};this.pendingRequest=function(e,t){return Ki(Jt(e,{method:"GET"}),t)}(s,(e=>{this.pendingRequest=null,i(e),this.saveEventData(),this.processRequests(n)}))}getSessionAPI(e,t,i,n){this.skuToken=t,this.errorCb=n,r.SESSION_PATH&&r.API_URL&&(i||r.ACCESS_TOKEN?this.queueRequest({id:e,timestamp:Date.now()},i):this.errorCb(new Error(sr)))}processRequests(e){if(this.pendingRequest||0===this.queue.length)return;const{id:t,timestamp:i}=this.queue.shift();t&&this.success[t]||this.getSession(i,this.skuToken,(e=>{e?this.errorCb(e):t&&(this.success[t]=!0)}),e)}remove(){this.errorCb=null}},wr=br.getSessionAPI.bind(br),Tr=new Set;var Er={exports:{}},Sr={exports:{}};Sr.exports=function(e,t){var i,r,n,o,s,a,l,c;for(r=e.length-(i=3&e.length),n=t,s=3432918353,a=461845907,c=0;c>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(o>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&e.charCodeAt(c+2))<<16;case 2:l^=(255&e.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&e.charCodeAt(c)))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<15|l>>>17))*a+(((l>>>16)*a&65535)<<16)&4294967295}return n^=e.length,n=2246822507*(65535&(n^=n>>>16))+((2246822507*(n>>>16)&65535)<<16)&4294967295,n=3266489909*(65535&(n^=n>>>13))+((3266489909*(n>>>16)&65535)<<16)&4294967295,(n^=n>>>16)>>>0};var Mr=Sr.exports,Ar={exports:{}};Ar.exports=function(e,t){for(var i,r=e.length,n=t^r,o=0;r>=4;)i=1540483477*(65535&(i=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(i>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),r-=4,++o;switch(r){case 3:n^=(255&e.charCodeAt(o+2))<<16;case 2:n^=(255&e.charCodeAt(o+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(o)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var Ir=Mr,Cr=Ar.exports;Er.exports=Ir,Er.exports.murmur3=Ir,Er.exports.murmur2=Cr;var Pr=u(Er.exports);function zr(e,t,i){i[e]&&-1!==i[e].indexOf(t)||(i[e]=i[e]||[],i[e].push(t))}function Dr(e,t,i){if(i&&i[e]){const r=i[e].indexOf(t);-1!==r&&i[e].splice(r,1)}}class Rr{constructor(e){Jt(this,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),this.type=e}}class Lr extends Rr{constructor(e){super("error",Jt({error:e},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}}class kr{on(e,t){return this._listeners=this._listeners||{},zr(e,t,this._listeners),this}off(e,t){return Dr(e,t,this._listeners),Dr(e,t,this._oneTimeListeners),this}once(e,t){return t?(this._oneTimeListeners=this._oneTimeListeners||{},zr(e,t,this._oneTimeListeners),this):new Promise((t=>this.once(e,t)))}fire(e,t){"string"==typeof e&&(e=new Rr(e,t||{}));const i=e.type;if(this.listens(i)){e.target=this;const t=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of t)i.call(this,e);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const o of r)Dr(i,o,this._oneTimeListeners),o.call(this,e);const n=this._eventedParent;n&&(Jt(e,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(e))}else e instanceof Lr&&console.error(e.error);return this}listens(e){return!!(this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e))}setEventedParent(e,t){return this._eventedParent=e,this._eventedParentData=t,this}}e.z=void 0;var Or={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Br(e){return(e=Math.round(e))<0?0:e>255?255:e}function Fr(e){return Br("%"===e[e.length-1]?parseFloat(e)/100*255:parseInt(e))}function Nr(e){return(t="%"===e[e.length-1]?parseFloat(e)/100:parseFloat(e))<0?0:t>1?1:t;var t}function Vr(e,t,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?e+(t-e)*i*6:2*i<1?t:3*i<2?e+(t-e)*(2/3-i)*6:e}try{e.z={}.parseCSSColor=function(e){var t,i=e.replace(/ /g,"").toLowerCase();if(i in Or)return Or[i].slice();if("#"===i[0])return 4===i.length?(t=parseInt(i.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===i.length&&(t=parseInt(i.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var r=i.indexOf("("),n=i.indexOf(")");if(-1!==r&&n+1===i.length){var o=i.substr(0,r),s=i.substr(r+1,n-(r+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Nr(s.pop());case"rgb":return 3!==s.length?null:[Fr(s[0]),Fr(s[1]),Fr(s[2]),a];case"hsla":if(4!==s.length)return null;a=Nr(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Nr(s[1]),h=Nr(s[2]),u=h<=.5?h*(c+1):h+c-h*c,d=2*h-u;return[Br(255*Vr(d,u,l+1/3)),Br(255*Vr(d,u,l)),Br(255*Vr(d,u,l-1/3)),a];default:return null}}return null}}catch(e){}class Ur{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.r=e,this.g=t,this.b=i,this.a=r}static parse(t){if(!t)return;if(t instanceof Ur)return t;if("string"!=typeof t)return;const i=e.z(t);return i?new Ur(i[0]/255*i[3],i[1]/255*i[3],i[2]/255*i[3],i[3]):void 0}toString(){const[e,t,i,r]=this.toArray();return`rgba(${Math.round(e)},${Math.round(t)},${Math.round(i)},${r})`}toArray(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[255*e/r,255*t/r,255*i/r,r]}toArray01(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[e/r,t/r,i/r,r]}toArray01Scaled(e){const{r:t,g:i,b:r,a:n}=this;return 0===n?[0,0,0]:[t/n*e,i/n*e,r/n*e]}toArray01PremultipliedAlpha(){const{r:e,g:t,b:i,a:r}=this;return[e,t,i,r]}toArray01Linear(){const{r:e,g:t,b:i,a:r}=this;return 0===r?[0,0,0,0]:[Math.pow(e/r,2.2),Math.pow(t/r,2.2),Math.pow(i/r,2.2),r]}}function jr(e,t,i){return e*(1-i)+t*i}function Gr(e,t,i){return e.map(((e,r)=>jr(e,t[r],i)))}Ur.black=new Ur(0,0,0,1),Ur.white=new Ur(1,1,1,1),Ur.transparent=new Ur(0,0,0,0),Ur.red=new Ur(1,0,0,1),Ur.blue=new Ur(0,0,1,1);var qr=Object.freeze({__proto__:null,array:Gr,color:function(e,t,i){return new Ur(jr(e.r,t.r,i),jr(e.g,t.g,i),jr(e.b,t.b,i),jr(e.a,t.a,i))},number:jr});function Zr(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:[];this.parent=e,this.bindings={};for(const[i,r]of t)this.bindings[i]=r}concat(e){return new Wr(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const Qr={kind:"null"},Hr={kind:"number"},Xr={kind:"string"},Yr={kind:"boolean"},Kr={kind:"color"},Jr={kind:"object"},en={kind:"value"},tn={kind:"collator"},rn={kind:"formatted"},nn={kind:"resolvedImage"};function on(e,t){return{kind:"array",itemType:e,N:t}}function sn(e){if("array"===e.kind){const t=sn(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const an=[Qr,Hr,Xr,Yr,Kr,rn,Jr,on(en),nn];function ln(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!ln(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of an)if(!ln(e,t))return null}return`Expected ${sn(e)} but found ${sn(t)} instead.`}function cn(e,t){return t.some((t=>t.kind===e.kind))}function hn(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}class un{constructor(e,t,i){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=i,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}}class dn{constructor(e,t,i,r,n){this.text=e.normalize?e.normalize():e,this.image=t,this.scale=i,this.fontStack=r,this.textColor=n}}class pn{constructor(e){this.sections=e}static fromString(e){return new pn([new dn(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.namePrimary.length))}static factory(e){return e instanceof pn?e:pn.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}serialize(){const e=["format"];for(const t of this.sections){if(t.image){e.push(["image",t.image.namePrimary]);continue}e.push(t.text);const i={};t.fontStack&&(i["text-font"]=["literal",t.fontStack.split(",")]),t.scale&&(i["font-scale"]=t.scale),t.textColor&&(i["text-color"]=["rgba"].concat(t.textColor.toArray())),e.push(i)}return e}}class fn{constructor(e){this.namePrimary=e.namePrimary,e.nameSecondary&&(this.nameSecondary=e.nameSecondary),this.available=e.available}toString(){return this.nameSecondary?`[${this.namePrimary},${this.nameSecondary}]`:this.namePrimary}static fromString(e,t){return e?new fn({namePrimary:e,nameSecondary:t,available:!1}):null}serialize(){return this.nameSecondary?["image",this.namePrimary,this.nameSecondary]:["image",this.namePrimary]}}function mn(e,t,i,r){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[e,t,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function _n(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Ur)return!0;if(e instanceof un)return!0;if(e instanceof pn)return!0;if(e instanceof fn)return!0;if(Array.isArray(e)){for(const t of e)if(!_n(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!_n(e[t]))return!1;return!0}return!1}function gn(e){if(null===e)return Qr;if("string"==typeof e)return Xr;if("boolean"==typeof e)return Yr;if("number"==typeof e)return Hr;if(e instanceof Ur)return Kr;if(e instanceof un)return tn;if(e instanceof pn)return rn;if(e instanceof fn)return nn;if(Array.isArray(e)){const t=e.length;let i;for(const r of e){const e=gn(r);if(i){if(i===e)continue;i=en;break}i=e}return on(i||en,t)}return Jr}function yn(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Ur||e instanceof pn||e instanceof fn?e.toString():JSON.stringify(e)}class xn{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!_n(e[1]))return t.error("invalid value");const i=e[1];let r=gn(i);const n=t.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new xn(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Ur?["rgba"].concat(this.value.toArray()):this.value instanceof pn?this.value.serialize():this.value}}class vn{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const bn={string:Xr,number:Hr,boolean:Yr,object:Jr};class wn{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let i,r=1;const n=e[0];if("array"===n){let n,o;if(e.length>2){const i=e[1];if("string"!=typeof i||!(i in bn)||"object"===i)return t.error('The item type argument of "array" must be one of string, number, boolean',1);n=bn[i],r++}else n=en;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],r++}i=on(n,o)}else i=bn[n];const o=[];for(;re.outputDefined()))}serialize(){const e=this.type,t=[e.kind];if("array"===e.kind){const i=e.itemType;if("string"===i.kind||"number"===i.kind||"boolean"===i.kind){t.push(i.kind);const r=e.N;("number"==typeof r||this.args.length>1)&&t.push(r)}}return t.concat(this.args.map((e=>e.serialize())))}}class Tn{constructor(e){this.type=rn,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[1];if(!Array.isArray(i)&&"object"==typeof i)return t.error("First argument must be an image or text section.");const r=[];let n=!1;for(let o=1;o<=e.length-1;++o){const i=e[o];if(n&&"object"==typeof i&&!Array.isArray(i)){n=!1;let e=null;if(i["font-scale"]&&(e=t.parse(i["font-scale"],1,Hr),!e))return null;let o=null;if(i["text-font"]&&(o=t.parse(i["text-font"],1,on(Xr)),!o))return null;let s=null;if(i["text-color"]&&(s=t.parse(i["text-color"],1,Kr),!s))return null;const a=r[r.length-1];a.scale=e,a.font=o,a.textColor=s}else{const i=t.parse(e[o],1,en);if(!i)return null;const s=i.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:i,scale:null,font:null,textColor:null})}}return new Tn(r)}evaluate(e){return new pn(this.sections.map((t=>{const i=t.content.evaluate(e);return gn(i)===nn?new dn("",i,null,null,null):new dn(yn(i),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const t of this.sections){e.push(t.content.serialize());const i={};t.scale&&(i["font-scale"]=t.scale.serialize()),t.font&&(i["text-font"]=t.font.serialize()),t.textColor&&(i["text-color"]=t.textColor.serialize()),e.push(i)}return e}}class En{constructor(e,t){this.type=nn,this.inputPrimary=e,this.inputSecondary=t}static parse(e,t){if(e.length<2)return t.error("Expected two or more arguments.");const i=t.parse(e[1],1,Xr);if(!i)return t.error("No image name provided.");if(2===e.length)return new En(i);const r=t.parse(e[2],1,Xr);return r?new En(i,r):t.error("Secondary image variant is not a string.")}evaluate(e){const t=fn.fromString(this.inputPrimary.evaluate(e),this.inputSecondary?this.inputSecondary.evaluate(e):void 0);return t&&e.availableImages&&(t.available=e.availableImages.indexOf(t.namePrimary)>-1,t.nameSecondary&&t.available&&e.availableImages&&(t.available=e.availableImages.indexOf(t.nameSecondary)>-1)),t}eachChild(e){e(this.inputPrimary),this.inputSecondary&&e(this.inputSecondary)}outputDefined(){return!1}serialize(){return this.inputSecondary?["image",this.inputPrimary.serialize(),this.inputSecondary.serialize()]:["image",this.inputPrimary.serialize()]}}function Sn(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}const Mn={"to-boolean":Yr,"to-color":Kr,"to-number":Hr,"to-string":Xr};class An{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const i=e[0],r=[];let n=Qr;if("to-array"===i){if(!Array.isArray(e[1]))return null;const i=e[1].length;if(t.expectedType){if("array"!==t.expectedType.kind)return t.error(`Expected ${t.expectedType.kind} but found array.`);n=on(t.expectedType.itemType,i)}else{if(!(i>0&&_n(e[1][0])))return null;n=on(gn(e[1][0]),i)}for(let o=0;o4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:mn(t[0],t[1],t[2],t[3]),!i))return new Ur(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new vn(i||`Could not parse color from value '${"string"==typeof t?t:String(JSON.stringify(t))}'`)}if("number"===this.type.kind){let t=null;for(const i of this.args){if(t=i.evaluate(e),null===t)return 0;const r=Number(t);if(!isNaN(r))return r}throw new vn(`Could not convert ${JSON.stringify(t)} to number.`)}return"formatted"===this.type.kind?pn.fromString(yn(this.args[0].evaluate(e))):"resolvedImage"===this.type.kind?fn.fromString(yn(this.args[0].evaluate(e))):"array"===this.type.kind?this.args.map((t=>t.evaluate(e))):yn(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new Tn([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new En(this.args[0]).serialize();const e="array"===this.type.kind?[]:[`to-${this.type.kind}`];return this.eachChild((t=>{e.push(t.serialize())})),e}}const In=["Unknown","Point","LineString","Polygon"];class Cn{constructor(e,t){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null,this.scope=e,this.options=t}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?In[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||{}}measureLight(e){return this.globals.brightness||0}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,t=this.featureDistanceData.scale,{x:i,y:r}=this.featureTileCoord;return this.featureDistanceData.bearing[0]*(i*t-e[0])+this.featureDistanceData.bearing[1]*(r*t-e[1])}return 0}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Ur.parse(e)),t}getConfig(e){return this.options?this.options.get(e):null}}class Pn{constructor(e,t,i,r,n){this.name=e,this.type=t,this._evaluate=i,this.args=r,this._overloadIndex=n}evaluate(e){if(!this._evaluate){const e=Pn.definitions[this.name];this._evaluate=Array.isArray(e)?e[2]:e.overloads[this._overloadIndex][1]}return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((e=>e.serialize())))}static parse(e,t){const i=e[0],r=Pn.definitions[i];if(!r)return t.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,o=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,s=[];let a=null,l=-1;for(const[c,h]of o){if(Array.isArray(c)&&c.length!==e.length-1)continue;s.push(c),l++,a=new qo(t.registry,t.path,null,t.scope,void 0,t._scope,t.options);const r=[];let o=!1;for(let t=1;t{let[t]=e;return t}))).map(zn).join(" | "),r=[];for(let n=1;nn;){if(o-n>600){var a=o-n+1,l=r-n+1,c=Math.log(a),h=.5*Math.exp(2*c/3),u=.5*Math.sqrt(c*h*(a-h)/a)*(l-a/2<0?-1:1);e(i,r,Math.max(n,Math.floor(r-l*h/a+u)),Math.min(o,Math.floor(r+(a-l)*h/a+u)),s)}var d=i[r],p=n,f=o;for(t(i,n,r),s(i[o],d)>0&&t(i,n,o);p0;)f--}0===s(i[n],d)?t(i,n,f):t(i,++f,o),f<=r&&(n=f+1),r<=f&&(o=f-1)}}function t(e,t,i){var r=e[t];e[t]=e[i],e[i]=r}function i(e,t){return et?1:0}return function(t,r,n,o,s){e(t,r,n||0,o||t.length-1,s||i)}}();var Ln=u(Rn.exports);function kn(e){let t=0;for(let i,r,n=0,o=e.length,s=o-1;n=t[2]||e[1]<=t[1]||e[3]>=t[3])}function Fn(e,t,i){const r=e[0]-t[0],n=e[1]-t[1],o=e[0]-i[0],s=e[1]-i[1];return r*s-o*n==0&&r*o<=0&&n*s<=0}function Nn(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=!1;for(let a=0,l=t.length;a(n=e)[1]!=(s=h)[1]>n[1]&&n[0]<(s[0]-o[0])*(n[1]-o[1])/(s[1]-o[1])+o[0]&&(r=!r)}}var n,o,s;return r}function Vn(e,t,i,r){const n=r[0]-i[0],o=r[1]-i[1],s=(e[0]-i[0])*o-n*(e[1]-i[1]),a=(t[0]-i[0])*o-n*(t[1]-i[1]);return s>0&&a<0||s<0&&a>0}function Un(e,t,i,r){return 0!=(n=[r[0]-i[0],r[1]-i[1]])[0]*(o=[t[0]-e[0],t[1]-e[1]])[1]-n[1]*o[0]&&!(!Vn(e,t,i,r)||!Vn(i,r,e,t));var n,o}const jn=8192;function Gn(e,t){const i=(180+e[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+e[1]*Math.PI/360)))/360,n=Math.pow(2,t.z);return[Math.round(i*n*jn),Math.round(r*n*jn)]}function qn(e,t){for(let i=0;ii[2]){const t=.5*r;let n=e[0]-i[0]>t?-r:i[0]-e[0]>t?r:0;0===n&&(n=e[0]-i[2]>t?-r:i[2]-e[0]>t?r:0),e[0]+=n}On(t,e)}function Yn(e,t,i,r){const n=Math.pow(2,r.z)*jn,o=[r.x*jn,r.y*jn],s=[];if(!e)return s;for(const a of e)for(const e of a){const r=[e.x+o[0],e.y+o[1]];Xn(r,t,i,n),s.push(r)}return s}function Kn(e,t,i,r){const n=Math.pow(2,r.z)*jn,o=[r.x*jn,r.y*jn],s=[];if(!e)return s;for(const l of e){const e=[];for(const i of l){const r=[i.x+o[0],i.y+o[1]];On(t,r),e.push(r)}s.push(e)}if(t[2]-t[0]<=n/2){(a=t)[0]=a[1]=1/0,a[2]=a[3]=-1/0;for(const e of s)for(const r of e)Xn(r,t,i,n)}var a;return s}class Jn{constructor(e,t){this.type=Yr,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(_n(e[1])){const t=e[1];if("FeatureCollection"===t.type)for(let e=0;e180;)e-=360;return e}return n.fromTile=function(e,t,i){var o=Math.PI*(1-2*(e+.5)/Math.pow(2,t)),s=Math.atan(.5*(Math.exp(o)-Math.exp(-o)))/r;return new n(s,i)},o.units.get=function(){return e},n.prototype.distance=function(e,t){var i=l(e[0]-t[0])*this.kx,r=(e[1]-t[1])*this.ky;return Math.sqrt(i*i+r*r)},n.prototype.bearing=function(e,t){var i=l(t[0]-e[0])*this.kx;return Math.atan2(i,(t[1]-e[1])*this.ky)/r},n.prototype.destination=function(e,t,i){var n=i*r;return this.offset(e,Math.sin(n)*t,Math.cos(n)*t)},n.prototype.offset=function(e,t,i){return[e[0]+t/this.kx,e[1]+i/this.ky]},n.prototype.lineDistance=function(e){for(var t=0,i=0;it)return a(n,o,(t-(i-s))/s)}return e[e.length-1]},n.prototype.pointToSegmentDistance=function(e,t,i){var r=t[0],n=t[1],o=l(i[0]-r)*this.kx,s=(i[1]-n)*this.ky,a=0;return 0===o&&0===s||((a=(l(e[0]-r)*this.kx*o+(e[1]-n)*this.ky*s)/(o*o+s*s))>1?(r=i[0],n=i[1]):a>0&&(r+=o/this.kx*a,n+=s/this.ky*a)),o=l(e[0]-r)*this.kx,s=(e[1]-n)*this.ky,Math.sqrt(o*o+s*s)},n.prototype.pointOnLine=function(e,t){for(var i,r,n,o,s=1/0,a=0;a1?(c=e[a+1][0],h=e[a+1][1]):p>0&&(c+=u/this.kx*p,h+=d/this.ky*p));var f=(u=l(t[0]-c)*this.kx)*u+(d=(t[1]-h)*this.ky)*d;fn.index||r.index===n.index&&r.t>n.t){var o=r;r=n,n=o}var a=[r.point],l=r.index+1,c=n.index;!s(i[l],a[0])&&l<=c&&a.push(i[l]);for(var h=l+1;h<=c;h++)a.push(i[h]);return s(i[c],n.point)||a.push(n.point),a},n.prototype.lineSliceAlong=function(e,t,i){for(var r=0,n=[],o=0;oe&&0===n.length&&n.push(a(s,l,(e-(r-c))/c)),r>=t)return n.push(a(s,l,(t-(r-c))/c)),n;r>e&&n.push(l)}return n},n.prototype.bufferPoint=function(e,t){var i=t/this.ky,r=t/this.kx;return[e[0]-r,e[1]-i,e[0]+r,e[1]+i]},n.prototype.bufferBBox=function(e,t){var i=t/this.ky,r=t/this.kx;return[e[0]-r,e[1]-i,e[2]+r,e[3]+i]},n.prototype.insideBBox=function(e,t){return l(e[0]-t[0])>=0&&l(e[0]-t[2])<=0&&e[1]>=t[1]&&e[1]<=t[3]},Object.defineProperties(n,o),n}()}(eo);var to=u(eo.exports),io={exports:{}};!function(e,t){e.exports=function(){var e=function(e,i){if(void 0===e&&(e=[]),void 0===i&&(i=t),this.data=e,this.length=this.data.length,this.compare=i,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function t(e,t){return et?1:0}return e.prototype.push=function(e){this.data.push(e),this.length++,this._up(this.length-1)},e.prototype.pop=function(){if(0!==this.length){var e=this.data[0],t=this.data.pop();return this.length--,this.length>0&&(this.data[0]=t,this._down(0)),e}},e.prototype.peek=function(){return this.data[0]},e.prototype._up=function(e){for(var t=this.data,i=this.compare,r=t[e];e>0;){var n=e-1>>1,o=t[n];if(i(r,o)>=0)break;t[e]=o,e=n}t[e]=r},e.prototype._down=function(e){for(var t=this.data,i=this.compare,r=this.length>>1,n=t[e];e=0)break;t[e]=s,e=o}t[e]=n},e}()}(io);var ro=u(io.exports),no=8192;function oo(e,t){return t.dist-e.dist}const so=100,ao=50;function lo(e){const t=[1/0,1/0,-1/0,-1/0];if(t.length!==e.length)return!1;for(let i=0;i=e[0]&&e[1]e[1])return[null,null];const i=co(e);if(t){if(2===i)return[e,null];const t=Math.floor(i/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}{if(1===i)return[e,null];const t=Math.floor(i/2)-1;return[[e[0],e[0]+t],[e[0]+t+1,e[1]]]}}function po(e,t){const i=[1/0,1/0,-1/0,-1/0];if(!ho(t,e.length))return i;for(let r=t[0];r<=t[1];++r)On(i,e[r]);return i}function fo(e){const t=[1/0,1/0,-1/0,-1/0];for(let i=0;it[2]&&(r=e[0]-t[2]),e[1]>t[3]&&(n=e[1]-t[3]),e[3]3&&void 0!==arguments[3]?arguments[3]:1/0;const n=fo(e),o=fo(t);if(r!==1/0&&mo(n,o,i)>=r)return r;if(Bn(n,o)){if(Ao(e,t))return 0}else if(Ao(t,e))return 0;let s=r;for(const a of e)for(let e=0,r=a.length,n=r-1;e4&&void 0!==arguments[4]?arguments[4]:1/0,o=Math.min(r.distance(e[0],i[0][0]),n);if(0===o)return o;const s=new ro([{dist:0,range1:[0,e.length-1],range2:[0,0]}],oo),a=t?ao:so,l=fo(i);for(;s.length;){const n=s.pop();if(n.dist>=o)continue;const c=n.range1;if(co(c)<=a){if(!ho(c,e.length))return NaN;if(t){const t=Mo(e,c,i,r);if(0===(o=Math.min(o,t)))return o}else for(let t=c[0];t<=c[1];++t){const n=So(e[t],i,r);if(0===(o=Math.min(o,n)))return o}}else{const i=uo(c,t);if(null!==i[0]){const t=mo(po(e,i[0]),l,r);t5&&void 0!==arguments[5]?arguments[5]:1/0,s=Math.min(o,n.distance(e[0],i[0]));if(0===s)return s;const a=new ro([{dist:0,range1:[0,e.length-1],range2:[0,i.length-1]}],oo),l=t?ao:so,c=r?ao:so;for(;a.length;){const o=a.pop();if(o.dist>=s)continue;const h=o.range1,u=o.range2;if(co(h)<=l&&co(u)<=c){if(!ho(h,e.length)||!ho(u,i.length))return NaN;if(t&&r?s=Math.min(s,To(e,h,i,u,n)):t||r?t&&!r?s=Math.min(s,bo(i,u,e,h,n)):!t&&r&&(s=Math.min(s,bo(e,h,i,u,n))):s=Math.min(s,Eo(e,h,i,u,n)),0===s)return s}else{const o=uo(h,t),l=uo(u,r);Co(a,s,n,e,i,o[0],l[0]),Co(a,s,n,e,i,o[0],l[1]),Co(a,s,n,e,i,o[1],l[0]),Co(a,s,n,e,i,o[1],l[1])}}return s}function Do(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0;const o=po(e,[0,e.length-1]);for(const s of i)if(!(n!==1/0&&mo(o,po(s,[0,s.length-1]),r)>=n)&&(n=Math.min(n,zo(e,t,s,!0,r,n)),0===n))return n;return n}function Ro(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1/0;const o=po(e,[0,e.length-1]);for(const s of i){if(n!==1/0&&mo(o,fo(s),r)>=n)continue;const i=Po(e,t,s,r,n);if(isNaN(i))return i;if(0===(n=Math.min(n,i)))return n}return n}function Lo(e){return"Point"===e||"MultiPoint"===e||"LineString"===e||"MultiLineString"===e||"Polygon"===e||"MultiPolygon"===e}class ko{constructor(e,t){this.type=Hr,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires either one argument, but found ' ${e.length-1} instead.`);if(_n(e[1])){const t=e[1];if("FeatureCollection"===t.type){for(let e=0;ei&&(e=i),e}class Fo{constructor(e,t,i){this.type=e,this.key=t,this.scope=i}static parse(e,t){let i=t.expectedType;if(null==i&&(i=en),e.length<2||e.length>3)return t.error("Invalid number of arguments for 'config' expression.");const r=t.parse(e[1],1);if(!(r instanceof xn))return t.error("Key name of 'config' expression must be a string literal.");if(e.length>=3){const n=t.parse(e[2],2);return n instanceof xn?new Fo(i,yn(r.value),yn(n.value)):t.error("Scope of 'config' expression must be a string literal.")}return new Fo(i,yn(r.value))}evaluate(e){const t=[this.key,this.scope,e.scope].filter(Boolean).join("\x1f"),i=e.getConfig(t);if(!i)return null;const{type:r,value:n,values:o,minValue:s,maxValue:a,stepValue:l}=i,c=i.default.evaluate(e);let h=c;if(n){const t=e.scope;e.scope=(t||"").split("\x1f").slice(1).join("\x1f"),h=n.evaluate(e),e.scope=t}return r&&(h=Oo(r,h)),void 0===h||void 0===s&&void 0===a&&void 0===l||("number"==typeof h?h=Bo(h,s,a,l):Array.isArray(h)&&(h=h.map((e=>"number"==typeof e?Bo(e,s,a,l):e)))),void 0!==n&&void 0!==h&&o&&!o.includes(h)&&(h=c,r&&(h=Oo(r,h))),(r&&r!==this.type||void 0!==h&&gn(h)!==this.type)&&(h=Oo(this.type.kind,h)),h}eachChild(){}outputDefined(){return!1}serialize(){const e=["config",this.key];return this.scope&&e.concat(this.key),e}}function No(e){if(e instanceof Pn){if("get"===e.name&&1===e.args.length)return!1;if("feature-state"===e.name)return!1;if("has"===e.name&&1===e.args.length)return!1;if("properties"===e.name||"geometry-type"===e.name||"id"===e.name)return!1;if(/^filter-/.test(e.name))return!1}if(e instanceof Jn)return!1;if(e instanceof ko)return!1;let t=!0;return e.eachChild((e=>{t&&!No(e)&&(t=!1)})),t}function Vo(e){if(e instanceof Pn&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!Vo(e)&&(t=!1)})),t}function Uo(e){if(e instanceof Fo)return!1;let t=!0;return e.eachChild((e=>{t&&!Uo(e)&&(t=!1)})),t}function jo(e,t){if(e instanceof Pn&&t.indexOf(e.name)>=0)return!1;let i=!0;return e.eachChild((e=>{i&&!jo(e,t)&&(i=!1)})),i}class Go{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const i=e[1];return t.scope.has(i)?new Go(i,t.scope.get(i)):t.error(`Unknown variable "${i}". Make sure "${i}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}class qo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Wr,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5?arguments[5]:void 0,s=arguments.length>6?arguments[6]:void 0;this.registry=e,this.path=t,this.key=t.map((e=>`[${e}]`)).join(""),this.scope=r,this.errors=n,this.expectedType=i,this._scope=o,this.options=s}parse(e,t,i,r){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return t||i?this.concat(t,i,r)._parse(e,n):this._parse(e,n)}_parse(e,t){function i(e,t,i){return"assert"===i?new wn(t,[e]):"coerce"===i?new An(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r="string"==typeof e[0]?this.registry[e[0]]:void 0;if(r){let n=r.parse(e,this);if(!n)return null;if(this.expectedType){const e=this.expectedType,r=n.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==r.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==r.kind&&"string"!==r.kind){if(this.checkSubtype(e,r))return null}else n=i(n,e,t.typeAnnotation||"coerce");else n=i(n,e,t.typeAnnotation||"assert")}if(!(n instanceof xn)&&"resolvedImage"!==n.type.kind&&Zo(n)){const t=new Cn(this._scope,this.options);try{n=new xn(n.type,n.evaluate(t))}catch(e){return this.error(e.message),null}}return n}return An.parse(["to-array",e],this)}return this.error(void 0===e?"'undefined' value invalid. Use null instead.":"object"==typeof e?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,t,i){const r="number"==typeof e?this.path.concat(e):this.path,n=i?this.scope.concat(i):this.scope;return new qo(this.registry,r,t||null,n,this.errors,this._scope,this.options)}error(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r`[${e}]`)).join("")}`;this.errors.push(new $r(n,e))}checkSubtype(e,t){const i=ln(e,t);return i&&this.error(i),i}}function Zo(e){if(e instanceof Go)return Zo(e.boundExpression);if(e instanceof Pn&&"error"===e.name)return!1;if(e instanceof Dn)return!1;if(e instanceof Jn)return!1;if(e instanceof ko)return!1;if(e instanceof Fo)return!1;const t=e instanceof An||e instanceof wn;let i=!0;return e.eachChild((e=>{i=t?i&&Zo(e):i&&e instanceof xn})),!!i&&No(e)&&jo(e,["zoom","heatmap-density","line-progress","raster-value","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center","measure-light","raster-particle-speed"])}function $o(e,t){const i=e.length-1;let r,n,o=0,s=i,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),r=e[a],n=e[a+1],r<=t){if(a===i||tt))throw new vn("Input is not a number.");s=a-1}return 0}class Wo{constructor(e,t,i){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[r,n]of i)this.labels.push(r),this.outputs.push(n)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const i=t.parse(e[1],1,Hr);if(!i)return null;const r=[];let n=null;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);for(let o=1;o=i)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=t.parse(s,l,n);if(!c)return null;n=n||c.type,r.push([i,c])}return new Wo(n,i,r)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;return r>=t[n-1]?i[n-1].evaluate(e):i[$o(t,r)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){const e=["step",this.input.serialize()];for(let t=0;t0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e}}const Qo=.95047,Ho=1.08883,Xo=4/29,Yo=6/29,Ko=3*Yo*Yo,Jo=Yo*Yo*Yo,es=Math.PI/180,ts=180/Math.PI;function is(e){return e>Jo?Math.pow(e,1/3):e/Ko+Xo}function rs(e){return e>Yo?e*e*e:Ko*(e-Xo)}function ns(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function os(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function ss(e){const t=os(e.r),i=os(e.g),r=os(e.b),n=is((.4124564*t+.3575761*i+.1804375*r)/Qo),o=is((.2126729*t+.7151522*i+.072175*r)/1);return{l:116*o-16,a:500*(n-o),b:200*(o-is((.0193339*t+.119192*i+.9503041*r)/Ho)),alpha:e.a}}function as(e){let t=(e.l+16)/116,i=isNaN(e.a)?t:t+e.a/500,r=isNaN(e.b)?t:t-e.b/200;return t=1*rs(t),i=Qo*rs(i),r=Ho*rs(r),new Ur(ns(3.2404542*i-1.5371385*t-.4985314*r),ns(-.969266*i+1.8760108*t+.041556*r),ns(.0556434*i-.2040259*t+1.0572252*r),e.alpha)}function ls(e,t,i){const r=t-e;return e+i*(r>180||r<-180?r-360*Math.round(r/360):r)}const cs={forward:ss,reverse:as,interpolate:function(e,t,i){return{l:jr(e.l,t.l,i),a:jr(e.a,t.a,i),b:jr(e.b,t.b,i),alpha:jr(e.alpha,t.alpha,i)}}},hs={forward:function(e){const{l:t,a:i,b:r}=ss(e),n=Math.atan2(r,i)*ts;return{h:n<0?n+360:n,c:Math.sqrt(i*i+r*r),l:t,alpha:e.a}},reverse:function(e){const t=e.h*es,i=e.c;return as({l:e.l,a:Math.cos(t)*i,b:Math.sin(t)*i,alpha:e.alpha})},interpolate:function(e,t,i){return{h:ls(e.h,t.h,i),c:jr(e.c,t.c,i),l:jr(e.l,t.l,i),alpha:jr(e.alpha,t.alpha,i)}}};var us=Object.freeze({__proto__:null,hcl:hs,lab:cs});class ds{constructor(e,t,i,r,n){this.type=e,this.operator=t,this.interpolation=i,this.input=r,this.labels=[],this.outputs=[];for(const[o,s]of n)this.labels.push(o),this.outputs.push(s)}static interpolationFactor(e,t,i,r){let n=0;if("exponential"===e.name)n=ps(t,e.base,i,r);else if("linear"===e.name)n=ps(t,1,i,r);else if("cubic-bezier"===e.name){const o=e.controlPoints;n=new Bt(o[0],o[1],o[2],o[3]).solve(ps(t,1,i,r))}return n}static parse(e,t){let[i,r,n,...o]=e;if(!Array.isArray(r)||0===r.length)return t.error("Expected an interpolation type expression.",1);if("linear"===r[0])r={name:"linear"};else if("exponential"===r[0]){const e=r[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);r={name:"exponential",base:e}}else{if("cubic-bezier"!==r[0])return t.error(`Unknown interpolation type ${String(r[0])}`,1,0);{const e=r.slice(1);if(4!==e.length||e.some((e=>"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(n=t.parse(n,2,Hr),!n)return null;const s=[];let a=null;"interpolate-hcl"===i||"interpolate-lab"===i?a=Kr:t.expectedType&&"value"!==t.expectedType.kind&&(a=t.expectedType);for(let l=0;l=e)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=t.parse(i,n,a);if(!c)return null;a=a||c.type,s.push([e,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new ds(a,i,r,n,s):t.error(`Type ${sn(a)} is not interpolatable.`)}evaluate(e){const t=this.labels,i=this.outputs;if(1===t.length)return i[0].evaluate(e);const r=this.input.evaluate(e);if(r<=t[0])return i[0].evaluate(e);const n=t.length;if(r>=t[n-1])return i[n-1].evaluate(e);const o=$o(t,r),s=ds.interpolationFactor(this.interpolation,r,t[o],t[o+1]),a=i[o].evaluate(e),l=i[o+1].evaluate(e);return"interpolate"===this.operator?qr[this.type.kind.toLowerCase()](a,l,s):"interpolate-hcl"===this.operator?hs.reverse(hs.interpolate(hs.forward(a),hs.forward(l),s)):cs.reverse(cs.interpolate(cs.forward(a),cs.forward(l),s))}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){let e;e="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const t=[this.operator,e,this.input.serialize()];for(let i=0;iln(r,e.type)));return new fs(o?en:i,n)}evaluate(e){let t,i=null,r=0;for(const n of this.args){if(r++,i=n.evaluate(e),i&&i instanceof fn&&!i.available&&(t||(t=i),i=null,r===this.args.length))return t;if(null!==i)break}return i}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=["coalesce"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class ms{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const i=[];for(let n=1;n=i.length)throw new vn(`Array index out of bounds: ${t} > ${i.length-1}.`);if(t!==Math.floor(t))throw new vn(`Array index must be an integer, but found ${t} instead.`);return i[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}class gs{constructor(e,t){this.type=Yr,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,en);return i&&r?cn(i.type,[Yr,Xr,Hr,Qr,en])?new gs(i,r):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${sn(i.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(null==i)return!1;if(!hn(t,["boolean","string","number","null"]))throw new vn(`Expected first argument to be of type boolean, string, number or null, but found ${sn(gn(t))} instead.`);if(!hn(i,["string","array"]))throw new vn(`Expected second argument to be of type array or string, but found ${sn(gn(i))} instead.`);return i.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}class ys{constructor(e,t,i){this.type=Hr,this.needle=e,this.haystack=t,this.fromIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,en);if(!i||!r)return null;if(!cn(i.type,[Yr,Xr,Hr,Qr,en]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${sn(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Hr);return n?new ys(i,r,n):null}return new ys(i,r)}evaluate(e){const t=this.needle.evaluate(e),i=this.haystack.evaluate(e);if(!hn(t,["boolean","string","number","null"]))throw new vn(`Expected first argument to be of type boolean, string, number or null, but found ${sn(gn(t))} instead.`);if(!hn(i,["string","array"]))throw new vn(`Expected second argument to be of type array or string, but found ${sn(gn(i))} instead.`);if(this.fromIndex){const r=this.fromIndex.evaluate(e);return i.indexOf(t,r)}return i.indexOf(t)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}class xs{constructor(e,t,i,r,n,o){this.inputType=e,this.type=t,this.input=i,this.cases=r,this.outputs=n,this.otherwise=o}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let i,r;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);const n={},o=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,gn(e)))return null}else i=gn(e);if(void 0!==n[String(e)])return c.error("Branch labels must be unique.");n[String(e)]=o.length}const h=t.parse(a,l,r);if(!h)return null;r=r||h.type,o.push(h)}const s=t.parse(e[1],1,en);if(!s)return null;const a=t.parse(e[e.length-1],e.length-1,r);return a?"value"!==s.type.kind&&t.concat(1).checkSubtype(i,s.type)?null:new xs(i,r,s,n,o,a):null}evaluate(e){const t=this.input.evaluate(e);return(gn(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()}serialize(){const e=["match",this.input.serialize()],t=Object.keys(this.cases).sort(),i=[],r={};for(const o of t){const e=r[this.cases[o]];void 0===e?(r[this.cases[o]]=i.length,i.push([this.cases[o],[o]])):i[e][1].push(o)}const n=e=>"number"===this.inputType.kind?Number(e):e;for(const[o,s]of i)e.push(1===s.length?n(s[0]):s.map(n)),e.push(this.outputs[o].serialize());return e.push(this.otherwise.serialize()),e}}class vs{constructor(e,t,i){this.type=e,this.branches=t,this.otherwise=i}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const r=[];for(let o=1;o{let[t,i]=e;return i.outputDefined()}))&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild((t=>{e.push(t.serialize())})),e}}class bs{constructor(e,t,i,r){this.type=e,this.input=t,this.beginIndex=i,this.endIndex=r}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const i=t.parse(e[1],1,en),r=t.parse(e[2],2,Hr);if(!i||!r)return null;if(!cn(i.type,[on(en),Xr,en]))return t.error(`Expected first argument to be of type array or string, but found ${sn(i.type)} instead`);if(4===e.length){const n=t.parse(e[3],3,Hr);return n?new bs(i.type,i,r,n):null}return new bs(i.type,i,r)}evaluate(e){const t=this.input.evaluate(e),i=this.beginIndex.evaluate(e);if(!hn(t,["string","array"]))throw new vn(`Expected first argument to be of type array or string, but found ${sn(gn(t))} instead.`);if(this.endIndex){const r=this.endIndex.evaluate(e);return t.slice(i,r)}return t.slice(i)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}function ws(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function Ts(e,t,i,r){return 0===r.compare(t,i)}function Es(e,t,i){const r="=="!==e&&"!="!==e;return class n{constructor(e,t,i){this.type=Yr,this.lhs=e,this.rhs=t,this.collator=i,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const i=e[0];let o=t.parse(e[1],1,en);if(!o)return null;if(!ws(i,o.type))return t.concat(1).error(`"${i}" comparisons are not supported for type '${sn(o.type)}'.`);let s=t.parse(e[2],2,en);if(!s)return null;if(!ws(i,s.type))return t.concat(2).error(`"${i}" comparisons are not supported for type '${sn(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error(`Cannot compare types '${sn(o.type)}' and '${sn(s.type)}'.`);r&&("value"===o.type.kind&&"value"!==s.type.kind?o=new wn(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new wn(o.type,[s])));let a=null;if(4===e.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error("Cannot use collator to compare non-string types.");if(a=t.parse(e[3],3,tn),!a)return null}return new n(o,s,a)}evaluate(n){const o=this.lhs.evaluate(n),s=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const t=gn(o),i=gn(s);if(t.kind!==i.kind||"string"!==t.kind&&"number"!==t.kind)throw new vn(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const e=gn(o),i=gn(s);if("string"!==e.kind||"string"!==i.kind)return t(n,o,s)}return this.collator?i(n,o,s,this.collator.evaluate(n)):t(n,o,s)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}serialize(){const t=[e];return this.eachChild((e=>{t.push(e.serialize())})),t}}}const Ss=Es("==",(function(e,t,i){return t===i}),Ts),Ms=Es("!=",(function(e,t,i){return t!==i}),(function(e,t,i,r){return!Ts(0,t,i,r)})),As=Es("<",(function(e,t,i){return t",(function(e,t,i){return t>i}),(function(e,t,i,r){return r.compare(t,i)>0})),Cs=Es("<=",(function(e,t,i){return t<=i}),(function(e,t,i,r){return r.compare(t,i)<=0})),Ps=Es(">=",(function(e,t,i){return t>=i}),(function(e,t,i,r){return r.compare(t,i)>=0}));class zs{constructor(e,t,i,r,n,o){this.type=Xr,this.number=e,this.locale=t,this.currency=i,this.unit=r,this.minFractionDigits=n,this.maxFractionDigits=o}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const i=t.parse(e[1],1,Hr);if(!i)return null;const r=e[2];if("object"!=typeof r||Array.isArray(r))return t.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=t.parse(r.locale,1,Xr),!n))return null;let o=null;if(r.currency&&(o=t.parse(r.currency,1,Xr),!o))return null;let s=null;if(r.unit&&(s=t.parse(r.unit,1,Xr),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=t.parse(r["min-fraction-digits"],1,Hr),!a))return null;let l=null;return r["max-fraction-digits"]&&(l=t.parse(r["max-fraction-digits"],1,Hr),!l)?null:new zs(i,n,o,s,a,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}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class Ds{constructor(e){this.type=Hr,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const i=t.parse(e[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?t.error(`Expected argument of type string or array, but found ${sn(i.type)} instead.`):new Ds(i):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new vn(`Expected value to be of type string or array, but found ${sn(gn(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild((t=>{e.push(t.serialize())})),e}}function Rs(e){return function(){e=1831565813+(e|=0)|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}const Ls={"==":Ss,"!=":Ms,">":Is,"<":As,">=":Ps,"<=":Cs,array:wn,at:_s,boolean:wn,case:vs,coalesce:fs,collator:Dn,format:Tn,image:En,in:gs,"index-of":ys,interpolate:ds,"interpolate-hcl":ds,"interpolate-lab":ds,length:Ds,let:ms,literal:xn,match:xs,number:wn,"number-format":zs,object:wn,slice:bs,step:Wo,string:wn,"to-boolean":An,"to-color":An,"to-number":An,"to-string":An,var:Go,within:Jn,distance:ko,config:Fo};function ks(e,t){let[i,r,n,o]=t;i=i.evaluate(e),r=r.evaluate(e),n=n.evaluate(e);const s=o?o.evaluate(e):1,a=mn(i,r,n,s);if(a)throw new vn(a);return new Ur(i/255*s,r/255*s,n/255*s,s)}function Os(e,t){let[i,r,n,o]=t;i=i.evaluate(e),r=r.evaluate(e),n=n.evaluate(e);const s=o?o.evaluate(e):1,a=function(e,t,i,r){return"number"==typeof e&&e>=0&&e<=360?"number"==typeof t&&t>=0&&t<=100&&"number"==typeof i&&i>=0&&i<=100?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid hsla value [${[e,t,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid hsla value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 's', and 'l' must be between 0 and 100.`:`Invalid hsla value [${("number"==typeof r?[e,t,i,r]:[e,t,i]).join(", ")}]: 'h' must be between 0 and 360.`}(i,r,n,s);if(a)throw new vn(a);const l=`hsla(${i}, ${r}%, ${n}%, ${s})`,c=Ur.parse(l);if(!c)throw new vn(`Failed to parse HSLA color: ${l}`);return c}function Bs(e,t){return e in t}function Fs(e,t){const i=t[e];return void 0===i?null:i}function Ns(e){return{type:e}}function Vs(e){return{result:"success",value:e}}function Us(e){return{result:"error",value:e}}function js(e,t){return!!e&&!!e.parameters&&e.parameters.indexOf(t)>-1}function Gs(e){return"data-driven"===e["property-type"]}function qs(e){return js(e.expression,"measure-light")}function Zs(e){return js(e.expression,"zoom")}function $s(e){return!!e.expression&&e.expression.interpolated}function Ws(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}function Qs(e){return e}function Hs(e,t){const i="color"===t.type,r=e.stops&&"object"==typeof e.stops[0][0],n=r||!(r||void 0!==e.property),o=e.type||($s(t)?"exponential":"interval");if(i&&((e=Zr({},e)).stops&&(e.stops=e.stops.map((e=>[e[0],Ur.parse(e[1])]))),e.default=Ur.parse(e.default?e.default:t.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!us[e.colorSpace])throw new Error(`Unknown color space: ${e.colorSpace}`);let s,a,l;if("exponential"===o)s=Js;else if("interval"===o)s=Ks;else if("categorical"===o){s=Ys,a=Object.create(null);for(const t of e.stops)a[t[0]]=t[1];l=typeof e.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);s=ea}if(r){const i={},r=[];for(let t=0;te[0])),evaluate:(i,r)=>{let{zoom:o}=i;return Js({stops:n,base:e.base},t,o).evaluate(o,r)}}}if(n){const i="exponential"===o?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:ds.interpolationFactor.bind(void 0,i),zoomStops:e.stops.map((e=>e[0])),evaluate:i=>{let{zoom:r}=i;return s(e,t,r,a,l)}}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[e.property]:void 0;return void 0===n?Xs(e.default,t.default):s(e,t,n,a,l)}}}function Xs(e,t,i){return void 0!==e?e:void 0!==t?t:void 0!==i?i:void 0}function Ys(e,t,i,r,n){return Xs(typeof i===n?r[i]:void 0,e.default,t.default)}function Ks(e,t,i){if("number"!==Sn(i))return Xs(e.default,t.default);const r=e.stops.length;if(1===r)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[r-1][0])return e.stops[r-1][1];const n=$o(e.stops.map((e=>e[0])),i);return e.stops[n][1]}function Js(e,t,i){const r=void 0!==e.base?e.base:1;if("number"!==Sn(i))return Xs(e.default,t.default);const n=e.stops.length;if(1===n)return e.stops[0][1];if(i<=e.stops[0][0])return e.stops[0][1];if(i>=e.stops[n-1][0])return e.stops[n-1][1];const o=$o(e.stops.map((e=>e[0])),i),s=function(e,t,i,r){const n=r-i,o=e-i;return 0===n?0:1===t?o/n:(Math.pow(t,o)-1)/(Math.pow(t,n)-1)}(i,r,e.stops[o][0],e.stops[o+1][0]),a=e.stops[o][1],l=e.stops[o+1][1];let c=qr[t.type]||Qs;if(e.colorSpace&&"rgb"!==e.colorSpace){const t=us[e.colorSpace];c=(e,i)=>t.reverse(t.interpolate(t.forward(e),t.forward(i),s))}return"function"==typeof a.evaluate?{evaluate(){for(var e=arguments.length,t=new Array(e),i=0;i{let[i]=t;throw new vn(i.evaluate(e))}],typeof:[Xr,[en],(e,t)=>{let[i]=t;return sn(gn(i.evaluate(e)))}],"to-rgba":[on(Hr,4),[Kr],(e,t)=>{let[i]=t;return i.evaluate(e).toArray()}],rgb:[Kr,[Hr,Hr,Hr],ks],rgba:[Kr,[Hr,Hr,Hr,Hr],ks],hsl:[Kr,[Hr,Hr,Hr],Os],hsla:[Kr,[Hr,Hr,Hr,Hr],Os],has:{type:Yr,overloads:[[[Xr],(e,t)=>{let[i]=t;return Bs(i.evaluate(e),e.properties())}],[[Xr,Jr],(e,t)=>{let[i,r]=t;return Bs(i.evaluate(e),r.evaluate(e))}]]},get:{type:en,overloads:[[[Xr],(e,t)=>{let[i]=t;return Fs(i.evaluate(e),e.properties())}],[[Xr,Jr],(e,t)=>{let[i,r]=t;return Fs(i.evaluate(e),r.evaluate(e))}]]},"feature-state":[en,[Xr],(e,t)=>{let[i]=t;return Fs(i.evaluate(e),e.featureState||{})}],properties:[Jr,[],e=>e.properties()],"geometry-type":[Xr,[],e=>e.geometryType()],id:[en,[],e=>e.id()],zoom:[Hr,[],e=>e.globals.zoom],pitch:[Hr,[],e=>e.globals.pitch||0],"distance-from-center":[Hr,[],e=>e.distanceFromCenter()],"measure-light":[Hr,[Xr],(e,t)=>{let[i]=t;return e.measureLight(i.evaluate(e))}],"heatmap-density":[Hr,[],e=>e.globals.heatmapDensity||0],"line-progress":[Hr,[],e=>e.globals.lineProgress||0],"raster-value":[Hr,[],e=>e.globals.rasterValue||0],"raster-particle-speed":[Hr,[],e=>e.globals.rasterParticleSpeed||0],"sky-radial-progress":[Hr,[],e=>e.globals.skyRadialProgress||0],accumulated:[en,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[Hr,Ns(Hr),(e,t)=>{let i=0;for(const r of t)i+=r.evaluate(e);return i}],"*":[Hr,Ns(Hr),(e,t)=>{let i=1;for(const r of t)i*=r.evaluate(e);return i}],"-":{type:Hr,overloads:[[[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)-r.evaluate(e)}],[[Hr],(e,t)=>{let[i]=t;return-i.evaluate(e)}]]},"/":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)/r.evaluate(e)}],"%":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return i.evaluate(e)%r.evaluate(e)}],ln2:[Hr,[],()=>Math.LN2],pi:[Hr,[],()=>Math.PI],e:[Hr,[],()=>Math.E],"^":[Hr,[Hr,Hr],(e,t)=>{let[i,r]=t;return Math.pow(i.evaluate(e),r.evaluate(e))}],sqrt:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.sqrt(i.evaluate(e))}],log10:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN10}],ln:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))}],log2:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.log(i.evaluate(e))/Math.LN2}],sin:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.sin(i.evaluate(e))}],cos:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.cos(i.evaluate(e))}],tan:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.tan(i.evaluate(e))}],asin:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.asin(i.evaluate(e))}],acos:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.acos(i.evaluate(e))}],atan:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.atan(i.evaluate(e))}],min:[Hr,Ns(Hr),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[Hr,Ns(Hr),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.abs(i.evaluate(e))}],round:[Hr,[Hr],(e,t)=>{let[i]=t;const r=i.evaluate(e);return r<0?-Math.round(-r):Math.round(r)}],floor:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.floor(i.evaluate(e))}],ceil:[Hr,[Hr],(e,t)=>{let[i]=t;return Math.ceil(i.evaluate(e))}],"filter-==":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;return e.properties()[i.value]===r.value}],"filter-id-==":[Yr,[en],(e,t)=>{let[i]=t;return e.id()===i.value}],"filter-type-==":[Yr,[Xr],(e,t)=>{let[i]=t;return e.geometryType()===i.value}],"filter-<":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>o}],"filter-id->":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>n}],"filter-<=":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n<=o}],"filter-id-<=":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r<=n}],"filter->=":[Yr,[Xr,en],(e,t)=>{let[i,r]=t;const n=e.properties()[i.value],o=r.value;return typeof n==typeof o&&n>=o}],"filter-id->=":[Yr,[en],(e,t)=>{let[i]=t;const r=e.id(),n=i.value;return typeof r==typeof n&&r>=n}],"filter-has":[Yr,[en],(e,t)=>{let[i]=t;return i.value in e.properties()}],"filter-has-id":[Yr,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[Yr,[on(Xr)],(e,t)=>{let[i]=t;return i.value.indexOf(e.geometryType())>=0}],"filter-id-in":[Yr,[on(en)],(e,t)=>{let[i]=t;return i.value.indexOf(e.id())>=0}],"filter-in-small":[Yr,[Xr,on(en)],(e,t)=>{let[i,r]=t;return r.value.indexOf(e.properties()[i.value])>=0}],"filter-in-large":[Yr,[Xr,on(en)],(e,t)=>{let[i,r]=t;return function(e,t,i,r){for(;i<=r;){const n=i+r>>1;if(t[n]===e)return!0;t[n]>e?r=n-1:i=n+1}return!1}(e.properties()[i.value],r.value,0,r.value.length-1)}],all:{type:Yr,overloads:[[[Yr,Yr],(e,t)=>{let[i,r]=t;return i.evaluate(e)&&r.evaluate(e)}],[Ns(Yr),(e,t)=>{for(const i of t)if(!i.evaluate(e))return!1;return!0}]]},any:{type:Yr,overloads:[[[Yr,Yr],(e,t)=>{let[i,r]=t;return i.evaluate(e)||r.evaluate(e)}],[Ns(Yr),(e,t)=>{for(const i of t)if(i.evaluate(e))return!0;return!1}]]},"!":[Yr,[Yr],(e,t)=>{let[i]=t;return!i.evaluate(e)}],"is-supported-script":[Yr,[Xr],(e,t)=>{let[i]=t;const r=e.globals&&e.globals.isSupportedScript;return!r||r(i.evaluate(e))}],upcase:[Xr,[Xr],(e,t)=>{let[i]=t;return i.evaluate(e).toUpperCase()}],downcase:[Xr,[Xr],(e,t)=>{let[i]=t;return i.evaluate(e).toLowerCase()}],concat:[Xr,Ns(en),(e,t)=>t.map((t=>yn(t.evaluate(e)))).join("")],"resolved-locale":[Xr,[tn],(e,t)=>{let[i]=t;return i.evaluate(e).resolvedLocale()}],random:[Hr,[Hr,Hr,en],(e,t)=>{const[i,r,n]=t.map((t=>t.evaluate(e)));if(i>r)return i;if(i===r)return i;let o;if("string"==typeof n)o=function(e){let t=0;if(0===e.length)return t;for(let i=0;iJSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function ia(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in Ls}function ra(e,t,i,r){const n=new qo(Ls,[],t?function(e){const t={color:Kr,string:Xr,number:Hr,enum:Xr,boolean:Yr,formatted:rn,resolvedImage:nn};return"array"===e.type?on(t[e.value]||en,e.length):t[e.type]}(t):void 0,void 0,void 0,i,r),o=n.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return o?Vs(new ta(o,t,i,r)):Us(n.errors)}class na{constructor(e,t,i){this.kind=e,this._styleExpression=t,this.isLightConstant=i,this.isStateDependent="constant"!==e&&!Vo(t.expression),this.isConfigDependent=!Uo(t.expression)}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}}class oa{constructor(e,t,i,r,n){this.kind=e,this.zoomStops=i,this._styleExpression=t,this.isStateDependent="camera"!==e&&!Vo(t.expression),this.isLightConstant=n,this.isConfigDependent=!Uo(t.expression),this.interpolationType=r}evaluateWithoutErrorHandling(e,t,i,r,n,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,i,r,n,o)}evaluate(e,t,i,r,n,o){return this._styleExpression.evaluate(e,t,i,r,n,o)}interpolationFactor(e,t,i){return this.interpolationType?ds.interpolationFactor(this.interpolationType,e,t,i):0}}function sa(e,t,i,r){if("error"===(e=ra(e,t,i,r)).result)return e;const n=e.value.expression,o=No(n);if(!o&&!Gs(t))return Us([new $r("","data expressions not supported")]);const s=jo(n,["zoom","pitch","distance-from-center"]);if(!s&&!Zs(t))return Us([new $r("","zoom expressions not supported")]);const a=jo(n,["measure-light"]);if(!a&&!qs(t))return Us([new $r("","measure-light expression not supported")]);const l=t.expression&&t.expression.relaxZoomRestriction,c=la(n);return c||s||l?c instanceof $r?Us([c]):c instanceof ds&&!$s(t)?Us([new $r("",'"interpolate" expressions cannot be used with this property')]):Vs(c?new oa(o?"camera":"composite",e.value,c.labels,c instanceof ds?c.interpolation:void 0,a):new na(o?"constant":"source",e.value,a)):Us([new $r("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression, or in the properties of atmosphere.')])}class aa{constructor(e,t){this._parameters=e,this._specification=t,Zr(this,Hs(this._parameters,this._specification))}static deserialize(e){return new aa(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function la(e){let t=null;if(e instanceof ms)t=la(e.result);else if(e instanceof fs){for(const i of e.args)if(t=la(i),t)break}else(e instanceof Wo||e instanceof ds)&&e.input instanceof Pn&&"zoom"===e.input.name&&(t=e);return t instanceof $r||e.eachChild((e=>{const i=la(e);i instanceof $r?t=i:t&&i&&t!==i&&(t=new $r("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}var ca=ua,ha=3;function ua(e,t,i){var r=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;var n=new Int32Array(this.arrayBuffer);e=n[0],this.d=(t=n[1])+2*(i=n[2]);for(var o=0;o=h[p+0]&&r>=h[p+1])?(s[d]=!0,o.push(c[d])):s[d]=!1}}},ua.prototype._forEachCell=function(e,t,i,r,n,o,s,a){for(var l=this._convertToCellCoord(e),c=this._convertToCellCoord(t),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r),d=l;d<=h;d++)for(var p=c;p<=u;p++){var f=this.d*p+d;if((!a||a(this._convertFromCellCoord(d),this._convertFromCellCoord(p),this._convertFromCellCoord(d+1),this._convertFromCellCoord(p+1)))&&n.call(this,e,t,i,r,f,o,s,a))return}},ua.prototype._convertFromCellCoord=function(e){return(e-this.padding)/this.scale},ua.prototype._convertToCellCoord=function(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))},ua.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var e=this.cells,t=ha+this.cells.length+1+1,i=0,r=0;r2&&void 0!==arguments[2]?arguments[2]:{};Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),pa[t]={klass:e,omit:i.omit||[]}}fa(Object,"Object"),da.serialize=function(e,t){const i=e.toArrayBuffer();return t&&t.add(i),{buffer:i}},da.deserialize=function(e){return new da(e.buffer)},Object.defineProperty(da,"name",{value:"Grid"}),fa(da,"Grid"),fa(Ur,"Color"),fa(Error,"Error"),fa(pn,"Formatted"),fa(dn,"FormattedSection"),fa(Xi,"AJAXError"),fa(fn,"ResolvedImage"),fa(aa,"StylePropertyFunction"),fa(ta,"StyleExpression",{omit:["_evaluator"]}),fa(oa,"ZoomDependentExpression"),fa(na,"ZoomConstantExpression"),fa(Pn,"CompoundExpression",{omit:["_evaluate"]});for(const mv in Ls)pa[Ls[mv]._classRegistryKey]||fa(Ls[mv],`Expression${mv}`);function ma(e){return e&&"undefined"!=typeof ArrayBuffer&&(e instanceof ArrayBuffer||e.constructor&&"ArrayBuffer"===e.constructor.name)}function _a(e){return self.ImageBitmap&&e instanceof ImageBitmap}function ga(e,t){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp)return e;if(ma(e)||_a(e))return t&&t.add(e),e;if(ArrayBuffer.isView(e)){const i=e;return t&&t.add(i.buffer),i}if(e instanceof ImageData)return t&&t.add(e.data.buffer),e;if(Array.isArray(e)){const i=[];for(const r of e)i.push(ga(r,t));return i}if(e instanceof Map){const t={$name:"Map"};for(const[i,r]of e.entries())t[i]=ga(r);return t}if("object"==typeof e){const i=e.constructor,r=i._classRegistryKey;if(!r)throw new Error(`can't serialize object of unregistered class ${r}`);const n=i.serialize?i.serialize(e,t):{};if(!i.serialize){for(const i in e)e.hasOwnProperty(i)&&(pa[r].omit.indexOf(i)>=0||(n[i]=ga(e[i],t)));e instanceof Error&&(n.message=e.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(n.$name=r),n}throw new Error("can't serialize object of type "+typeof e)}function ya(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||e instanceof Boolean||e instanceof Number||e instanceof String||e instanceof Date||e instanceof RegExp||ma(e)||_a(e)||ArrayBuffer.isView(e)||e instanceof ImageData)return e;if(Array.isArray(e))return e.map(ya);if("object"==typeof e){const t=e.$name||"Object";if("Map"===t){const t=new Map;for(const i of Object.keys(e))"$name"!==i&&t.set(i,ya(e[i]));return t}const{klass:i}=pa[t];if(!i)throw new Error(`can't deserialize unregistered class ${t}`);if(i.deserialize)return i.deserialize(e);const r=Object.create(i.prototype);for(const n of Object.keys(e))"$name"!==n&&(r[n]=ya(e[n]));return r}throw new Error("can't deserialize object of type "+typeof e)}const xa={"Latin-1 Supplement":e=>e>=128&&e<=255,Arabic:e=>e>=1536&&e<=1791,"Arabic Supplement":e=>e>=1872&&e<=1919,"Arabic Extended-A":e=>e>=2208&&e<=2303,"Hangul Jamo":e=>e>=4352&&e<=4607,"Unified Canadian Aboriginal Syllabics":e=>e>=5120&&e<=5759,Khmer:e=>e>=6016&&e<=6143,"Unified Canadian Aboriginal Syllabics Extended":e=>e>=6320&&e<=6399,"General Punctuation":e=>e>=8192&&e<=8303,"Letterlike Symbols":e=>e>=8448&&e<=8527,"Number Forms":e=>e>=8528&&e<=8591,"Miscellaneous Technical":e=>e>=8960&&e<=9215,"Control Pictures":e=>e>=9216&&e<=9279,"Optical Character Recognition":e=>e>=9280&&e<=9311,"Enclosed Alphanumerics":e=>e>=9312&&e<=9471,"Geometric Shapes":e=>e>=9632&&e<=9727,"Miscellaneous Symbols":e=>e>=9728&&e<=9983,"Miscellaneous Symbols and Arrows":e=>e>=11008&&e<=11263,"CJK Radicals Supplement":e=>e>=11904&&e<=12031,"Kangxi Radicals":e=>e>=12032&&e<=12255,"Ideographic Description Characters":e=>e>=12272&&e<=12287,"CJK Symbols and Punctuation":e=>e>=12288&&e<=12351,Hiragana:e=>e>=12352&&e<=12447,Katakana:e=>e>=12448&&e<=12543,Bopomofo:e=>e>=12544&&e<=12591,"Hangul Compatibility Jamo":e=>e>=12592&&e<=12687,Kanbun:e=>e>=12688&&e<=12703,"Bopomofo Extended":e=>e>=12704&&e<=12735,"CJK Strokes":e=>e>=12736&&e<=12783,"Katakana Phonetic Extensions":e=>e>=12784&&e<=12799,"Enclosed CJK Letters and Months":e=>e>=12800&&e<=13055,"CJK Compatibility":e=>e>=13056&&e<=13311,"CJK Unified Ideographs Extension A":e=>e>=13312&&e<=19903,"Yijing Hexagram Symbols":e=>e>=19904&&e<=19967,"CJK Unified Ideographs":e=>e>=19968&&e<=40959,"Yi Syllables":e=>e>=40960&&e<=42127,"Yi Radicals":e=>e>=42128&&e<=42191,"Hangul Jamo Extended-A":e=>e>=43360&&e<=43391,"Hangul Syllables":e=>e>=44032&&e<=55215,"Hangul Jamo Extended-B":e=>e>=55216&&e<=55295,"Private Use Area":e=>e>=57344&&e<=63743,"CJK Compatibility Ideographs":e=>e>=63744&&e<=64255,"Arabic Presentation Forms-A":e=>e>=64336&&e<=65023,"Vertical Forms":e=>e>=65040&&e<=65055,"CJK Compatibility Forms":e=>e>=65072&&e<=65103,"Small Form Variants":e=>e>=65104&&e<=65135,"Arabic Presentation Forms-B":e=>e>=65136&&e<=65279,"Halfwidth and Fullwidth Forms":e=>e>=65280&&e<=65519,"CJK Unified Ideographs Extension B":e=>e>=131072&&e<=173791};function va(e){for(const t of e)if(Ta(t.charCodeAt(0)))return!0;return!1}function ba(e){for(const t of e)if(!wa(t.charCodeAt(0)))return!1;return!0}function wa(e){return!(xa.Arabic(e)||xa["Arabic Supplement"](e)||xa["Arabic Extended-A"](e)||xa["Arabic Presentation Forms-A"](e)||xa["Arabic Presentation Forms-B"](e))}function Ta(e){return!(746!==e&&747!==e&&(e<4352||!(xa["Bopomofo Extended"](e)||xa.Bopomofo(e)||xa["CJK Compatibility Forms"](e)&&!(e>=65097&&e<=65103)||xa["CJK Compatibility Ideographs"](e)||xa["CJK Compatibility"](e)||xa["CJK Radicals Supplement"](e)||xa["CJK Strokes"](e)||!(!xa["CJK Symbols and Punctuation"](e)||e>=12296&&e<=12305||e>=12308&&e<=12319||12336===e)||xa["CJK Unified Ideographs Extension A"](e)||xa["CJK Unified Ideographs"](e)||xa["Enclosed CJK Letters and Months"](e)||xa["Hangul Compatibility Jamo"](e)||xa["Hangul Jamo Extended-A"](e)||xa["Hangul Jamo Extended-B"](e)||xa["Hangul Jamo"](e)||xa["Hangul Syllables"](e)||xa.Hiragana(e)||xa["Ideographic Description Characters"](e)||xa.Kanbun(e)||xa["Kangxi Radicals"](e)||xa["Katakana Phonetic Extensions"](e)||xa.Katakana(e)&&12540!==e||!(!xa["Halfwidth and Fullwidth Forms"](e)||65288===e||65289===e||65293===e||e>=65306&&e<=65310||65339===e||65341===e||65343===e||e>=65371&&e<=65503||65507===e||e>=65512&&e<=65519)||!(!xa["Small Form Variants"](e)||e>=65112&&e<=65118||e>=65123&&e<=65126)||xa["Unified Canadian Aboriginal Syllabics"](e)||xa["Unified Canadian Aboriginal Syllabics Extended"](e)||xa["Vertical Forms"](e)||xa["Yijing Hexagram Symbols"](e)||xa["Yi Syllables"](e)||xa["Yi Radicals"](e))))}function Ea(e){return!(Ta(e)||function(e){return!!(xa["Latin-1 Supplement"](e)&&(167===e||169===e||174===e||177===e||188===e||189===e||190===e||215===e||247===e)||xa["General Punctuation"](e)&&(8214===e||8224===e||8225===e||8240===e||8241===e||8251===e||8252===e||8258===e||8263===e||8264===e||8265===e||8273===e)||xa["Letterlike Symbols"](e)||xa["Number Forms"](e)||xa["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||9003===e||e>=9085&&e<=9114||e>=9150&&e<=9165||9167===e||e>=9169&&e<=9179||e>=9186&&e<=9215)||xa["Control Pictures"](e)&&9251!==e||xa["Optical Character Recognition"](e)||xa["Enclosed Alphanumerics"](e)||xa["Geometric Shapes"](e)||xa["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||xa["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||xa["CJK Symbols and Punctuation"](e)||xa.Katakana(e)||xa["Private Use Area"](e)||xa["CJK Compatibility Forms"](e)||xa["Small Form Variants"](e)||xa["Halfwidth and Fullwidth Forms"](e)||8734===e||8756===e||8757===e||e>=9984&&e<=10087||e>=10102&&e<=10131||65532===e||65533===e)}(e))}function Sa(e){return e>=1424&&e<=2303||xa["Arabic Presentation Forms-A"](e)||xa["Arabic Presentation Forms-B"](e)}function Ma(e,t){return!(!t&&Sa(e)||e>=2304&&e<=3583||e>=3840&&e<=4255||xa.Khmer(e))}function Aa(e){for(const t of e)if(Sa(t.charCodeAt(0)))return!0;return!1}const Ia="deferred",Ca="loading",Pa="loaded";let za=null,Da="unavailable",Ra=null;const La=function(e){e&&"string"==typeof e&&e.indexOf("NetworkError")>-1&&(Da="error"),za&&za(e)};function ka(){Oa.fire(new Rr("pluginStateChange",{pluginStatus:Da,pluginURL:Ra}))}const Oa=new kr,Ba=function(){return Da},Fa=function(){if(Da!==Ia||!Ra)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Da=Ca,ka(),Ra&&Ji({url:Ra},(e=>{e?La(e):(Da=Pa,ka())}))},Na={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:()=>Da===Pa||null!=Na.applyArabicShaping,isLoading:()=>Da===Ca,setState(e){Da=e.pluginStatus,Ra=e.pluginURL},isParsed:()=>null!=Na.applyArabicShaping&&null!=Na.processBidirectionalText&&null!=Na.processStyledBidirectionalText,getPluginURL:()=>Ra};class Va{constructor(e,t){this.zoom=e,t?(this.now=t.now,this.fadeDuration=t.fadeDuration,this.transition=t.transition,this.pitch=t.pitch,this.brightness=t.brightness):(this.now=0,this.fadeDuration=0,this.transition={},this.pitch=0,this.brightness=0)}isSupportedScript(e){return function(e,t){for(const i of e)if(!Ma(i.charCodeAt(0),t))return!1;return!0}(e,Na.isLoaded())}}class Ua{constructor(e,t,i,r){this.property=e,this.value=t,this.expression=function(e,t,i,r){if(Ws(e))return new aa(e,t);if(ia(e)||Array.isArray(e)&&e.length>0){const n=sa(e,t,i,r);if("error"===n.result)throw new Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return n.value}{let i=e;return"string"==typeof e&&"color"===t.type&&(i=Ur.parse(e)),{kind:"constant",isConfigDependent:!1,evaluate:()=>i}}}(void 0===t?e.specification.default:t,e.specification,i,r)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(e,t,i){return this.property.possiblyEvaluate(this,e,t,i)}}class ja{constructor(e,t,i){this.property=e,this.value=new Ua(e,void 0,t,i)}transitioned(e,t){return new qa(this.property,this.value,t,Jt({},e.transition,this.transition),e.now)}untransitioned(){return new qa(this.property,this.value,null,{},0)}}class Ga{constructor(e,t,i){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues),this._scope=t,this._options=i,this.isConfigDependent=!1}getValue(e){return ci(this._values[e].value.value)}setValue(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new ja(this._values[e].property,this._scope,this._options)),this._values[e].value=new Ua(this._values[e].property,null===t?void 0:ci(t),this._scope,this._options),this.isConfigDependent=this.isConfigDependent||this._values[e].value.expression.isConfigDependent}setTransitionOrValue(e,t){t&&(this._options=t);const i=this._properties.properties;if(e)for(const r in e){const t=e[r];if(si(r,"-transition")){const e=r.slice(0,-11);i[e]&&this.setTransition(e,t)}else i[r]&&this.setValue(r,t)}}getTransition(e){return ci(this._values[e].transition)}setTransition(e,t){this._values.hasOwnProperty(e)||(this._values[e]=new ja(this._values[e].property)),this._values[e].transition=ci(t)||void 0}serialize(){const e={};for(const t of Object.keys(this._values)){const i=this.getValue(t);void 0!==i&&(e[t]=i);const r=this.getTransition(t);void 0!==r&&(e[`${t}-transition`]=r)}return e}transitioned(e,t){const i=new Za(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(e,t._values[r]);return i}untransitioned(){const e=new Za(this._properties);for(const t of Object.keys(this._values))e._values[t]=this._values[t].untransitioned();return e}}class qa{constructor(e,t,i,r,n){const o=r.delay||0,s=r.duration||0;n=n||0,this.property=e,this.value=t,this.begin=n+o,this.end=this.begin+s,e.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(e,t,i){const r=e.now||0,n=this.value.possiblyEvaluate(e,t,i),o=this.prior;if(o){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r":1,">=":1,"<":1,"<=":1,"in":1,"!in":1,"all":1,"any":1,"none":1,"has":1,"!has":1}},"geometry_type":{"type":"enum","values":{"Point":1,"LineString":1,"Polygon":1}},"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":1,"exponential":1,"interval":1,"categorical":1},"default":"exponential"},"colorSpace":{"type":"enum","values":{"rgb":1,"lab":1,"hcl":1},"default":"rgb"},"default":{"type":"*","required":false}},"function_stop":{"type":"array","minimum":0,"maximum":24,"value":["number","color"],"length":2},"expression":{"type":"array","value":"*","minimum":1},"fog":{"range":{"type":"array","default":[0.5,10],"minimum":-20,"maximum":20,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"high-color":{"type":"color","property-type":"data-constant","default":"#245cdf","expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"space-color":{"type":"color","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"horizon-blend":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],4,0.2,7,0.1],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"star-intensity":{"type":"number","property-type":"data-constant","default":["interpolate",["linear"],["zoom"],5,0.35,6,0],"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true},"transition":true},"vertical-range":{"type":"array","default":[0,0],"minimum":0,"length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"],"relaxZoomRestriction":true}}},"camera":{"camera-projection":{"type":"enum","values":{"perspective":1,"orthographic":1},"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"default":"perspective","property-type":"data-constant"}},"light":{"anchor":{"type":"enum","default":"viewport","values":{"map":1,"viewport":1},"property-type":"data-constant","expression":{"parameters":["zoom"]}},"position":{"type":"array","default":[1.15,210,30],"length":3,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"color":{"type":"color","property-type":"data-constant","default":"#ffffff","expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"intensity":{"type":"number","property-type":"data-constant","default":0.5,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"projection":{"name":{"type":"enum","values":{"albers":1,"equalEarth":1,"equirectangular":1,"lambertConformalConic":1,"mercator":1,"naturalEarth":1,"winkelTripel":1,"globe":1},"default":"mercator","required":true},"center":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-180,-90],"maximum":[180,90]},"parallels":{"type":"array","length":2,"value":"number","property-type":"data-constant","minimum":[-90,-90],"maximum":[90,90]}},"terrain":{"source":{"type":"string","required":true},"exaggeration":{"type":"number","property-type":"data-constant","default":1,"minimum":0,"maximum":1000,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true}},"paint":["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky","paint_model"],"paint_fill":{"fill-antialias":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-outline-color":{"type":"color","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"fill-extrusion-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{"type":"boolean","default":true,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant","type":"number","private":true,"default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant","type":"number","private":true,"default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-wall-radius":{"property-type":"data-constant","type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-radius":{"property-type":"data-constant","type":"number","default":3,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"transition":true},"fill-extrusion-ambient-occlusion-ground-attenuation":{"property-type":"data-constant","type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-flood-light-color":{"property-type":"data-constant","type":"color","default":"#ffffff","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-intensity":{"property-type":"data-constant","type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]}},"fill-extrusion-flood-light-wall-radius":{"property-type":"data-driven","type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-radius":{"property-type":"data-driven","type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["feature","feature-state"]}},"fill-extrusion-flood-light-ground-attenuation":{"property-type":"data-constant","type":"number","default":0.69,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-vertical-scale":{"property-type":"data-constant","type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"fill-extrusion-rounded-roof":{"property-type":"data-constant","type":"boolean","default":true,"expression":{"parameters":["zoom"]}},"fill-extrusion-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"fill-extrusion-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_line":{"line-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"line-width":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-gap-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-offset":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"line-dasharray":{"type":"array","value":"number","minimum":0,"expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{"type":"color","expression":{"interpolated":true,"parameters":["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{"type":"array","value":"number","length":2,"default":[0,0],"minimum":[0,0],"maximum":[1,1],"property-type":"constant"},"line-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"line-border-width":{"type":"number","private":true,"default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-border-color":{"type":"color","private":true,"default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state"]},"property-type":"data-driven"}},"paint_circle":{"circle-radius":{"type":"number","default":5,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-blur":{"type":"number","default":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-stroke-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"circle-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_heatmap":{"heatmap-radius":{"type":"number","default":30,"minimum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-weight":{"type":"number","default":1,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"heatmap-intensity":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"heatmap-color":{"type":"color","default":["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",0.1,"royalblue",0.3,"cyan",0.5,"lime",0.7,"yellow",1,"red"],"expression":{"interpolated":true,"parameters":["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_symbol":{"icon-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"text-emissive-strength":{"type":"number","default":1,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-driven"},"icon-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"icon-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"icon-image-cross-fade":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"transition":true},"text-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-color":{"type":"color","default":"#000000","transition":true,"overridable":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-color":{"type":"color","default":"rgba(0, 0, 0, 0)","transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-width":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-halo-blur":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","feature","feature-state","measure-light"]},"property-type":"data-driven"},"text-translate":{"type":"array","value":"number","length":2,"default":[0,0],"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"map","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"icon-color-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"icon-color-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"}},"paint_raster":{"raster-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-color":{"type":"color","expression":{"interpolated":true,"parameters":["raster-value"]},"property-type":"color-ramp"},"raster-color-mix":{"type":"array","default":[0.2126,0.7152,0.0722,0],"length":4,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-color-range":{"type":"array","length":2,"value":"number","property-type":"data-constant","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]}},"raster-hue-rotate":{"type":"number","default":0,"period":360,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{"type":"number","default":0,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-saturation":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-contrast":{"type":"number","default":0,"minimum":-1,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-resampling":{"type":"enum","values":{"linear":1,"nearest":1},"default":"linear","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{"type":"number","default":300,"minimum":0,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"raster-array-band":{"type":"string","required":false,"property-type":"data-constant"},"raster-elevation":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_raster-particle":{"raster-particle-array-band":{"type":"string","required":false,"property-type":"data-constant"},"raster-particle-count":{"type":"number","default":512,"minimum":1,"property-type":"data-constant"},"raster-particle-color":{"type":"color","expression":{"interpolated":true,"parameters":["raster-particle-speed"]},"property-type":"color-ramp"},"raster-particle-max-speed":{"type":"number","default":1,"minimum":1,"property-type":"data-constant"},"raster-particle-speed-factor":{"type":"number","default":0.2,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-particle-fade-opacity-factor":{"type":"number","default":0.98,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"raster-particle-reset-rate-factor":{"type":"number","default":0.8,"minimum":0,"maximum":1,"property-type":"data-constant"}},"paint_hillshade":{"hillshade-illumination-direction":{"type":"number","default":335,"minimum":0,"maximum":359,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{"type":"enum","values":{"map":1,"viewport":1},"default":"viewport","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{"type":"number","default":0.5,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-highlight-color":{"type":"color","default":"#FFFFFF","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-accent-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"},"hillshade-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_background":{"background-color":{"type":"color","default":"#000000","transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-pattern":{"type":"resolvedImage","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"background-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"background-emissive-strength":{"type":"number","default":0,"minimum":0,"transition":true,"expression":{"interpolated":true,"parameters":["zoom","measure-light"]},"property-type":"data-constant"}},"paint_sky":{"sky-type":{"type":"enum","values":{"gradient":1,"atmosphere":1},"default":"atmosphere","expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{"type":"array","value":"number","length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{"type":"number","default":10,"minimum":0,"maximum":100,"property-type":"data-constant"},"sky-gradient-center":{"type":"array","value":"number","default":[0,0],"length":2,"minimum":[0,0],"maximum":[360,180],"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{"type":"number","default":90,"minimum":0,"maximum":180,"expression":{"parameters":["zoom"]},"property-type":"data-constant"},"sky-gradient":{"type":"color","default":["interpolate",["linear"],["sky-radial-progress"],0.8,"#87ceeb",1,"white"],"expression":{"interpolated":true,"parameters":["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{"type":"color","default":"white","property-type":"data-constant"},"sky-atmosphere-color":{"type":"color","default":"white","property-type":"data-constant"},"sky-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"}},"paint_model":{"model-opacity":{"type":"number","default":1,"minimum":0,"maximum":1,"transition":true,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant"},"model-rotation":{"type":"array","value":"number","length":3,"default":[0,0,0],"period":360,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-scale":{"type":"array","value":"number","length":3,"default":[1,1,1],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-translation":{"type":"array","value":"number","length":3,"default":[0,0,0],"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","zoom"]},"transition":true},"model-color":{"type":"color","default":"#ffffff","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light","zoom"]},"transition":true},"model-color-mix-intensity":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-type":{"type":"enum","values":{"common-3d":1,"location-indicator":1},"default":"common-3d","property-type":"data-constant"},"model-cast-shadows":{"type":"boolean","default":true,"expression":{},"property-type":"data-constant"},"model-receive-shadows":{"type":"boolean","default":true,"expression":{},"property-type":"data-constant"},"model-ambient-occlusion-intensity":{"type":"number","default":1,"minimum":0,"maximum":1,"expression":{"interpolated":true,"parameters":["zoom"]},"property-type":"data-constant","transition":true},"model-emissive-strength":{"type":"number","property-type":"data-driven","default":0,"minimum":0,"maximum":5,"expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-roughness":{"type":"number","default":1,"minimum":0,"maximum":1,"property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state"]},"transition":true},"model-height-based-emissive-strength-multiplier":{"type":"array","default":[1,1,1,1,0],"length":5,"value":"number","property-type":"data-driven","expression":{"interpolated":true,"parameters":["feature","feature-state","measure-light"]},"transition":true},"model-cutoff-fade-range":{"type":"number","default":0,"minimum":0,"maximum":1,"expression":{},"property-type":"data-constant"},"model-front-cutoff":{"type":"array","private":true,"value":"number","property-type":"data-constant","expression":{"interpolated":true,"parameters":["zoom"]},"length":3,"default":[0,0,1],"minimum":[0,0,0],"maximum":[1,1,1]}},"transition":{"duration":{"type":"number","default":300,"minimum":0},"delay":{"type":"number","default":0,"minimum":0}},"property-type":{"data-driven":{"type":"property-type"},"color-ramp":{"type":"property-type"},"data-constant":{"type":"property-type"},"constant":{"type":"property-type"}},"promoteId":{"*":{"type":"string"}}}');function il(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!il(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}function rl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fill";if(null==e)return{filter:()=>!0,needGeometry:!1,needFeature:!1};il(e)||(e=hl(e));const i=e;let r=!0;try{r=function(e){if(!sl(e))return e;let t=el(e);return ol(t),t=nl(t),t}(i)}catch(e){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(i,null,2)}\n `)}const n=tl[`filter_${t}`],o=ra(r,n);let s=null;if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));s=(e,t,i)=>o.value.evaluate(e,t,{},i);let a=null,l=null;if(r!==i){const e=ra(i,n);if("error"===e.result)throw new Error(e.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a=(t,i,r,n,o)=>e.value.evaluate(t,i,{},r,void 0,void 0,n,o),l=!No(e.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:cl(r),needFeature:!!l}}function nl(e){if(!Array.isArray(e))return e;const t=function(e){if(al.has(e[0]))for(let t=1;tnl(e)))}function ol(e){let t=!1;const i=[];if("case"===e[0]){for(let r=1;r",">=","<","<=","to-boolean"]);function ll(e,t){return et?1:0}function cl(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t"===t||"<="===t||">="===t?ul(e[1],e[2],t):"any"===t?(i=e.slice(1),["any"].concat(i.map(hl))):"all"===t?["all"].concat(e.slice(1).map(hl)):"none"===t?["all"].concat(e.slice(1).map(hl).map(fl)):"in"===t?dl(e[1],e.slice(2)):"!in"===t?fl(dl(e[1],e.slice(2))):"has"===t?pl(e[1]):"!has"!==t||fl(pl(e[1]));var i}function ul(e,t,i){switch(e){case"$type":return[`filter-type-${i}`,t];case"$id":return[`filter-id-${i}`,t];default:return[`filter-${i}`,e,t]}}function dl(e,t){if(0===t.length)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(ll)]]:["filter-in-small",e,["literal",t]]}}function pl(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function fl(e){return["!",e]}const ml="\x1f";function _l(e,t){return t?`${e}${ml}${t}`:e}const gl="-transition",yl=new Set(["fill","line","background","hillshade","raster"]);class xl extends kr{constructor(e,t,i,r){if(super(),this.id=e.id,this.fqid=_l(this.id,i),this.type=e.type,this.scope=i,this.options=r,this._featureFilter={filter:()=>!0,needGeometry:!1,needFeature:!1},this._filterCompiled=!1,this.isConfigDependent=!1,"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&"sky"!==e.type&&"slot"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),e.slot&&(this.slot=e.slot),t.layout&&(this._unevaluatedLayout=new $a(t.layout,this.scope,r),this.isConfigDependent=this.isConfigDependent||this._unevaluatedLayout.isConfigDependent),t.paint)){this._transitionablePaint=new Ga(t.paint,this.scope,r);for(const t in e.paint)this.setPaintProperty(t,e.paint[t]);for(const t in e.layout)this.setLayoutProperty(t,e.layout[t]);this.isConfigDependent=this.isConfigDependent||this._transitionablePaint.isConfigDependent,this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Qa(t.paint)}}onAdd(e){}onRemove(e){}isDraped(e){return yl.has(this.type)}getLayoutProperty(e){return"visibility"===e?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,t){if("custom"===this.type&&"visibility"===e)return void(this.visibility=t);const i=this._unevaluatedLayout;i._properties.properties[e]&&(i.setValue(e,t),this.isConfigDependent=this.isConfigDependent||i.isConfigDependent,"visibility"===e&&this.possiblyEvaluateVisibility())}possiblyEvaluateVisibility(){this.visibility=this._unevaluatedLayout._values.visibility.possiblyEvaluate({zoom:0})}getPaintProperty(e){return si(e,gl)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,t){const i=this._transitionablePaint,r=i._properties.properties;if(si(e,gl)){const n=e.slice(0,-11);return r[n]&&i.setTransition(n,t||void 0),!1}if(!r[e])return!1;const n=i._values[e],o=n.value.isDataDriven(),s=n.value;i.setValue(e,t),this.isConfigDependent=this.isConfigDependent||i.isConfigDependent,this._handleSpecialPaintPropertyUpdate(e);const a=i._values[e].value,l=a.isDataDriven(),c=si(e,"pattern")||"line-dasharray"===e;return l||o||c||this._handleOverridablePaintPropertyUpdate(e,s,a)}_handleSpecialPaintPropertyUpdate(e){}getProgramIds(){return null}getDefaultProgramParams(e,t){return null}_handleOverridablePaintPropertyUpdate(e,t,i){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||"none"===this.visibility}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,t)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,t)}serialize(){return li({id:this.id,type:this.type,slot:this.slot,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()},((e,t)=>!(void 0===e||"layout"===t&&!Object.keys(e).length||"paint"===t&&!Object.keys(e).length)))}is3D(){return!1}isSky(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}hasShadowPass(){return!1}canCastShadows(){return!1}hasLightBeamPass(){return!1}cutoffRange(){return 0}tileCoverLift(){return 0}resize(){}isStateDependent(){for(const e in this.paint._values){const t=this.paint.get(e);if(t instanceof Wa&&Gs(t.property.specification)&&("source"===t.value.kind||"composite"===t.value.kind)&&t.value.isStateDependent)return!0}return!1}compileFilter(){this._filterCompiled||(this._featureFilter=rl(this.filter),this._filterCompiled=!0)}invalidateCompiledFilter(){this._filterCompiled=!1}dynamicFilter(){return this._featureFilter.dynamicFilter}dynamicFilterNeedsFeature(){return this._featureFilter.needFeature}getLayerRenderingStats(){return this._stats}resetLayerRenderingStats(e){this._stats&&("shadow"===e.renderPass?this._stats.numRenderedVerticesInShadowPass=0:this._stats.numRenderedVerticesInTransparentPass=0)}queryRadius(e){}queryIntersectsFeature(e,t,i,r,n,o,s,a,l){}queryIntersectsMatchingFeature(e,t,i,r){}}const vl={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class bl{constructor(e,t){this._structArray=e,this._pos1=t*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class wl{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,t){return e._trim(),t&&(e.isTransferred=!0,t.add(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){const t=Object.create(this.prototype);return t.arrayBuffer=e.arrayBuffer,t.length=e.length,t.capacity=e.arrayBuffer.byteLength/t.bytesPerElement,t._refreshViews(),t}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const t=this.uint8;this._refreshViews(),t&&this.uint8.set(t)}}_refreshViews(){throw new Error("StructArray#_refreshViews() must be implemented by each concrete StructArray layout")}emplace(){throw new Error("StructArray#emplace() must be implemented by each concrete StructArray layout")}emplaceBack(){throw new Error("StructArray#emplaceBack() must be implemented by each concrete StructArray layout")}destroy(){this.int8=this.uint8=this.int16=this.uint16=this.int32=this.uint32=this.float32=null,this.arrayBuffer=null}}function Tl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=0,r=0;return{members:e.map((e=>{const n=vl[e.type].BYTES_PER_ELEMENT,o=i=El(i,Math.max(t,n)),s=e.components||1;return r=Math.max(r,n),i+=n*s,{name:e.name,type:e.type,components:s,offset:o}})),size:El(i,Math.max(r,t)),alignment:t}}function El(e,t){return Math.ceil(e/t)*t}class Sl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.int16[r+0]=t,this.int16[r+1]=i,e}}Sl.prototype.bytesPerElement=4,fa(Sl,"StructArrayLayout2i4");class Ml extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.int16[n+0]=t,this.int16[n+1]=i,this.int16[n+2]=r,e}}Ml.prototype.bytesPerElement=6,fa(Ml,"StructArrayLayout3i6");class Al extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.int16[o+0]=t,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,e}}Al.prototype.bytesPerElement=8,fa(Al,"StructArrayLayout4i8");class Il extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=5*e;return this.int16[s+0]=t,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=o,e}}Il.prototype.bytesPerElement=10,fa(Il,"StructArrayLayout5i10");class Cl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=6*e,c=12*e,h=3*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.uint8[c+4]=r,this.uint8[c+5]=n,this.uint8[c+6]=o,this.uint8[c+7]=s,this.float32[h+2]=a,e}}Cl.prototype.bytesPerElement=12,fa(Cl,"StructArrayLayout2i4ub1f12");class Pl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.float32[o+0]=t,this.float32[o+1]=i,this.float32[o+2]=r,this.float32[o+3]=n,e}}Pl.prototype.bytesPerElement=16,fa(Pl,"StructArrayLayout4f16");class zl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.float32[r+0]=t,this.float32[r+1]=i,e}}zl.prototype.bytesPerElement=8,fa(zl,"StructArrayLayout2f8");class Dl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=6*e,a=3*e;return this.uint16[s+0]=t,this.uint16[s+1]=i,this.uint16[s+2]=r,this.uint16[s+3]=n,this.float32[a+2]=o,e}}Dl.prototype.bytesPerElement=12,fa(Dl,"StructArrayLayout4ui1f12");class Rl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=4*e;return this.uint16[o+0]=t,this.uint16[o+1]=i,this.uint16[o+2]=r,this.uint16[o+3]=n,e}}Rl.prototype.bytesPerElement=8,fa(Rl,"StructArrayLayout4ui8");class Ll extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=6*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.int16[a+3]=n,this.int16[a+4]=o,this.int16[a+5]=s,e}}Ll.prototype.bytesPerElement=12,fa(Ll,"StructArrayLayout6i12");class kl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u){const d=this.length;return this.resize(d+1),this.emplace(d,e,t,i,r,n,o,s,a,l,c,h,u)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=12*e;return this.int16[p+0]=t,this.int16[p+1]=i,this.int16[p+2]=r,this.int16[p+3]=n,this.uint16[p+4]=o,this.uint16[p+5]=s,this.uint16[p+6]=a,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=h,this.int16[p+10]=u,this.int16[p+11]=d,e}}kl.prototype.bytesPerElement=24,fa(kl,"StructArrayLayout4i4ui4i24");class Ol extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o){const s=this.length;return this.resize(s+1),this.emplace(s,e,t,i,r,n,o)}emplace(e,t,i,r,n,o,s){const a=10*e,l=5*e;return this.int16[a+0]=t,this.int16[a+1]=i,this.int16[a+2]=r,this.float32[l+2]=n,this.float32[l+3]=o,this.float32[l+4]=s,e}}Ol.prototype.bytesPerElement=20,fa(Ol,"StructArrayLayout3i3f20");class Bl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint32[1*e+0]=t,e}}Bl.prototype.bytesPerElement=4,fa(Bl,"StructArrayLayout1ul4");class Fl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t){const i=this.length;return this.resize(i+1),this.emplace(i,e,t)}emplace(e,t,i){const r=2*e;return this.uint16[r+0]=t,this.uint16[r+1]=i,e}}Fl.prototype.bytesPerElement=4,fa(Fl,"StructArrayLayout2ui4");class Nl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=this.length;return this.resize(p+1),this.emplace(p,e,t,i,r,n,o,s,a,l,c,h,u,d)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p){const f=20*e,m=10*e;return this.int16[f+0]=t,this.int16[f+1]=i,this.int16[f+2]=r,this.int16[f+3]=n,this.int16[f+4]=o,this.float32[m+3]=s,this.float32[m+4]=a,this.float32[m+5]=l,this.float32[m+6]=c,this.int16[f+14]=h,this.uint32[m+8]=u,this.uint16[f+18]=d,this.uint16[f+19]=p,e}}Nl.prototype.bytesPerElement=40,fa(Nl,"StructArrayLayout5i4f1i1ul2ui40");class Vl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=8*e;return this.int16[l+0]=t,this.int16[l+1]=i,this.int16[l+2]=r,this.int16[l+4]=n,this.int16[l+5]=o,this.int16[l+6]=s,this.int16[l+7]=a,e}}Vl.prototype.bytesPerElement=16,fa(Vl,"StructArrayLayout3i2i2i16");class Ul extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=4*e,a=8*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.int16[a+6]=n,this.int16[a+7]=o,e}}Ul.prototype.bytesPerElement=16,fa(Ul,"StructArrayLayout2f1f2i16");class jl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=12*e,s=3*e;return this.uint8[o+0]=t,this.uint8[o+1]=i,this.float32[s+1]=r,this.float32[s+2]=n,e}}jl.prototype.bytesPerElement=12,fa(jl,"StructArrayLayout2ub2f12");class Gl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.uint16[n+0]=t,this.uint16[n+1]=i,this.uint16[n+2]=r,e}}Gl.prototype.bytesPerElement=6,fa(Gl,"StructArrayLayout3ui6");class ql extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v){const b=this.length;return this.resize(b+1),this.emplace(b,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b){const w=30*e,T=15*e,E=60*e;return this.int16[w+0]=t,this.int16[w+1]=i,this.int16[w+2]=r,this.float32[T+2]=n,this.float32[T+3]=o,this.uint16[w+8]=s,this.uint16[w+9]=a,this.uint32[T+5]=l,this.uint32[T+6]=c,this.uint32[T+7]=h,this.uint16[w+16]=u,this.uint16[w+17]=d,this.uint16[w+18]=p,this.float32[T+10]=f,this.float32[T+11]=m,this.uint8[E+48]=_,this.uint8[E+49]=g,this.uint8[E+50]=y,this.uint32[T+13]=x,this.int16[w+28]=v,this.uint8[E+58]=b,e}}ql.prototype.bytesPerElement=60,fa(ql,"StructArrayLayout3i2f2ui3ul3ui2f3ub1ul1i1ub60");class Zl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z){const D=this.length;return this.resize(D+1),this.emplace(D,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M,A,I,C,P,z,D){const R=20*e,L=40*e,k=80*e;return this.float32[R+0]=t,this.float32[R+1]=i,this.int16[L+4]=r,this.int16[L+5]=n,this.int16[L+6]=o,this.int16[L+7]=s,this.int16[L+8]=a,this.int16[L+9]=l,this.int16[L+10]=c,this.int16[L+11]=h,this.int16[L+12]=u,this.uint16[L+13]=d,this.uint16[L+14]=p,this.uint16[L+15]=f,this.uint16[L+16]=m,this.uint16[L+17]=_,this.uint16[L+18]=g,this.uint16[L+19]=y,this.uint16[L+20]=x,this.uint16[L+21]=v,this.uint16[L+22]=b,this.uint16[L+23]=w,this.uint16[L+24]=T,this.uint16[L+25]=E,this.uint16[L+26]=S,this.uint16[L+27]=M,this.uint32[R+14]=A,this.float32[R+15]=I,this.float32[R+16]=C,this.float32[R+17]=P,this.float32[R+18]=z,this.uint8[k+76]=D,e}}Zl.prototype.bytesPerElement=80,fa(Zl,"StructArrayLayout2f9i15ui1ul4f1ub80");class $l extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.float32[1*e+0]=t,e}}$l.prototype.bytesPerElement=4,fa($l,"StructArrayLayout1f4");class Wl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,t,i,r,n)}emplace(e,t,i,r,n,o){const s=5*e;return this.float32[s+0]=t,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,this.float32[s+4]=o,e}}Wl.prototype.bytesPerElement=20,fa(Wl,"StructArrayLayout5f20");class Ql extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=7*e;return this.float32[l+0]=t,this.float32[l+1]=i,this.float32[l+2]=r,this.float32[l+3]=n,this.float32[l+4]=o,this.float32[l+5]=s,this.float32[l+6]=a,e}}Ql.prototype.bytesPerElement=28,fa(Ql,"StructArrayLayout7f28");class Hl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,t,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,t,i,r)}emplace(e,t,i,r,n){const o=6*e;return this.uint32[3*e+0]=t,this.uint16[o+2]=i,this.uint16[o+3]=r,this.uint16[o+4]=n,e}}Hl.prototype.bytesPerElement=12,fa(Hl,"StructArrayLayout1ul3ui12");class Xl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint16[1*e+0]=t,e}}Xl.prototype.bytesPerElement=2,fa(Xl,"StructArrayLayout1ui2");class Yl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i){const r=this.length;return this.resize(r+1),this.emplace(r,e,t,i)}emplace(e,t,i,r){const n=3*e;return this.float32[n+0]=t,this.float32[n+1]=i,this.float32[n+2]=r,e}}Yl.prototype.bytesPerElement=12,fa(Yl,"StructArrayLayout3f12");class Kl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=this.length;return this.resize(_+1),this.emplace(_,e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m)}emplace(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_){const g=16*e;return this.float32[g+0]=t,this.float32[g+1]=i,this.float32[g+2]=r,this.float32[g+3]=n,this.float32[g+4]=o,this.float32[g+5]=s,this.float32[g+6]=a,this.float32[g+7]=l,this.float32[g+8]=c,this.float32[g+9]=h,this.float32[g+10]=u,this.float32[g+11]=d,this.float32[g+12]=p,this.float32[g+13]=f,this.float32[g+14]=m,this.float32[g+15]=_,e}}Kl.prototype.bytesPerElement=64,fa(Kl,"StructArrayLayout16f64");class Jl extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,t,i,r,n,o,s){const a=this.length;return this.resize(a+1),this.emplace(a,e,t,i,r,n,o,s)}emplace(e,t,i,r,n,o,s,a){const l=10*e,c=5*e;return this.uint16[l+0]=t,this.uint16[l+1]=i,this.uint16[l+2]=r,this.uint16[l+3]=n,this.float32[c+2]=o,this.float32[c+3]=s,this.float32[c+4]=a,e}}Jl.prototype.bytesPerElement=20,fa(Jl,"StructArrayLayout4ui3f20");class ec extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.int16[1*e+0]=t,e}}ec.prototype.bytesPerElement=2,fa(ec,"StructArrayLayout1i2");class tc extends wl{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer)}emplaceBack(e){const t=this.length;return this.resize(t+1),this.emplace(t,e)}emplace(e,t){return this.uint8[1*e+0]=t,e}}tc.prototype.bytesPerElement=1,fa(tc,"StructArrayLayout1ub1");class ic extends bl{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.int16[this._pos2+3]}get tileAnchorY(){return this._structArray.int16[this._pos2+4]}get x1(){return this._structArray.float32[this._pos4+3]}get y1(){return this._structArray.float32[this._pos4+4]}get x2(){return this._structArray.float32[this._pos4+5]}get y2(){return this._structArray.float32[this._pos4+6]}get padding(){return this._structArray.int16[this._pos2+14]}get featureIndex(){return this._structArray.uint32[this._pos4+8]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+18]}get bucketIndex(){return this._structArray.uint16[this._pos2+19]}}ic.prototype.size=40;class rc extends Nl{get(e){return new ic(this,e)}}fa(rc,"CollisionBoxArray");class nc extends bl{get projectedAnchorX(){return this._structArray.int16[this._pos2+0]}get projectedAnchorY(){return this._structArray.int16[this._pos2+1]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+2]}get tileAnchorX(){return this._structArray.float32[this._pos4+2]}get tileAnchorY(){return this._structArray.float32[this._pos4+3]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+8]}get numGlyphs(){return this._structArray.uint16[this._pos2+9]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+5]}get lineStartIndex(){return this._structArray.uint32[this._pos4+6]}get lineLength(){return this._structArray.uint32[this._pos4+7]}get segment(){return this._structArray.uint16[this._pos2+16]}get lowerSize(){return this._structArray.uint16[this._pos2+17]}get upperSize(){return this._structArray.uint16[this._pos2+18]}get lineOffsetX(){return this._structArray.float32[this._pos4+10]}get lineOffsetY(){return this._structArray.float32[this._pos4+11]}get writingMode(){return this._structArray.uint8[this._pos1+48]}get placedOrientation(){return this._structArray.uint8[this._pos1+49]}set placedOrientation(e){this._structArray.uint8[this._pos1+49]=e}get hidden(){return this._structArray.uint8[this._pos1+50]}set hidden(e){this._structArray.uint8[this._pos1+50]=e}get crossTileID(){return this._structArray.uint32[this._pos4+13]}set crossTileID(e){this._structArray.uint32[this._pos4+13]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+28]}get flipState(){return this._structArray.uint8[this._pos1+58]}set flipState(e){this._structArray.uint8[this._pos1+58]=e}}nc.prototype.size=60;class oc extends ql{get(e){return new nc(this,e)}}fa(oc,"PlacedSymbolArray");class sc extends bl{get tileAnchorX(){return this._structArray.float32[this._pos4+0]}get tileAnchorY(){return this._structArray.float32[this._pos4+1]}get projectedAnchorX(){return this._structArray.int16[this._pos2+4]}get projectedAnchorY(){return this._structArray.int16[this._pos2+5]}get projectedAnchorZ(){return this._structArray.int16[this._pos2+6]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+7]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+8]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+9]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+10]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+11]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+12]}get key(){return this._structArray.uint16[this._pos2+13]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+14]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+15]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+16]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+17]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+18]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+19]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+20]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+21]}get featureIndex(){return this._structArray.uint16[this._pos2+22]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+23]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+24]}get numIconVertices(){return this._structArray.uint16[this._pos2+25]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+26]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+27]}get crossTileID(){return this._structArray.uint32[this._pos4+14]}set crossTileID(e){this._structArray.uint32[this._pos4+14]=e}get textOffset0(){return this._structArray.float32[this._pos4+15]}get textOffset1(){return this._structArray.float32[this._pos4+16]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+17]}get zOffset(){return this._structArray.float32[this._pos4+18]}set zOffset(e){this._structArray.float32[this._pos4+18]=e}get hasIconTextFit(){return this._structArray.uint8[this._pos1+76]}}sc.prototype.size=80;class ac extends Zl{get(e){return new sc(this,e)}}fa(ac,"SymbolInstanceArray");class lc extends $l{getoffsetX(e){return this.float32[1*e+0]}}fa(lc,"GlyphOffsetArray");class cc extends Sl{getx(e){return this.int16[2*e+0]}gety(e){return this.int16[2*e+1]}}fa(cc,"SymbolLineVertexArray");class hc extends bl{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]}get layoutVertexArrayOffset(){return this._structArray.uint16[this._pos2+4]}}hc.prototype.size=12;class uc extends Hl{get(e){return new hc(this,e)}}fa(uc,"FeatureIndexArray");class dc extends Fl{geta_centroid_pos0(e){return this.uint16[2*e+0]}geta_centroid_pos1(e){return this.uint16[2*e+1]}}fa(dc,"FillExtrusionCentroidArray");const pc=Tl([{name:"a_pos",components:2,type:"Int16"}],4),fc=Tl([{name:"a_pos_3",components:3,type:"Int16"},{name:"a_pos_normal_3",components:3,type:"Int16"}]);class mc{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.segments=e}_prepareSegment(e,t,i,r){let n=this.segments[this.segments.length-1];return e>mc.MAX_VERTEX_ARRAY_LENGTH&&ui(`Max vertices per segment is ${mc.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!n||n.vertexLength+e>mc.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:t,primitiveOffset:i,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}prepareSegment(e,t,i,r){return this._prepareSegment(e,t.length,i.length,r)}get(){return this.segments}destroy(){for(const e of this.segments)for(const t in e.vaos)e.vaos[t].destroy()}static simpleSegment(e,t,i,r){return new mc([{vertexOffset:e,primitiveOffset:t,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function _c(e,t){return 256*(e=Ht(Math.floor(e),0,255))+Ht(Math.floor(t),0,255)}mc.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,fa(mc,"SegmentVector");const gc=Tl([{name:"a_pattern",components:4,type:"Uint16"},{name:"a_pixel_ratio",components:1,type:"Float32"}]),yc=Tl([{name:"a_dash",components:4,type:"Uint16"}]);class xc{constructor(){this.ids=[],this.uniqueIds=[],this.positions=[],this.indexed=!1}add(e,t,i,r){this.ids.push(vc(e)),this.positions.push(t,i,r)}eachPosition(e,t){const i=vc(e);let r=0,n=this.ids.length-1;for(;r>1;this.ids[e]>=i?n=e:r=e+1}for(;this.ids[r]===i;)t(this.positions[3*r],this.positions[3*r+1],this.positions[3*r+2]),r++}static serialize(e,t){const i=new Float64Array(e.ids),r=new Uint32Array(e.positions);return bc(i,r,0,i.length-1),t&&(t.add(i.buffer),t.add(r.buffer)),{ids:i,positions:r}}static deserialize(e){const t=new xc;let i;t.ids=e.ids,t.positions=e.positions;for(const r of t.ids)r!==i&&t.uniqueIds.push(r),i=r;return t.indexed=!0,t}}function vc(e){const t=+e;return!isNaN(t)&&Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER?t:Pr(String(e))}function bc(e,t,i,r){for(;i>1];let o=i-1,s=r+1;for(;;){do{o++}while(e[o]n);if(o>=s)break;wc(e,o,s),wc(t,3*o,3*s),wc(t,3*o+1,3*s+1),wc(t,3*o+2,3*s+2)}s-i`u_${e}`)),this.type=i}setUniform(e,t,i,r,n){t.set(e,n,r.constantOr(this.value))}getBinding(e,t){return"color"===this.type?new Cc(e):new Sc(e)}}class Bc{constructor(e,t){this.uniformNames=t.map((e=>`u_${e}`)),this.pattern=null,this.pixelRatio=1}setConstantPatternPositions(e){this.pixelRatio=e.pixelRatio||1,this.pattern=e.tl.concat(e.br)}setUniform(e,t,i,r,n){const o="u_pattern"===n||"u_dash"===n?this.pattern:"u_pixel_ratio"===n?this.pixelRatio:null;o&&t.set(e,n,o)}getBinding(e,t){return"u_pattern"===t||"u_dash"===t?new Ic(e):new Sc(e)}}class Fc{constructor(e,t,i,r){this.expression=e,this.type=i,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(e,t,i,r,n,o,s){const a=this.paintVertexArray.length,l=this.expression.evaluate(new Va(0,{brightness:o}),t,{},n,r,s);this.paintVertexArray.resize(e),this._setPaintValue(a,e,l)}updatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate({zoom:0,brightness:s},i,r,void 0,n);this._setPaintValue(e,t,a)}_setPaintValue(e,t,i){if("color"===this.type){const r=kc(i);for(let i=e;i`u_${e}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=t.map((e=>({name:`a_${e}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new o}populatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate(new Va(this.zoom,{brightness:o}),t,{},n,r,s),l=this.expression.evaluate(new Va(this.zoom+1,{brightness:o}),t,{},n,r,s),c=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(c,e,a,l)}updatePaintArray(e,t,i,r,n,o,s){const a=this.expression.evaluate({zoom:this.zoom,brightness:s},i,r,void 0,n),l=this.expression.evaluate({zoom:this.zoom+1,brightness:s},i,r,void 0,n);this._setPaintValue(e,t,a,l)}_setPaintValue(e,t,i,r){if("color"===this.type){const n=kc(i),o=kc(r);for(let i=e;i2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.binders={},this._buffers=[];const r=[];for(const n in e.paint._values){const o=e.paint.get(n);if(!i(n))continue;if(!(o instanceof Wa&&Gs(o.property.specification)))continue;const s=qc(n,e.type),a=o.value,l=o.property.specification.type,c=!!o.property.useIntegerZoom,h="line-dasharray"===n||n.endsWith("pattern"),u="line-dasharray"===n&&"constant"!==e.layout.get("line-cap").value.kind;if("constant"!==a.kind||u)if("source"===a.kind||u||h){const t=Wc(n,l,"source");this.binders[n]=h?new Vc(a,s,l,t,e.id):new Fc(a,s,l,t),r.push(`/a_${n}`)}else{const e=Wc(n,l,"composite");this.binders[n]=new Nc(a,s,l,c,t,e),r.push(`/z_${n}`)}else this.binders[n]=h?new Bc(a.value,s):new Oc(a.value,s,l),r.push(`/u_${n}`)}this.cacheKey=r.sort().join("")}getMaxValue(e){const t=this.binders[e];return t instanceof Fc||t instanceof Nc?t.maxValue:0}populatePaintArrays(e,t,i,r,n,o,s){for(const a in this.binders){const l=this.binders[a];(l instanceof Fc||l instanceof Nc||l instanceof Vc)&&l.populatePaintArray(e,t,i,r,n,o,s)}}setConstantPatternPositions(e){for(const t in this.binders){const i=this.binders[t];i instanceof Bc&&i.setConstantPatternPositions(e)}}updatePaintArrays(e,t,i,r,n,o,s,a){let l=!1;const c=Object.keys(e),h=0!==c.length,u=h?c:t.uniqueIds;for(const d in this.binders){const c=this.binders[d];if((c instanceof Fc||c instanceof Nc||c instanceof Vc)&&(!0===c.expression.isStateDependent||!1===c.expression.isLightConstant)){const p=n.paint.get(d);c.expression=p.value;for(const i of u){const n=e[i.toString()];t.eachPosition(i,((e,t,i)=>{const l=r.feature(e);c.updatePaintArray(t,i,l,n,o,s,a)}))}if(!h)for(const t of i.uniqueIds){const n=e[t.toString()];i.eachPosition(t,((e,t,i)=>{const l=r.feature(e);c.updatePaintArray(t,i,l,n,o,s,a)}))}l=!0}}return l}defines(){const e=[];for(const t in this.binders){const i=this.binders[t];(i instanceof Oc||i instanceof Bc)&&e.push(...i.uniformNames.map((e=>`#define HAS_UNIFORM_${e}`)))}return e}getBinderAttributes(){const e=[];for(const t in this.binders){const i=this.binders[t];if(i instanceof Fc||i instanceof Nc||i instanceof Vc)for(let t=0;t2&&void 0!==arguments[2]?arguments[2]:()=>!0;this.programConfigurations={};for(const r of e)this.programConfigurations[r.id]=new Uc(r,t,i);this.needsUpload=!1,this._featureMap=new xc,this._featureMapWithoutIds=new xc,this._bufferOffset=0,this._idlessCounter=0}populatePaintArrays(e,t,i,r,n,o,s,a){for(const l in this.programConfigurations)this.programConfigurations[l].populatePaintArrays(e,t,r,n,o,s,a);void 0!==t.id?this._featureMap.add(t.id,i,this._bufferOffset,e):(this._featureMapWithoutIds.add(this._idlessCounter,i,this._bufferOffset,e),this._idlessCounter+=1),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,t,i,r,n,o){for(const s of i)this.needsUpload=this.programConfigurations[s.id].updatePaintArrays(e,this._featureMap,this._featureMapWithoutIds,t,s,r,n,o||0)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const t in this.programConfigurations)this.programConfigurations[t].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}const Gc={"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-emissive-strength":["emissive_strength"],"icon-emissive-strength":["emissive_strength"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern","pixel_ratio"],"fill-pattern":["pattern","pixel_ratio"],"fill-extrusion-pattern":["pattern","pixel_ratio"],"line-dasharray":["dash"]};function qc(e,t){return Gc[e]||[e.replace(`${t}-`,"").replace(/-/g,"_")]}const Zc={"line-pattern":{source:Dl,composite:Dl},"fill-pattern":{source:Dl,composite:Dl},"fill-extrusion-pattern":{source:Dl,composite:Dl},"line-dasharray":{source:Rl,composite:Rl}},$c={color:{source:zl,composite:Pl},number:{source:$l,composite:zl}};function Wc(e,t,i){const r=Zc[e];return r&&r[i]||$c[t][i]}fa(Oc,"ConstantBinder"),fa(Bc,"PatternConstantBinder"),fa(Fc,"SourceExpressionBinder"),fa(Vc,"PatternCompositeBinder"),fa(Nc,"CompositeExpressionBinder"),fa(Uc,"ProgramConfiguration",{omit:["_buffers"]}),fa(jc,"ProgramConfigurationSet");const Qc=no/Math.PI/2,Hc=5,Xc=6,Yc=16383,Kc=64,Jc=[Kc,32,16],eh=-Qc,th=Qc;function ih(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Qc;return i=Gt(i),[e*Math.sin(i)*r,-t*r,e*Math.cos(i)*r]}function rh(e,t,i){return ih(Math.cos(Gt(e)),Math.sin(Gt(e)),t,i)}const nh=6371008.8,oh=2*Math.PI*nh;class sh{constructor(e,t){if(isNaN(e)||isNaN(t))throw new Error(`Invalid LngLat object: (${e}, ${t})`);if(this.lng=+e,this.lat=+t,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new sh(Yt(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const t=Math.PI/180,i=this.lat*t,r=e.lat*t,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((e.lng-this.lng)*t);return nh*Math.acos(Math.min(n,1))}toBounds(){const e=360*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)/40075017,t=e/Math.cos(Math.PI/180*this.lat);return new ah({lng:this.lng-t,lat:this.lat-e},{lng:this.lng+t,lat:this.lat+e})}toEcef(e){return rh(this.lat,this.lng,Qc+e*Qc/nh)}static convert(e){if(e instanceof sh)return e;if(Array.isArray(e)&&(2===e.length||3===e.length))return new sh(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&"object"==typeof e&&null!==e)return new sh(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}class ah{constructor(e,t){if(e)if(t)this.setSouthWest(e).setNorthEast(t);else if(4===e.length){const t=e;this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]])}else{const t=e;this.setSouthWest(t[0]).setNorthEast(t[1])}}setNorthEast(e){return this._ne=e instanceof sh?new sh(e.lng,e.lat):sh.convert(e),this}setSouthWest(e){return this._sw=e instanceof sh?new sh(e.lng,e.lat):sh.convert(e),this}extend(e){const t=this._sw,i=this._ne;let r,n;if(e instanceof sh)r=e,n=e;else{if(!(e instanceof ah))return Array.isArray(e)?4===e.length||e.every(Array.isArray)?this.extend(ah.convert(e)):this.extend(sh.convert(e)):"object"==typeof e&&null!==e&&e.hasOwnProperty("lat")&&(e.hasOwnProperty("lon")||e.hasOwnProperty("lng"))?this.extend(sh.convert(e)):this;if(r=e._sw,n=e._ne,!r||!n)return this}return t||i?(t.lng=Math.min(r.lng,t.lng),t.lat=Math.min(r.lat,t.lat),i.lng=Math.max(n.lng,i.lng),i.lat=Math.max(n.lat,i.lat)):(this._sw=new sh(r.lng,r.lat),this._ne=new sh(n.lng,n.lat)),this}getCenter(){return new sh((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new sh(this.getWest(),this.getNorth())}getSouthEast(){return new sh(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:t,lat:i}=sh.convert(e);let r=this._sw.lng<=t&&t<=this._ne.lng;return this._sw.lng>this._ne.lng&&(r=this._sw.lng>=t&&t>=this._ne.lng),this._sw.lat<=i&&i<=this._ne.lat&&r}static convert(e){return!e||e instanceof ah?e:new ah(e)}}var lh={};!function(e,t){!function(e){function t(e,t,r){var n=i(256*e,256*(t=Math.pow(2,r)-t-1),r),o=i(256*(e+1),256*(t+1),r);return n[0]+","+n[1]+","+o[0]+","+o[1]}function i(e,t,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[e*r-2*Math.PI*6378137/2,t*r-2*Math.PI*6378137/2]}e.getURL=function(e,i,r,n,o,s){return s=s||{},e+"?"+["bbox="+t(r,n,o),"format="+(s.format||"image/png"),"service="+(s.service||"WMS"),"version="+(s.version||"1.1.1"),"request="+(s.request||"GetMap"),"srs="+(s.srs||"EPSG:3857"),"width="+(s.width||256),"height="+(s.height||256),"layers="+i].join("&")},e.getTileBBox=t,e.getMercCoords=i,Object.defineProperty(e,"__esModule",{value:!0})}(t)}(0,lh);var ch=lh;class hh{constructor(e,t,i){this.z=e,this.x=t,this.y=i,this.key=ph(0,e,e,t,i)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,t){const i=ch.getTileBBox(this.x,this.y,this.z),r=function(e,t,i){let r,n="";for(let o=e;o>0;o--)r=1<this.canonical.z?new dh(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new dh(e,this.wrap,e,this.canonical.x>>t,this.canonical.y>>t)}calculateScaledKey(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.overscaledZ===e&&t)return this.key;if(e>this.canonical.z)return ph(this.wrap*+t,e,this.canonical.z,this.canonical.x,this.canonical.y);{const i=this.canonical.z-e;return ph(this.wrap*+t,e,e,this.canonical.x>>i,this.canonical.y>>i)}}isChildOf(e){if(e.wrap!==this.wrap)return!1;const t=this.canonical.z-e.canonical.z;return 0===e.overscaledZ||e.overscaledZ>t&&e.canonical.y===this.canonical.y>>t}children(e){if(this.overscaledZ>=e)return[new dh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const t=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new dh(t,this.wrap,t,i,r),new dh(t,this.wrap,t,i+1,r),new dh(t,this.wrap,t,i,r+1),new dh(t,this.wrap,t,i+1,r+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.y{let t=e.canonical.x-1,i=e.wrap;return t<0&&(t=(1<{let t=e.canonical.x+1,i=e.wrap;return t===1<new dh(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,(0===e.canonical.y?1<new dh(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y===(1<1&&void 0!==arguments[1]?arguments[1]:0;const i=Math.exp(Math.PI*(1-(e.y+t/no)/(1<2&&void 0!==arguments[2]?arguments[2]:0;this.x=+e,this.y=+t,this.z=+i}static fromLngLat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const i=sh.convert(e);return new Ch(yh(i.lng),xh(i.lat),vh(t,i.lat))}toLngLat(){return new sh(bh(this.x),wh(this.y))}toAltitude(){return Th(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/oh*Ah(wh(this.y))}}function Ph(e,t,i,r,n,o,s,a,l){const c=(t+r)/2,h=(i+n)/2,u=new Vt(c,h);a(u),function(e,t,i,r,n,o){const s=i-n,a=r-o;return Math.abs((r-t)*s-(i-e)*a)/Math.hypot(s,a)}(u.x,u.y,o.x,o.y,s.x,s.y)>=l?(Ph(e,t,i,c,h,o,u,a,l),Ph(e,c,h,r,n,u,s,a,l)):e.push(s)}function zh(e,t,i){let r=e[0],n=r.x,o=r.y;t(r);const s=[r];for(let a=1;ae.x+1||re.y+1)&&ui("Geometry exceeds allowed extent, reduce your vector tile buffer size"),e}function Bh(e,t,i){const r=e.loadGeometry(),n=e.extent,o=no/n;if(t&&i&&i.projection.isReprojectedInTileSpace){const o=1<{const i=bh((t.x+e.x/n)/o),r=wh((t.y+e.y/n)/o),h=c.project(i,r);e.x=(h.x*s-a)*n,e.y=(h.y*s-l)*n};for(let t=0;t=n||i.y<0||i.y>=n||(h(i),e.push(i));r[t]=e}}for(const s of r)for(const e of s)Oh(e,o);return r}function Fh(e,t){return{type:e.type,id:e.id,properties:e.properties,geometry:t?Bh(e):[]}}function Nh(e,t,i,r,n){e.emplaceBack(2*t+(r+1)/2,2*i+(n+1)/2)}function Vh(e,t,i){const r=16384;e.emplaceBack(t.x,t.y,t.z,i[0]*r,i[1]*r,i[2]*r)}class Uh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=e.index,this.hasPattern=!1,this.projection=e.projection,this.layoutVertexArray=new Sl,this.indexArray=new Gl,this.segments=new mc,this.programConfigurations=new jc(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){const n=this.layers[0],o=[];let s=null;"circle"===n.type&&(s=n.layout.get("circle-sort-key"));for(const{feature:l,id:c,index:h,sourceLayerIndex:u}of e){const e=this.layers[0]._featureFilter.needGeometry,t=Fh(l,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),t,i))continue;const n=s?s.evaluate(t,{},i):void 0,a={id:c,properties:l.properties,type:l.type,sourceLayerIndex:u,index:h,geometry:e?t.geometry:Bh(l,i,r),patterns:{},sortKey:n};o.push(a)}s&&o.sort(((e,t)=>e.sortKey-t.sortKey));let a=null;"globe"===r.projection.name&&(this.globeExtVertexArray=new Ll,a=r.projection);for(const l of o){const{geometry:r,index:n,sourceLayerIndex:o}=l,s=e[n].feature;this.addFeature(l,r,n,t.availableImages,i,a,t.brightness),t.featureIndex.insert(s,r,n,o,this.index)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,pc.members),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.globeExtVertexArray&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,fc.members))),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy())}addFeature(e,t,i,r,n,o,s){for(const a of t)for(const t of a){const i=t.x,r=t.y;if(i<0||i>=no||r<0||r>=no)continue;if(o){const e=o.projectTilePoint(i,r,n),t=o.upVector(n,i,r),s=this.globeExtVertexArray;Vh(s,e,t),Vh(s,e,t),Vh(s,e,t),Vh(s,e,t)}const s=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),a=s.vertexLength;Nh(this.layoutVertexArray,i,r,-1,-1),Nh(this.layoutVertexArray,i,r,1,-1),Nh(this.layoutVertexArray,i,r,1,1),Nh(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+2,a+3),s.vertexLength+=4,s.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,{},r,n,s)}}function jh(e,t){for(let i=0;i1){if($h(e,t))return!0;for(let r=0;r1?i:i.sub(t)._mult(n)._add(t))}function Xh(e,t){let i,r,n,o=!1;for(let s=0;st.y!=n.y>t.y&&t.x<(n.x-r.x)*(t.y-r.y)/(n.y-r.y)+r.x&&(o=!o)}return o}function Yh(e,t){let i=!1;for(let r=0,n=e.length-1;rt.y!=s.y>t.y&&t.x<(s.x-o.x)*(t.y-o.y)/(s.y-o.y)+o.x&&(i=!i)}return i}function Kh(e,t,i,r,n){for(const s of e)if(t<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const o=[new Vt(t,i),new Vt(t,n),new Vt(r,n),new Vt(r,i)];if(e.length>2)for(const s of o)if(Yh(e,s))return!0;for(let s=0;sn.x&&t.x>n.x||e.yn.y&&t.y>n.y)return!1;const o=di(e,t,i[0]);return o!==di(e,t,i[1])||o!==di(e,t,i[2])||o!==di(e,t,i[3])}function eu(e,t,i,r,n,o){let s=t.y-e.y,a=e.x-t.x;if(o=o||0){const e=s*s+a*a;if(0===e)return!0;const t=Math.sqrt(e);s/=t,a/=t}return!((i.x-e.x)*s+(i.y-e.y)*a-o<0||(r.x-e.x)*s+(r.y-e.y)*a-o<0||(n.x-e.x)*s+(n.y-e.y)*a-o<0)}function tu(e,t,i,r,n,o,s){return!(eu(e,t,r,n,o,s)||eu(t,i,r,n,o,s)||eu(i,e,r,n,o,s)||eu(r,n,e,t,i,s)||eu(n,o,e,t,i,s)||eu(o,r,e,t,i,s))}function iu(e,t,i){const r=t.paint.get(e).value;return"constant"===r.kind?r.value:i.programConfigurations.get(t.id).getMaxValue(e)}function ru(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])}function nu(e,t,i,r,n){if(!t[0]&&!t[1])return e;const o=Vt.convert(t)._mult(n);"viewport"===i&&o._rotate(-r);const s=[];for(let a=0;a=0;if(0===s)return 0;s!==i.length&&(r=!1)}return r?2:1}function du(e,t){for(const i of e.projections){const r=hu(t,e.points[0],i.axis);if(i.projection[1]r[1])return 0}return 1}function pu(t,i){let r=0;const n=[0,0,0,0];for(let o=0;o=0&&r++;return r}class fu{constructor(t,i){this.points=t||new Array(8).fill([0,0,0]),this.planes=i||new Array(6).fill([0,0,0,0]),this.bounds=mu.fromPoints(this.points),this.projections=[],this.frustumEdges=[e.Q.sub([],this.points[2],this.points[3]),e.Q.sub([],this.points[0],this.points[3]),e.Q.sub([],this.points[4],this.points[0]),e.Q.sub([],this.points[5],this.points[1]),e.Q.sub([],this.points[6],this.points[2]),e.Q.sub([],this.points[7],this.points[3])];for(const e of this.frustumEdges){const t=[0,-e[2],e[1]],i=[e[2],0,-e[0]];this.projections.push({axis:t,projection:hu(this.points,this.points[0],t)}),this.projections.push({axis:i,projection:hu(this.points,this.points[0],i)})}}static fromInvProjectionMatrix(t,i,r,n){const o=Math.pow(2,r),s=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((r=>{const s=e.aa.transformMat4([],r,t),a=1/s[3]/i*o;return e.aa.mul(s,s,[a,a,n?1/s[3]:a,a])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const i=e.Q.sub([],s[t[0]],s[t[1]]),r=e.Q.sub([],s[t[2]],s[t[1]]),n=e.Q.normalize([],e.Q.cross([],i,r)),o=-e.Q.dot(n,s[t[1]]);return n.concat(o)})),l=[];for(let e=0;ea[1]||a[0]>s[1])return 0}return 1}}class mu{static fromPoints(t){const i=[1/0,1/0,1/0],r=[-1/0,-1/0,-1/0];for(const n of t)e.Q.min(i,i,n),e.Q.max(r,r,n);return new mu(i,r)}static fromTileIdAndHeight(e,t,i){const r=1<e.max[t]||e.min[t]>this.max[t])return!1;return!0}intersectsAabbXY(e){return!(this.min[0]>e.max[0]||e.min[0]>this.max[0]||this.min[1]>e.max[1]||e.min[1]>this.max[1])}encapsulate(e){for(let t=0;t<3;t++)this.min[t]=Math.min(this.min[t],e.min[t]),this.max[t]=Math.max(this.max[t],e.max[t])}encapsulatePoint(e){for(let t=0;t<3;t++)this.min[t]=Math.min(this.min[t],e[t]),this.max[t]=Math.max(this.max[t],e[t])}closestPoint(e){return[Math.max(Math.min(this.max[0],e[0]),this.min[0]),Math.max(Math.min(this.max[1],e[1]),this.min[1]),Math.max(Math.min(this.max[2],e[2]),this.min[2])]}}fa(mu,"Aabb");const _u=Tl([{type:"Float32",name:"a_globe_pos",components:3},{type:"Float32",name:"a_uv",components:2}]),{members:gu}=_u,yu=Tl([{name:"a_pos_3",components:3,type:"Int16"}]);var xu=Tl([{name:"a_pos",type:"Int16",components:2}]);function vu(e){return e*Qc/nh}const bu=[new mu([eh,eh,eh],[th,th,th]),new mu([eh,eh,eh],[0,0,th]),new mu([0,eh,eh],[th,0,th]),new mu([eh,0,eh],[0,th,th]),new mu([0,0,eh],[th,th,th])];function wu(t,i,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const o=e.Q.scale([],t._camera.position,t.worldSize),s=[i,r,1,1];e.aa.transformMat4(s,s,t.pixelMatrixInverse),e.aa.scale(s,s,1/s[3]);const a=e.Q.sub([],s,o),l=e.Q.normalize([],a),c=t.globeMatrix,h=[c[12],c[13],c[14]],u=e.Q.sub([],h,o),d=e.Q.length(u),p=e.Q.normalize([],u),f=t.worldSize/(2*Math.PI),m=e.Q.dot(p,l),_=Math.asin(f/d);if(_1?null:function(e,t,i,r){const n=Math.sin(i);return e*(Math.sin((1-r)*i)/n)+t*(Math.sin(r*i)/n)}(e.a[t],e.b[t],e.angle,Ht(i,0,1))+e.center[t]}function Su(e){if(e.z<=1)return bu[e.z+2*e.y+e.x];const t=Pu(Cu(e));return mu.fromPoints(t)}function Mu(t,i,r){return e.Q.scale(t,t,1-r),e.Q.scaleAndAdd(t,t,i,r)}function Au(t,i,r){for(const n of t)e.Q.transformMat4(n,n,i),e.Q.scale(n,n,r)}function Iu(t,i,r,n){const o=i/t.worldSize,s=t.globeMatrix;if(r.z<=1){const e=Su(r).getCorners();return Au(e,s,o),mu.fromPoints(e)}const a=Cu(r,n),l=Pu(a,Qc+vu(t._tileCoverLift));Au(l,s,o);const c=Number.MAX_VALUE,h=[-c,-c,-c],u=[c,c,c];if(a.contains(t.center)){for(const t of l)e.Q.min(u,u,t),e.Q.max(h,h,t);h[2]=0;const i=t.point,r=[i.x*o,i.y*o,0];return e.Q.min(u,u,r),e.Q.max(h,h,r),new mu(u,h)}if(t._tileCoverLift>0){for(const t of l)e.Q.min(u,u,t),e.Q.max(h,h,t);return new mu(u,h)}const d=[s[12]*o,s[13]*o,s[14]*o],p=a.getCenter(),f=Ht(t.center.lat,-Eh,Eh),m=Ht(p.lat,-Eh,Eh),_=yh(t.center.lng),g=xh(f);let y=_-yh(p.lng);const x=g-xh(m);y>.5?y-=1:y<-.5&&(y+=1);let v=0;if(Math.abs(y)>Math.abs(x))v=y>=0?1:3;else{v=x>=0?0:2;const t=[s[4]*o,s[5]*o,s[6]*o],i=-Math.sin(Gt(x>=0?a.getSouth():a.getNorth()))*Qc;e.Q.scaleAndAdd(d,d,t,i)}const b=l[v],w=l[(v+1)%4],T=new Tu(b,w,d),E=[Eu(T,0)||b[0],Eu(T,1)||b[1],Eu(T,2)||b[2]],S=Nu(t.zoom);if(S>0){const n=function(e,t,i,r,n){let{x:o,y:s,z:a}=e;const l=1/(1<.5?p=-1:f<-.5&&(p=1),c=((c+p)*t-(r*=t))*i+r,h=((h+p)*t-r)*i+r,u=(u*t-(n*=t))*i+n,d=(d*t-n)*i+n,[[c,d,0],[h,d,0],[h,u,0],[c,u,0]]}(r,i,t._pixelsPerMercatorPixel,_,g);for(let e=0;e1&&void 0!==arguments[1]&&arguments[1];const o=1/(1<1&&void 0!==arguments[1]?arguments[1]:Qc;const i=Gt(e.getNorth()),r=Gt(e.getSouth()),n=Math.cos(i),o=Math.cos(r),s=Math.sin(i),a=Math.sin(r),l=e.getWest(),c=e.getEast();return[ih(o,a,l,t),ih(o,a,c,t),ih(n,s,c,t),ih(n,s,l,t)]}function zu(e,t,i,r){const n=1<Math.PI/2*1.01}const ju=Gt(85),Gu=Math.cos(ju),qu=Math.sin(ju),Zu=e.a9.create(),$u=e=>{const t=[];return"map"===e.paint.get("circle-pitch-alignment")&&t.push("PITCH_WITH_MAP"),"map"===e.paint.get("circle-pitch-scale")&&t.push("SCALE_WITH_MAP"),t};function Wu(t,i,r,n,o,s,a,l,c){if(s&&t.queryGeometry.isAboveHorizon)return!1;s&&(c*=t.pixelToTileUnitsFactor);const h=t.tileID.canonical,u=r.projection.upVectorScale(h,r.center.lat,r.worldSize).metersToTile;for(const d of i)for(const i of d){const d=i.add(l),p=o&&r.elevation?r.elevation.exaggeration()*o.getElevationAt(d.x,d.y,!0):0,f=r.projection.projectTilePoint(d.x,d.y,h);if(p>0){const e=r.projection.upVector(h,d.x,d.y);f.x+=e[0]*u*p,f.y+=e[1]*u*p,f.z+=e[2]*u*p}const m=s?d:Qu(f.x,f.y,f.z,n),_=s?t.tilespaceRays.map((e=>Yu(e,p))):t.queryGeometry.screenGeometry,g=e.aa.transformMat4([],[f.x,f.y,f.z,1],n);if(!a&&s?c*=g[3]/r.cameraToCenterDistance:a&&!s&&(c*=r.cameraToCenterDistance/g[3]),s){const e=wh((i.y/no+h.y)/(1<e.width||n.height>e.height||i.x>e.width-n.width||i.y>e.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>t.width||n.height>t.height||r.x>t.width-n.width||r.y>t.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const a=e.data,l=t.data,c=4===o&&s;for(let h=0;h{t[e.evaluationKey]=o;const s=e.expression.evaluate(t);s&&(n.data[i+r+0]=Math.floor(255*s.r/s.a),n.data[i+r+1]=Math.floor(255*s.g/s.a),n.data[i+r+2]=Math.floor(255*s.b/s.a),n.data[i+r+3]=Math.floor(255*s.a))};if(e.clips)for(let s=0,a=0;s80*i){r=o=e[0],n=s=e[1];for(var f=i;fo&&(o=a),l>s&&(s=l);c=0!==(c=Math.max(o-r,s-n))?32767/c:0}return _d(d,p,i,r,n,c,0),p}function fd(e,t,i,r,n){var o,s;if(n===Fd(e,t,i,r)>0)for(o=t;o=t;o-=r)s=kd(o,e[o],e[o+1],s);return s&&Cd(s,s.next)&&(Od(s),s=s.next),s}function md(e,t){if(!e)return e;t||(t=e);var i,r=e;do{if(i=!1,r.steiner||!Cd(r,r.next)&&0!==Id(r.prev,r,r.next))r=r.next;else{if(Od(r),(r=t=r.prev)===r.next)break;i=!0}}while(i||r!==t);return t}function _d(e,t,i,r,n,o,s){if(e){!s&&o&&function(e,t,i,r){var n=e;do{0===n.z&&(n.z=Ed(n.x,n.y,t,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==e);n.prevZ.nextZ=null,n.prevZ=null,function(e){var t,i,r,n,o,s,a,l,c=1;do{for(i=e,e=null,o=null,s=0;i;){for(s++,r=i,a=0,t=0;t0||l>0&&r;)0!==a&&(0===l||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),o?o.nextZ=n:e=n,n.prevZ=o,o=n;i=r}o.nextZ=null,c*=2}while(s>1)}(n)}(e,r,n,o);for(var a,l,c=e;e.prev!==e.next;)if(a=e.prev,l=e.next,o?yd(e,r,n,o):gd(e))t.push(a.i/i|0),t.push(e.i/i|0),t.push(l.i/i|0),Od(e),e=l.next,c=l.next;else if((e=l)===c){s?1===s?_d(e=xd(md(e),t,i),t,i,r,n,o,2):2===s&&vd(e,t,i,r,n,o):_d(md(e),t,i,r,n,o,1);break}}}function gd(e){var t=e.prev,i=e,r=e.next;if(Id(t,i,r)>=0)return!1;for(var n=t.x,o=i.x,s=r.x,a=t.y,l=i.y,c=r.y,h=no?n>s?n:s:o>s?o:s,p=a>l?a>c?a:c:l>c?l:c,f=r.next;f!==t;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&Md(n,a,o,l,s,c,f.x,f.y)&&Id(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function yd(e,t,i,r){var n=e.prev,o=e,s=e.next;if(Id(n,o,s)>=0)return!1;for(var a=n.x,l=o.x,c=s.x,h=n.y,u=o.y,d=s.y,p=al?a>c?a:c:l>c?l:c,_=h>u?h>d?h:d:u>d?u:d,g=Ed(p,f,t,i,r),y=Ed(m,_,t,i,r),x=e.prevZ,v=e.nextZ;x&&x.z>=g&&v&&v.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&Md(a,h,l,u,c,d,x.x,x.y)&&Id(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&Md(a,h,l,u,c,d,v.x,v.y)&&Id(v.prev,v,v.next)>=0)return!1;v=v.nextZ}for(;x&&x.z>=g;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==s&&Md(a,h,l,u,c,d,x.x,x.y)&&Id(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;v&&v.z<=y;){if(v.x>=p&&v.x<=m&&v.y>=f&&v.y<=_&&v!==n&&v!==s&&Md(a,h,l,u,c,d,v.x,v.y)&&Id(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function xd(e,t,i){var r=e;do{var n=r.prev,o=r.next.next;!Cd(n,o)&&Pd(n,r,r.next,o)&&Rd(n,o)&&Rd(o,n)&&(t.push(n.i/i|0),t.push(r.i/i|0),t.push(o.i/i|0),Od(r),Od(r.next),r=e=o),r=r.next}while(r!==e);return md(r)}function vd(e,t,i,r,n,o){var s=e;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&Ad(s,a)){var l=Ld(s,a);return s=md(s,s.next),l=md(l,l.next),_d(s,t,i,r,n,o,0),void _d(l,t,i,r,n,o,0)}a=a.next}s=s.next}while(s!==e)}function bd(e,t){return e.x-t.x}function wd(e,t){var i=function(e,t){var i,r=t,n=e.x,o=e.y,s=-1/0;do{if(o<=r.y&&o>=r.next.y&&r.next.y!==r.y){var a=r.x+(o-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(a<=n&&a>s&&(s=a,i=r.x=r.x&&r.x>=h&&n!==r.x&&Md(oi.x||r.x===i.x&&Td(i,r)))&&(i=r,d=l)),r=r.next}while(r!==c);return i}(e,t);if(!i)return t;var r=Ld(i,e);return md(r,r.next),md(i,i.next)}function Td(e,t){return Id(e.prev,e,t.prev)<0&&Id(t.next,e,e.next)<0}function Ed(e,t,i,r,n){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-i)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function Sd(e){var t=e,i=e;do{(t.x=(e-s)*(o-a)&&(e-s)*(r-a)>=(i-s)*(t-a)&&(i-s)*(o-a)>=(n-s)*(r-a)}function Ad(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&Pd(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}(e,t)&&(Rd(e,t)&&Rd(t,e)&&function(e,t){var i=e,r=!1,n=(e.x+t.x)/2,o=(e.y+t.y)/2;do{i.y>o!=i.next.y>o&&i.next.y!==i.y&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==e);return r}(e,t)&&(Id(e.prev,e,t.prev)||Id(e,t.prev,t))||Cd(e,t)&&Id(e.prev,e,e.next)>0&&Id(t.prev,t,t.next)>0)}function Id(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function Cd(e,t){return e.x===t.x&&e.y===t.y}function Pd(e,t,i,r){var n=Dd(Id(e,t,i)),o=Dd(Id(e,t,r)),s=Dd(Id(i,r,e)),a=Dd(Id(i,r,t));return n!==o&&s!==a||!(0!==n||!zd(e,i,t))||!(0!==o||!zd(e,r,t))||!(0!==s||!zd(i,e,r))||!(0!==a||!zd(i,t,r))}function zd(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)}function Dd(e){return e>0?1:e<0?-1:0}function Rd(e,t){return Id(e.prev,e,e.next)<0?Id(e,t,e.next)>=0&&Id(e,e.prev,t)>=0:Id(e,t,e.prev)<0||Id(e,e.next,t)<0}function Ld(e,t){var i=new Bd(e.i,e.x,e.y),r=new Bd(t.i,t.x,t.y),n=e.next,o=t.prev;return e.next=t,t.prev=e,i.next=n,n.prev=i,r.next=i,i.prev=r,o.next=r,r.prev=o,r}function kd(e,t,i,r){var n=new Bd(e,t,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function Od(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Bd(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Fd(e,t,i,r){for(var n=0,o=t,s=i-r;o0&&i.holes.push(r+=e[n-1].length)}return i};var Nd=u(dd.exports);function Vd(e,t){const i=e.length;if(i<=1)return[e];const r=[];let n,o;for(let s=0;s1)for(let s=0;se.fqid)),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Sl,this.indexArray=new Gl,this.indexArray2=new Fl,this.programConfigurations=new jc(e.layers,e.zoom),this.segments=new mc,this.segments2=new mc,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.projection=e.projection}populate(e,t,i,r){this.hasPattern=jd("fill",this.layers,t);const n=this.layers[0].layout.get("fill-sort-key"),o=[];for(const{feature:s,id:a,index:l,sourceLayerIndex:c}of e){const e=this.layers[0]._featureFilter.needGeometry,h=Fh(s,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),h,i))continue;const u=n?n.evaluate(h,{},i,t.availableImages):void 0,d={id:a,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:e?h.geometry:Bh(s,i,r),patterns:{},sortKey:u};o.push(d)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));for(const s of o){const{geometry:r,index:n,sourceLayerIndex:o}=s;if(this.hasPattern){const e=Gd("fill",this.layers,s,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(s,r,n,i,{},t.availableImages,t.brightness);t.featureIndex.insert(e[n].feature,r,n,o,this.index)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}addFeatures(e,t,i,r,n,o){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,t,i,r,o)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,ud),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,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],s=arguments.length>6?arguments[6]:void 0;for(const a of Vd(t,500)){let e=0;for(const s of a)e+=s.length;const t=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),i=t.vertexLength,r=[],n=[];for(const s of a){if(0===s.length)continue;s!==a[0]&&n.push(r.length/2);const e=this.segments2.prepareSegment(s.length,this.layoutVertexArray,this.indexArray2),t=e.vertexLength;this.layoutVertexArray.emplaceBack(s[0].x,s[0].y),this.indexArray2.emplaceBack(t+s.length-1,t),r.push(s[0].x),r.push(s[0].y);for(let i=1;i>3}if(n--,1===r||2===r)o+=e.readSVarint(),s+=e.readSVarint(),1===r&&(t&&a.push(t),t=[]),t.push(new ep(o,s));else{if(7!==r)throw new Error("unknown command "+r);t&&t.push(t[0].clone())}}return t&&a.push(t),a},ip.prototype.bbox=function(){var e=this._pbf;e.pos=this._geometry;for(var t=e.readVarint()+e.pos,i=1,r=0,n=0,o=0,s=1/0,a=-1/0,l=1/0,c=-1/0;e.pos>3}if(r--,1===i||2===i)(n+=e.readSVarint())a&&(a=n),(o+=e.readSVarint())c&&(c=o);else if(7!==i)throw new Error("unknown command "+i)}return[s,l,a,c]},ip.prototype.toGeoJSON=function(e,t,i){var r,n,o=this.extent*Math.pow(2,i),s=this.extent*e,a=this.extent*t,l=this.loadGeometry(),c=ip.types[this.type];function h(e){for(var t=0;t>3;t=1===r?e.readString():2===r?e.readFloat():3===r?e.readDouble():4===r?e.readVarint64():5===r?e.readVarint():6===r?e.readSVarint():7===r?e.readBoolean():null}return t}(i))}ap.prototype.feature=function(e){if(e<0||e>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[e];var t=this._pbf.readVarint()+this._pbf.pos;return new op(this._pbf,t,this.extent,this._keys,this._values)};var cp=sp;function hp(e,t,i){if(3===e){var r=new cp(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}var up=Jd.VectorTile=function(e,t){this.layers=e.readFields(hp,{},t)},dp=Jd.VectorTileFeature=tp;function pp(e,t,i,r){const n=[],o=0===r?(e,t,i,r,n,o)=>{e.push(new Vt(o,i+(o-t)/(r-t)*(n-i)))}:(e,t,i,r,n,o)=>{e.push(new Vt(t+(o-i)/(n-i)*(r-t),o))};for(const s of e){const e=[];for(const n of s){if(n.length<=2)continue;const s=[];for(let e=0;et&&o(s,a,l,c,h,t):u>i?d=t&&o(s,a,l,c,h,t),d>i&&u<=i&&o(s,a,l,c,h,i)}let a=n[n.length-1];const l=0===r?a.x:a.y;l>=t&&l<=i&&s.push(a),s.length&&(a=s[s.length-1],s[0].x===a.x&&s[0].y===a.y||s.push(s[0]),e.push(s))}e.length&&n.push(e)}return n}function fp(e,t){return e.x-t.x||e.y-t.y}function mp(e,t){return 0===fp(e.min,t.min)&&0===fp(e.max,t.max)}function _p(e,t){return!(e.min.x>t.max.x||e.max.xt.max.y||e.max.ynew Vt((e.x+o.x*no)*a-s.x*no,(e.y+o.y*no)*a-s.y*no)))}return xp(i,n,e.indices,0,e.indices.length,0,0)}Jd.VectorTileLayer=sp;class bp{constructor(e){this.size=e,this.minimums=[],this.maximums=[],this.leaves=[]}getElevation(e,t){const i=this.toIdx(e,t);return{min:this.minimums[i],max:this.maximums[i]}}isLeaf(e,t){return this.leaves[this.toIdx(e,t)]}toIdx(e,t){return t*this.size+e}}function wp(e,t,i,r){let n=0,o=Number.MAX_VALUE;for(let s=0;s<3;s++)if(Math.abs(r[s])<1e-15){if(i[s]t[s])return null}else{const a=1/r[s];let l=(e[s]-i[s])*a,c=(t[s]-i[s])*a;if(l>c){const e=l;l=c,c=e}if(l>n&&(n=l),co)return null}return n}function Tp(e,t,i,r,n,o,s,a,l,c,h){const u=r-e,d=n-t,p=o-i,f=s-e,m=a-t,_=l-i,g=h[1]*_-h[2]*m,y=h[2]*f-h[0]*_,x=h[0]*m-h[1]*f,v=u*g+d*y+p*x;if(Math.abs(v)<1e-15)return null;const b=1/v,w=c[0]-e,T=c[1]-t,E=c[2]-i,S=(w*g+T*y+E*x)*b;if(S<0||S>1)return null;const M=T*p-E*d,A=E*u-w*p,I=w*d-T*u,C=(h[0]*M+h[1]*A+h[2]*I)*b;return C<0||S+C>1?null:(f*M+m*A+_*I)*b}function Ep(e,t,i){return(e-t)/(i-t)}function Sp(e,t,i,r,n,o,s,a,l){const c=1<{const o=r?1:0,s=(e+1)*i-o,a=t*i,l=(t+1)*i-o;n[0]=e*i,n[1]=a,n[2]=s,n[3]=l};let s=new bp(r);const a=[];for(let l=0;l=1;r/=2){const e=i[i.length-1];s=new bp(r);for(let t=0;t6&&void 0!==arguments[6]?arguments[6]:1;return wp([e,t,-100],[i,r,this.maximums[0]*s],n,o)}raycast(t,i,r,n,o,s){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1;if(!this.nodeCount)return null;const l=this.raycastRoot(t,i,r,n,o,s,a);if(null==l)return null;const c=[],h=[],u=[],d=[],p=[{idx:0,t:l,nodex:0,nodey:0,depth:0}];for(;p.length>0;){const{idx:l,t:f,nodex:m,nodey:_,depth:g}=p.pop();if(this.leaves[l]){Sp(m,_,g,t,i,r,n,u,d);const l=1<=t[2])return f}continue}let y=0;for(let e=0;e=c[h[r]]&&(h.splice(r,0,e),i=!0);i||(h[y]=e),y++}}for(let e=0;e3&&void 0!==arguments[3]&&arguments[3];if(this.uid=e,t.height!==t.width)throw new RangeError("DEM tiles must be square");if(i&&"mapbox"!==i&&"terrarium"!==i)return ui(`"${i}" is not a valid encoding type. Valid types include "mapbox" and "terrarium".`);this.stride=t.height;const n=this.dim=t.height-2,o=new Uint32Array(t.data.buffer);if(this.pixels=new Uint8Array(t.data.buffer),this.floatView=new Float32Array(t.data.buffer),this.borderReady=r,this._modifiedForSources={},!r){for(let e=0;e2&&void 0!==arguments[2]&&arguments[2]&&(e=Ht(e,-1,this.dim),t=Ht(t,-1,this.dim));const i=this._idx(e,t);return this.floatView[i]}set(e,t,i){const r=this._idx(e,t),n=this.floatView[r];return this.floatView[r]=i,i-n}static getUnpackVector(e){return Cp[e]}_idx(e,t){if(e<-1||e>=this.dim+1||t<-1||t>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(t+1)*this.stride+(e+1)}static pack(e,t){const i=[0,0,0,0],r=Dp.getUnpackVector(t);let n=Math.floor((e+r[3])/r[2]);return i[2]=n%256,n=Math.floor(n/256),i[1]=n%256,n=Math.floor(n/256),i[0]=n,i}getPixels(){return new nd({width:this.stride,height:this.stride},this.pixels)}backfillBorder(e,t,i){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let r=t*this.dim,n=t*this.dim+this.dim,o=i*this.dim,s=i*this.dim+this.dim;switch(t){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:o=s-1;break;case 1:s=o+1}const a=-t*this.dim,l=-i*this.dim;for(let c=o;ce.max.x&&(e.max.x=t.x,r=!0),t.ye.max.y&&(e.max.y=t.y,r=!0),((0===t.x||t.x===no)&&t.x===i.x)!=((0===t.y||t.y===no)&&t.y===i.y)&&this.processBorderOverlap(t,i),r&&this.checkBorderIntersection(t,i)}checkBorderIntersection(e,t){t.x<0!=e.x<0&&this.addBorderIntersection(0,jr(t.y,e.y,(0-t.x)/(e.x-t.x))),t.x>no!=e.x>no&&this.addBorderIntersection(1,jr(t.y,e.y,(no-t.x)/(e.x-t.x))),t.y<0!=e.y<0&&this.addBorderIntersection(2,jr(t.x,e.x,(0-t.y)/(e.y-t.y))),t.y>no!=e.y>no&&this.addBorderIntersection(3,jr(t.x,e.x,(no-t.y)/(e.y-t.y)))}addBorderIntersection(e,t){this.borders||(this.borders=[[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE],[Number.MAX_VALUE,-Number.MAX_VALUE]]);const i=this.borders[e];ti[1]&&(i[1]=t)}processBorderOverlap(e,t){if(e.x===t.x){if(e.y===t.y)return;const i=0===e.x?0:1;this.addBorderIntersection(i,t.y),this.addBorderIntersection(i,e.y)}else{const i=0===e.y?2:3;this.addBorderIntersection(i,t.x),this.addBorderIntersection(i,e.x)}}centroid(){return 0===this.accCount?new Vt(0,0):new Vt(Math.floor(Math.max(0,this.acc.x)/this.accCount),Math.floor(Math.max(0,this.acc.y)/this.accCount))}intersectsCount(){return this.borders?this.borders.reduce(((e,t)=>e+ +(t[0]!==Number.MAX_VALUE)),0):0}}function Wp(e,t){const i=e.add(t)._unit(),r=Ht(e.x*i.x+e.y*i.y,-1,1);var n,o,s;return n=Math.acos(r),Math.min(4,Math.max(-4,Math.tan(n)))/4*Fp*((o=e).x*(s=t).y-o.y*s.x<0?-1:1)}const Qp=[e=>e.x<0,e=>e.x>no,e=>e.y<0,e=>e.y>no];function Hp(e,t,i,r){const n=[4];if(0===r)return n;i._mult(r);const o=e.sub(i),s=t.sub(i),a=[e,t,o,s];for(let l=0;l<4;l++)for(const e of a)if(Qp[l](e)){n.push(l);break}return n}class Xp{constructor(e){this.vertexArray=new Il,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom,(e=>Op.includes(e))),this._segments=new mc,this.hiddenByLandmarkVertexArray=new tc,this._segmentToGroundQuads={},this._segmentToGroundQuads[0]=[],this._segmentToRegionTriCounts={},this._segmentToRegionTriCounts[0]=[0,0,0,0,0],this.regionSegments={},this.regionSegments[4]=new mc}getDefaultSegment(){return this.regionSegments[4]}hasData(){return 0!==this.vertexArray.length}addData(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n=e.length;if(n>2){let o=Math.max(0,this._segments.get().length-1);const s=this._segments._prepareSegment(4*n,this.vertexArray.length,2*this._segmentToGroundQuads[o].length);let a;o!==this._segments.get().length-1&&(o++,this._segmentToGroundQuads[o]=[],this._segmentToRegionTriCounts[o]=[0,0,0,0,0]);{const t=e[0],i=e[1];a=Wp(t.sub(e[n-1])._perp()._unit(),i.sub(t)._perp()._unit())}for(let l=0;le.region-t.region));for(let i=0;ie+t),0);let o=0;for(let e=0;e<=4;e++){const t=n[e];if(0!==t){let i=this.regionSegments[e];i||(i=this.regionSegments[e]=new mc);const n={vertexOffset:r.vertexOffset,primitiveOffset:r.primitiveOffset+o,vertexLength:r.vertexLength,primitiveLength:t};i.get().push(n)}o+=t}for(let e=0;e0?this.hiddenByLandmarkVertexBuffer=e.createVertexBuffer(this.hiddenByLandmarkVertexArray,Xd.members,!0):this.hiddenByLandmarkVertexBuffer&&this.hiddenByLandmarkVertexBuffer.updateData(this.hiddenByLandmarkVertexArray),this._needsHiddenByLandmarkUpdate=!1)}destroy(){if(this.vertexBuffer){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.hiddenByLandmarkVertexBuffer&&this.hiddenByLandmarkVertexBuffer.destroy(),this._segments&&this._segments.destroy(),this.programConfigurations.destroy();for(let e=0;e<=4;e++){const t=this.regionSegments[e];t&&t.destroy()}}}}class Yp{constructor(e){this.zoom=e.zoom,this.canonical=e.canonical,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=e.index,this.hasPattern=!1,this.edgeRadius=0,this.projection=e.projection,this.activeReplacements=[],this.replacementUpdateTime=0,this.centroidData=[],this.footprintIndices=new Gl,this.footprintVertices=new Sl,this.footprintSegments=[],this.layoutVertexArray=new Al,this.centroidVertexArray=new dc,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom,(e=>kp.includes(e))),this.segments=new mc,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.groundEffect=new Xp(e),this.maxHeight=0,this.partLookup={},this.triangleSubSegments=[],this.polygonSegments=[]}populate(e,t,i,r){this.features=[],this.hasPattern=jd("fill-extrusion",this.layers,t),this.featuresOnBorder=[],this.borderFeatureIndices=[[],[],[],[]],this.borderDoneWithNeighborZ=[-1,-1,-1,-1],this.tileToMeter=Ih(i),this.edgeRadius=this.layers[0].layout.get("fill-extrusion-edge-radius")/this.tileToMeter;for(const{feature:n,id:o,index:s,sourceLayerIndex:a}of e){const e=this.layers[0]._featureFilter.needGeometry,l=Fh(n,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),l,i))continue;const c={id:o,sourceLayerIndex:a,index:s,geometry:e?l.geometry:Bh(n,i,r),properties:n.properties,type:n.type,patterns:{}},h=this.layoutVertexArray.length;this.hasPattern?this.features.push(Gd("fill-extrusion",this.layers,c,this.zoom,t)):this.addFeature(c,c.geometry,s,i,{},t.availableImages,r,t.brightness),t.featureIndex.insert(n,c.geometry,s,a,this.index,h)}this.sortBorders(),"mercator"===this.projection.name&&this.splitToSubtiles(),this.groundEffect.prepareBorderSegments(),this.polygonSegments.length=0}addFeatures(e,t,i,r,n,o){for(const s of this.features){const{geometry:e}=s;this.addFeature(s,e,s.index,t,i,r,n,o)}this.sortBorders(),"mercator"===this.projection.name&&this.splitToSubtiles()}update(e,t,i,r,n){const o=0!==Object.keys(e).length;if(o&&!this.stateDependentLayers.length)return;const s=o?this.stateDependentLayers:this.layers;this.programConfigurations.updatePaintArrays(e,t,s,i,r,n),this.groundEffect.update(e,t,s,i,r,n)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload||this.groundEffect.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Kd),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.layoutVertexExtArray&&(this.layoutVertexExtBuffer=e.createVertexBuffer(this.layoutVertexExtArray,Yd.members,!0)),this.groundEffect.upload(e)),this.groundEffect.uploadPaintProperties(e),this.programConfigurations.upload(e),this.uploaded=!0}uploadCentroid(e){this.groundEffect.uploadHiddenByLandmark(e),this.needsCentroidUpdate&&(!this.centroidVertexBuffer&&this.centroidVertexArray.length>0?this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Hd.members,!0):this.centroidVertexBuffer&&this.centroidVertexBuffer.updateData(this.centroidVertexArray),this.needsCentroidUpdate=!1)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.centroidVertexBuffer&&this.centroidVertexBuffer.destroy(),this.layoutVertexExtBuffer&&this.layoutVertexExtBuffer.destroy(),this.groundEffect.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,t,i,r,n,o,s,a){const l=this.layers[0].paint.get("fill-extrusion-flood-light-ground-radius").evaluate(e,{})/this.tileToMeter,c=[new Vt(0,0),new Vt(no,no)],h=s.projection,u="globe"===h.name,d="Polygon"===Lp[e.type],p=new $p;p.centroidDataIndex=this.centroidData.length;const f=new Zp,m=this.layers[0].paint.get("fill-extrusion-base").evaluate(e,{},r)<=0,_=this.layers[0].paint.get("fill-extrusion-height").evaluate(e,{},r);f.height=_,f.vertexArrayOffset=this.layoutVertexArray.length,f.groundVertexArrayOffset=this.groundEffect.vertexArray.length,u&&!this.layoutVertexExtArray&&(this.layoutVertexExtArray=new Ll);const g=Vd(t,500);for(let T=g.length-1;T>=0;T--){const e=g[T];(0===e.length||(y=e[0]).every((e=>e.x<=0))||y.every((e=>e.x>=no))||y.every((e=>e.y<=0))||y.every((e=>e.y>=no)))&&g.splice(T,1)}var y;let x;if(u)x=af(g,c,r);else{x=[];for(const e of g)x.push({polygon:e,bounds:c})}const v=d?this.edgeRadius:0,b=v>0&&this.zoom<17,w=(e,t)=>{if(0===e.length)return!1;const i=e[e.length-1];return t.x===i.x&&t.y===i.y};for(const{polygon:T,bounds:E}of x){let e=0,t=0;for(const r of T)d&&!r[0].equals(r[r.length-1])&&r.push(r[0]),t+=d?r.length-1:r.length;const i=this.segments.prepareSegment((d?5:4)*t,this.layoutVertexArray,this.indexArray);f.footprintSegIdx<0&&(f.footprintSegIdx=this.footprintSegments.length),f.polygonSegIdx<0&&(f.polygonSegIdx=this.polygonSegments.length);const n={triangleArrayOffset:this.indexArray.length,triangleCount:0,triangleSegIdx:this.segments.segments.length-1},o=new qp;if(o.vertexOffset=this.footprintVertices.length,o.indexOffset=3*this.footprintIndices.length,o.ringIndices=[],d){const t=[],n=[];e=i.vertexLength;for(let e=0;e4&&nf(t[t.length-2],t[0],t[1]),o=v?Jp(t[t.length-2],t[0],t[1],v):0;const a=[];let c,_,g;_=t[1].sub(t[0])._perp()._unit();let y=!0;for(let s=1,l=0;s0?1:0,A=d.dist(x);if(l+A>32768&&(l=0),v){g=b.sub(x)._perp()._unit();let e=ef(d,x,b,Kp(_,g),v);isNaN(e)&&(e=0);const t=x.sub(d)._unit();d=d.add(t.mult(o))._round(),x=x.add(t.mult(-e))._round(),o=e,_=g,m&&this.zoom>=17&&(w(a,d)||a.push(d),w(a,x)||a.push(x))}const I=i.vertexLength,C=t.length>4&&nf(d,x,b);let P=of(l,n,y);if(Up(this.layoutVertexArray,d.x,d.y,S,M,0,0,P),Up(this.layoutVertexArray,d.x,d.y,S,M,0,1,P),l+=A,P=of(l,C,!y),n=C,Up(this.layoutVertexArray,x.x,x.y,S,M,0,0,P),Up(this.layoutVertexArray,x.x,x.y,S,M,0,1,P),i.vertexLength+=4,this.indexArray.emplaceBack(I+0,I+1,I+2),this.indexArray.emplaceBack(I+1,I+3,I+2),i.primitiveLength+=2,v){const r=e+(1===s?t.length-2:s-2),n=1===s?e:r+1;if(this.indexArray.emplaceBack(I+1,r,I+3),this.indexArray.emplaceBack(r,n,I+3),i.primitiveLength+=2,void 0===c&&(c=I),!tf(b,t[s],E)){const e=s===t.length-1?c:i.vertexLength;this.indexArray.emplaceBack(I+2,I+3,e),this.indexArray.emplaceBack(I+3,e+1,e),this.indexArray.emplaceBack(I+3,n,e+1),i.primitiveLength+=3}y=!y}if(u){const e=this.layoutVertexExtArray,t=h.projectTilePoint(d.x,d.y,r),i=h.projectTilePoint(x.x,x.y,r),n=h.upVector(r,d.x,d.y),o=h.upVector(r,x.x,x.y);Gp(e,t,n),Gp(e,t,n),Gp(e,i,o),Gp(e,i,o)}}d&&(e+=t.length-1),m&&v&&this.zoom>=17&&(0!==a.length&&w(a,a[0])&&a.pop(),this.groundEffect.addData(a,E,l,v>0))}this.footprintSegments.push(o),n.triangleCount=this.indexArray.length-n.triangleArrayOffset,this.polygonSegments.push(n),++f.footprintSegLen,++f.polygonSegLen}if(f.vertexCount=this.layoutVertexArray.length-f.vertexArrayOffset,f.groundVertexCount=this.groundEffect.vertexArray.length-f.groundVertexArrayOffset,0!==f.vertexCount){if(f.centroidXY=p.borders?Np:this.encodeCentroid(p,f),this.centroidData.push(f),p.borders){this.featuresOnBorder.push(p);const e=this.featuresOnBorder.length-1;for(let t=0;tthis.featuresOnBorder[t].borders[e][0]-this.featuresOnBorder[i].borders[e][0]))}splitToSubtiles(){const e=[];for(let s=0;sno),r=2*i+(+(t.min.x+t.max.x>no)^i);for(let n=0;ne.triangleSegmentIdx===t.triangleSegmentIdx?e.subtile-t.subtile:e.triangleSegmentIdx-t.triangleSegmentIdx));let i=0,r=0,n=0;for(const s of e){if(s.triangleSegmentIdx!==i)break;n++}const o=e.length;for(;r!==e.length;){i=e[r].triangleSegmentIdx;let s=0,a=r,l=r;for(let t=a;t0&&this.triangleSubSegments.push({segment:h,min:o,max:c}),a=l;for(let t=a;t[e[0]*(1-i[0])+t[0]*i[0],e[1]*(1-i[1])+t[1]*i[1]],d=[],p=[];for(const f of this.triangleSubSegments){d[0]=f.min.x/no,d[1]=f.min.y/no,p[0]=f.max.x/no,p[1]=f.max.y/no;const e=u(l,c,d),t=u(l,c,p);if(0===new mu([e[0],e[1],r],[t[0],t[1],n]).intersectsPrecise(i)){a&&(h.segments.push(a),a=void 0);continue}const o=f.segment;a&&a.vertexOffset!==o.vertexOffset&&(h.segments.push(a),a=void 0),a?(a.vertexLength+=o.vertexLength,a.primitiveLength+=o.primitiveLength):a={vertexOffset:o.vertexOffset,primitiveLength:o.primitiveLength,vertexLength:o.vertexLength,primitiveOffset:o.primitiveOffset,sortKey:void 0,vaos:{}}}return a&&h.segments.push(a),h}encodeCentroid(e,t){const i=e.centroid(),r=t.span(),n=Math.min(7,Math.round(r.x*this.tileToMeter/10)),o=Math.min(7,Math.round(r.y*this.tileToMeter/10));return new Vt(Ht(i.x,1,no-1)<<3|n,Ht(i.y,1,no-1)<<3|o)}encodeBorderCentroid(e){if(!e.borders)return new Vt(0,0);const t=e.borders,i=Number.MAX_VALUE;if(t[0][0]!==i||t[1][0]!==i){const e=t[0][0]!==i?0:1;return new Vt(6|(t[0][0]!==i?0:65528),(t[e][0]+t[e][1])/2<<3|6)}{const e=t[2][0]!==i?2:3;return new Vt((t[e][0]+t[e][1])/2<<3|6,6|(t[2][0]!==i?0:65528))}}showCentroid(e){const t=this.centroidData[e.centroidDataIndex];t.flags&=Vp,t.centroidXY.x=0,t.centroidXY.y=0,this.writeCentroidToBuffer(t)}writeCentroidToBuffer(e){this.groundEffect.updateHiddenByLandmark(e);const t=e.vertexArrayOffset,i=e.vertexCount+e.vertexArrayOffset,r=e.flags&Vp?Np:e.centroidXY,n=this.centroidVertexArray.geta_centroid_pos0(t);if(this.centroidVertexArray.geta_centroid_pos1(t)!==r.y||n!==r.x){for(let e=t;ei.max.x||i.min.x>n.max.x||n.min.y>i.max.y||i.min.y>n.max.y))for(let o=0;ot!=l>t&&e<(this.footprintVertices.int16[2*(a+o.vertexOffset)+0]-i)*(t-s)/(l-s)+i&&(r=!r)}s=i}}return r}getHeightAtTileCoord(e,t){let i=Number.NEGATIVE_INFINITY,r=!0;const n=4*(e+no)*no+(t+no);if(this.partLookup.hasOwnProperty(n)){const e=this.partLookup[n];return e?{height:e.height,hidden:!!(e.flags&Vp)}:void 0}for(const o of this.centroidData)e>o.max.x||o.min.x>e||t>o.max.y||o.min.y>t||this.footprintContainsPoint(e,t,o)&&o&&o.height>i&&(i=o.height,this.partLookup[n]=o,r=!!(o.flags&Vp));if(i!==Number.NEGATIVE_INFINITY)return{height:i,hidden:r};this.partLookup[n]=void 0}}function Kp(e,t){const i=e.add(t)._unit();return e.x*i.x+e.y*i.y}function Jp(e,t,i,r){const n=t.sub(e)._perp()._unit(),o=i.sub(t)._perp()._unit();return ef(e,t,i,Kp(n,o),r)}function ef(e,t,i,r,n){const o=Math.sqrt(1-r*r);return Math.min(e.dist(t)/3,t.dist(i)/3,n*o/r)}function tf(e,t,i){return e.xi[1].x&&t.x>i[1].x||e.yi[1].y&&t.y>i[1].y}function rf(e,t){return e.xt[1].x||e.yt[1].y}function nf(e,t,i){if(e.x<0||e.x>=no||t.x<0||t.x>=no||i.x<0||i.x>=no)return!1;const r=i.sub(t),n=r.perp(),o=e.sub(t);return(r.x*o.x+r.y*o.y)/Math.sqrt((r.x*r.x+r.y*r.y)*(o.x*o.x+o.y*o.y))>-.866&&n.x*o.x+n.y*o.y<0}function of(e,t,i){const r=t?2|e:-3&e;return i?1|r:-2&r}function sf(){const e=Math.PI/32,t=Math.tan(e),i=nh;return i*Math.sqrt(1+2*t*t)-i}function af(e,t,i){const r=1<4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5?arguments[5]:void 0;const s=[];if(!e.length||!i||!r)return s;const a=(e,t)=>{for(const i of e)s.push({polygon:i,bounds:t})},l=Math.ceil(Math.log2(i)),c=Math.ceil(Math.log2(r)),h=l-c,u=[];for(let f=0;f0?0:1);for(let f=0;ft+1?p.push({polygons:d,bounds:e,depth:t+1}):a(d,e)}if(f.length){const e=[new Vt(0===i?h:r.x,1===i?h:r.y),s];u.length>t+1?p.push({polygons:f,bounds:e,depth:t+1}):a(f,e)}}return s}(e,t,Math.ceil((o-n)/11.25),Math.ceil((s-a)/11.25),1,((e,t,n)=>{if(0===e)return.5*(t+n);{const e=wh((i.y+t/no)/r);return(xh(.5*(wh((i.y+n/no)/r)+e))*r-i.y)*no}}))}function lf(e,t,i,r,n,o){const s=Math.pow(2,r.z-n.z);for(let a=0;a1&&(s=e[++o]);const l=Math.abs(a-s.left),c=Math.abs(a-s.right),h=Math.min(l,c);let u;const d=n/i*(r+1);if(s.isDash){const e=r-Math.abs(d);u=Math.sqrt(h*h+e*e)}else u=r-Math.sqrt(h*h+d*d);this.image.data[t+a]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(e,t){for(let a=e.length-1;a>=0;--a){const t=e[a],i=e[a+1];t.zeroLength?e.splice(a,1):i&&i.isDash===t.isDash&&(i.left=t.left,e.splice(a,1))}const i=e[0],r=e[e.length-1];i.isDash===r.isDash&&(i.left=r.left-this.width,r.right=i.right+this.width);const n=this.width*this.nextRow;let o=0,s=e[o];for(let a=0;a1&&(s=e[++o]);const i=Math.abs(a-s.left),r=Math.abs(a-s.right),l=Math.min(i,r);this.image.data[n+a]=Math.max(0,Math.min(255,(s.isDash?l:-l)+t+128))}}addDash(e,t){const i=this.getKey(e,t);if(this.positions[i])return this.positions[i];const r="round"===t,n=r?7:0,o=2*n+1;if(this.nextRow+o>this.height)return ui("LineAtlas out of space"),null;0===e.length&&e.push(1);let s=0;for(let c=0;ce.fqid)),this.index=e.index,this.projection=e.projection,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((e=>{this.gradients[e.id]={}})),this.layoutVertexArray=new Cl,this.layoutVertexArray2=new Pl,this.patternVertexArray=new zl,this.indexArray=new Gl,this.programConfigurations=new jc(e.layers,e.zoom),this.segments=new mc,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id))}populate(e,t,i,r){this.hasPattern=jd("line",this.layers,t);const n=this.layers[0].layout.get("line-sort-key"),o=[];for(const{feature:c,id:h,index:u,sourceLayerIndex:d}of e){const e=this.layers[0]._featureFilter.needGeometry,t=Fh(c,e);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),t,i))continue;const s=n?n.evaluate(t,{},i):void 0,a={id:h,properties:c.properties,type:c.type,sourceLayerIndex:d,index:u,geometry:e?t.geometry:Bh(c,i,r),patterns:{},sortKey:s};o.push(a)}n&&o.sort(((e,t)=>e.sortKey-t.sortKey));const{lineAtlas:s,featureIndex:a}=t,l=this.addConstantDashes(s);for(const c of o){const{geometry:r,index:n,sourceLayerIndex:o}=c;if(l&&this.addFeatureDashes(c,s),this.hasPattern){const e=Gd("line",this.layers,c,this.zoom,t);this.patternFeatures.push(e)}else this.addFeature(c,r,n,i,s.positions,t.availableImages,t.brightness);a.insert(e[n].feature,r,n,o,this.index)}}addConstantDashes(e){let t=!1;for(const i of this.layers){const r=i.paint.get("line-dasharray").value,n=i.layout.get("line-cap").value;if("constant"!==r.kind||"constant"!==n.kind)t=!0;else{const t=n.value,i=r.value;if(!i)continue;e.addDash(i,t)}}return t}addFeatureDashes(e,t){const i=this.zoom;for(const r of this.layers){const n=r.paint.get("line-dasharray").value,o=r.layout.get("line-cap").value;if("constant"===n.kind&&"constant"===o.kind)continue;let s,a;if("constant"===n.kind){if(s=n.value,!s)continue}else s=n.evaluate({zoom:i},e);a="constant"===o.kind?o.value:o.evaluate({zoom:i},e),t.addDash(s,a),e.patterns[r.id]=t.getKey(s,a)}}update(e,t,i,r,n){const o=0!==Object.keys(e).length;o&&!this.stateDependentLayers.length||this.programConfigurations.updatePaintArrays(e,t,o?this.stateDependentLayers:this.layers,i,r,n)}addFeatures(e,t,i,r,n,o){for(const s of this.patternFeatures)this.addFeature(s,s.geometry,s.index,t,i,r,o)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,yf)),0!==this.patternVertexArray.length&&(this.patternVertexBuffer=e.createVertexBuffer(this.patternVertexArray,vf)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,_f),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&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,t,i,r,n,o,s){const a=this.layers[0].layout,l=a.get("line-join").evaluate(e,{}),c=a.get("line-cap").evaluate(e,{}),h=a.get("line-miter-limit"),u=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(const d of t)this.addLine(d,e,l,c,h,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,i,n,o,r,s)}addLine(e,t,i,r,n,o){this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineSoFar=0;const s="none"===i;if(this.patternJoinNone=this.hasPattern&&s,this.segmentStart=0,this.segmentPoints=[],this.lineClips){this.lineClipsArray.push(this.lineClips);for(let t=0;t=2&&e[l-1].equals(e[l-2]);)l--;let c=0;for(;c0;if(E&&g>c){const e=d.dist(p);if(e>2*h){const t=d.sub(d.sub(p)._mult(h/e)._round());this.updateDistance(p,t),this.addCurrentVertex(t,m,0,0,u),p=t}}if(t&&"round"===y&&(wn&&(y="bevel"),"bevel"===y&&(w>2&&(y="flipbevel"),w100)v=_.mult(-1);else{const e=w*m.add(_).mag()/m.sub(_).mag();v._perp()._mult(e*(S?-1:1))}this.addCurrentVertex(d,v,0,0,u),this.addCurrentVertex(d,v.mult(-1),0,0,u)}else if("bevel"===y||"fakeround"===y){const e=-Math.sqrt(w*w-1),t=S?e:0,i=S?0:e;if(p&&this.addCurrentVertex(d,m,t,i,u),"fakeround"===y){const e=Math.round(180*T/Math.PI/20);for(let t=1;t2*h){const t=d.add(f.sub(d)._mult(h/e)._round());this.updateDistance(d,t),this.addCurrentVertex(t,_,0,0,u),d=t}}}}addCurrentVertex(e,t,i,r,n){let o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];const s=t.y*r-t.x,a=-t.y-t.x*r;this.addHalfVertex(e,t.x+t.y*i,t.y-t.x*i,o,!1,i,n),this.addHalfVertex(e,s,a,o,!0,-r,n),this.patternJoinNone&&this.segmentPoints.push(this.lineSoFar-this.segmentStart,i)}addHalfVertex(e,t,i,r,n,o,s){let{x:a,y:l}=e;this.layoutVertexArray.emplaceBack((a<<1)+(r?1:0),(l<<1)+(n?1:0),Math.round(63*t)+128,Math.round(63*i)+128,1+(0===o?0:o<0?-1:1),0,this.lineSoFar),this.lineClips&&this.layoutVertexArray2.emplaceBack(this.scaledDistance,this.lineClipsArray.length,this.lineClips.start,this.lineClips.end);const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),n?this.e2=c:this.e1=c}updateScaledDistance(){if(this.lineClips){const e=this.totalDistance/(this.lineClips.end-this.lineClips.start);this.scaledDistance=this.distance/this.totalDistance,this.lineSoFar=e*this.lineClips.start+this.distance}else this.lineSoFar=this.distance}updateDistance(e,t){this.distance+=e.dist(t),this.updateScaledDistance()}}fa(Sf,"LineBucket",{omit:["layers","patternFeatures"]});const Mf=new Ka({"line-cap":new Xa(tl.layout_line["line-cap"]),"line-join":new Xa(tl.layout_line["line-join"]),"line-miter-limit":new Ha(tl.layout_line["line-miter-limit"]),"line-round-limit":new Ha(tl.layout_line["line-round-limit"]),"line-sort-key":new Xa(tl.layout_line["line-sort-key"]),visibility:new Ha(tl.layout_line.visibility)});var Af={paint:new Ka({"line-opacity":new Xa(tl.paint_line["line-opacity"]),"line-color":new Xa(tl.paint_line["line-color"]),"line-translate":new Ha(tl.paint_line["line-translate"]),"line-translate-anchor":new Ha(tl.paint_line["line-translate-anchor"]),"line-width":new Xa(tl.paint_line["line-width"]),"line-gap-width":new Xa(tl.paint_line["line-gap-width"]),"line-offset":new Xa(tl.paint_line["line-offset"]),"line-blur":new Xa(tl.paint_line["line-blur"]),"line-dasharray":new Xa(tl.paint_line["line-dasharray"]),"line-pattern":new Xa(tl.paint_line["line-pattern"]),"line-gradient":new Ya(tl.paint_line["line-gradient"]),"line-trim-offset":new Ha(tl.paint_line["line-trim-offset"]),"line-emissive-strength":new Ha(tl.paint_line["line-emissive-strength"]),"line-border-width":new Xa(tl.paint_line["line-border-width"]),"line-border-color":new Xa(tl.paint_line["line-border-color"])}),layout:Mf};function If(e,t,i){return t*(no/(e.tileSize*Math.pow(2,i-e.tileID.overscaledZ)))}function Cf(e,t){return 1/If(e,1,t.tileZoom)}function Pf(e,t,i,r){return e.translatePosMatrix(r||t.tileID.projMatrix,t,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const zf=e=>{const t=[];Df(e)&&t.push("RENDER_LINE_DASH"),e.paint.get("line-gradient")&&t.push("RENDER_LINE_GRADIENT");const i=e.paint.get("line-trim-offset");0===i[0]&&0===i[1]||t.push("RENDER_LINE_TRIM_OFFSET"),0!==e.paint.get("line-border-width").constantOr(1)&&t.push("RENDER_LINE_BORDER");const r="none"===e.layout.get("line-join").constantOr("miter"),n=!!e.paint.get("line-pattern").constantOr(1);return r&&n&&t.push("LINE_JOIN_NONE"),t};function Df(e){const t=e.paint.get("line-dasharray").value;return t.value||"constant"!==t.kind}const Rf=new class extends Xa{possiblyEvaluate(e,t){return t=new Va(Math.floor(t.zoom),{now:t.now,fadeDuration:t.fadeDuration,transition:t.transition}),super.possiblyEvaluate(e,t)}evaluate(e,t,i,r){return t=Jt({},t,{zoom:Math.floor(t.zoom)}),super.evaluate(e,t,i,r)}}(Af.paint.properties["line-width"].specification);function Lf(e,t){return t>0?t+2*e:e}Rf.useIntegerZoom=!0;const kf=Tl([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_tex_size",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Of=Tl([{name:"a_globe_anchor",components:3,type:"Int16"},{name:"a_globe_normal",components:3,type:"Float32"}],4),Bf=Tl([{name:"a_projected_pos",components:4,type:"Float32"}],4);Tl([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Ff=Tl([{name:"a_z_offset",components:1,type:"Float32"}],4),Nf=Tl([{name:"a_texb",components:2,type:"Uint16"}]),Vf=Tl([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}]),Uf=Tl([{name:"a_size_scale",components:1,type:"Float32"},{name:"a_padding",components:2,type:"Float32"},{name:"a_z_offset",components:1,type:"Float32"}]);Tl([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Int16",name:"tileAnchorX"},{type:"Int16",name:"tileAnchorY"},{type:"Float32",name:"x1"},{type:"Float32",name:"y1"},{type:"Float32",name:"x2"},{type:"Float32",name:"y2"},{type:"Int16",name:"padding"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const jf=Tl([{name:"a_pos",components:3,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Gf=Tl([{name:"a_pos_2f",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);Tl([{name:"triangle",components:3,type:"Uint16"}]),Tl([{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{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:"Uint8",name:"flipState"}]),Tl([{type:"Float32",name:"tileAnchorX"},{type:"Float32",name:"tileAnchorY"},{type:"Int16",name:"projectedAnchorX"},{type:"Int16",name:"projectedAnchorY"},{type:"Int16",name:"projectedAnchorZ"},{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",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Float32",name:"zOffset"},{type:"Uint8",name:"hasIconTextFit"}]),Tl([{type:"Float32",name:"offsetX"}]),Tl([{type:"Int16",name:"x"},{type:"Int16",name:"y"}]);var qf=24;const Zf=128;function $f(e,t){const{expression:i}=t;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Va(e+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:t,interpolationType:r}=i;let n=0;for(;n{e.text=function(e,t,i){const r=t.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?e=e.toLocaleUpperCase():"lowercase"===r&&(e=e.toLocaleLowerCase()),Na.applyArabicShaping&&(e=Na.applyArabicShaping(e)),e}(e.text,t,i)})),e}const Yf={"!":"\ufe15","#":"\uff03",$:"\uff04","%":"\uff05","&":"\uff06","(":"\ufe35",")":"\ufe36","*":"\uff0a","+":"\uff0b",",":"\ufe10","-":"\ufe32",".":"\u30fb","/":"\uff0f",":":"\ufe13",";":"\ufe14","<":"\ufe3f","=":"\uff1d",">":"\ufe40","?":"\ufe16","@":"\uff20","[":"\ufe47","\\":"\uff3c","]":"\ufe48","^":"\uff3e",_:"\ufe33","`":"\uff40","{":"\ufe37","|":"\u2015","}":"\ufe38","~":"\uff5e","\xa2":"\uffe0","\xa3":"\uffe1","\xa5":"\uffe5","\xa6":"\uffe4","\xac":"\uffe2","\xaf":"\uffe3","\u2013":"\ufe32","\u2014":"\ufe31","\u2018":"\ufe43","\u2019":"\ufe44","\u201c":"\ufe41","\u201d":"\ufe42","\u2026":"\ufe19","\u2027":"\u30fb","\u20a9":"\uffe6","\u3001":"\ufe11","\u3002":"\ufe12","\u3008":"\ufe3f","\u3009":"\ufe40","\u300a":"\ufe3d","\u300b":"\ufe3e","\u300c":"\ufe41","\u300d":"\ufe42","\u300e":"\ufe43","\u300f":"\ufe44","\u3010":"\ufe3b","\u3011":"\ufe3c","\u3014":"\ufe39","\u3015":"\ufe3a","\u3016":"\ufe17","\u3017":"\ufe18","\uff01":"\ufe15","\uff08":"\ufe35","\uff09":"\ufe36","\uff0c":"\ufe10","\uff0d":"\ufe32","\uff0e":"\u30fb","\uff1a":"\ufe13","\uff1b":"\ufe14","\uff1c":"\ufe3f","\uff1e":"\ufe40","\uff1f":"\ufe16","\uff3b":"\ufe47","\uff3d":"\ufe48","\uff3f":"\ufe33","\uff5b":"\ufe37","\uff5c":"\u2015","\uff5d":"\ufe38","\uff5f":"\ufe35","\uff60":"\ufe36","\uff61":"\ufe12","\uff62":"\ufe41","\uff63":"\ufe42","\u2190":"\u2191","\u2192":"\u2193"};function Kf(e){return"\ufe36"===e||"\ufe48"===e||"\ufe38"===e||"\ufe44"===e||"\ufe42"===e||"\ufe3e"===e||"\ufe3c"===e||"\ufe3a"===e||"\ufe18"===e||"\ufe40"===e||"\ufe10"===e||"\ufe13"===e||"\ufe14"===e||"\uff40"===e||"\uffe3"===e||"\ufe11"===e||"\ufe12"===e}function Jf(e){return"\ufe35"===e||"\ufe47"===e||"\ufe37"===e||"\ufe43"===e||"\ufe41"===e||"\ufe3d"===e||"\ufe3b"===e||"\ufe39"===e||"\ufe17"===e||"\ufe3f"===e}var em={read:function(e,t,i,r,n){var o,s,a=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,d=i?-1:1,p=e[t+u];for(u+=d,o=p&(1<<-h)-1,p>>=-h,h+=a;h>0;o=256*o+e[t+u],u+=d,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=r;h>0;s=256*s+e[t+u],u+=d,h-=8);if(0===o)o=1-c;else{if(o===l)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=c}return(p?-1:1)*s*Math.pow(2,o-r)},write:function(e,t,i,r,n,o){var s,a,l,c=8*o-n-1,h=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=h):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(s++,l/=2),s+u>=h?(a=0,s=h):s+u>=1?(a=(t*l-1)*Math.pow(2,n),s+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,n),s=0));n>=8;e[i+p]=255&a,p+=f,a/=256,n-=8);for(s=s<0;e[i+p]=255&s,p+=f,s/=256,c-=8);e[i+p-f]|=128*m}},tm=rm,im=em;function rm(e){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(e)?e:new Uint8Array(e||0),this.pos=0,this.type=0,this.length=this.buf.length}rm.Varint=0,rm.Fixed64=1,rm.Bytes=2,rm.Fixed32=5;var nm=4294967296,om=1/nm,sm="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function am(e){return e.type===rm.Bytes?e.readVarint()+e.pos:e.pos+1}function lm(e,t,i){return i?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function cm(e,t,i){var r=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=e;n--)i.buf[n+r]=i.buf[n]}function hm(e,t){for(var i=0;i>>8,e[i+2]=t>>>16,e[i+3]=t>>>24}function bm(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16)+(e[t+3]<<24)}rm.prototype={destroy:function(){this.buf=null},readFields:function(e,t,i){for(i=i||this.length;this.pos>3,o=this.pos;this.type=7&r,e(n,t,this),this.pos===o&&this.skip(r)}return t},readMessage:function(e,t){return this.readFields(e,t,this.readVarint()+this.pos)},readFixed32:function(){var e=xm(this.buf,this.pos);return this.pos+=4,e},readSFixed32:function(){var e=bm(this.buf,this.pos);return this.pos+=4,e},readFixed64:function(){var e=xm(this.buf,this.pos)+xm(this.buf,this.pos+4)*nm;return this.pos+=8,e},readSFixed64:function(){var e=xm(this.buf,this.pos)+bm(this.buf,this.pos+4)*nm;return this.pos+=8,e},readFloat:function(){var e=im.read(this.buf,this.pos,!0,23,4);return this.pos+=4,e},readDouble:function(){var e=im.read(this.buf,this.pos,!0,52,8);return this.pos+=8,e},readVarint:function(e){var t,i,r=this.buf;return t=127&(i=r[this.pos++]),i<128?t:(t|=(127&(i=r[this.pos++]))<<7,i<128?t:(t|=(127&(i=r[this.pos++]))<<14,i<128?t:(t|=(127&(i=r[this.pos++]))<<21,i<128?t:function(e,t,i){var r,n,o=i.buf;if(r=(112&(n=o[i.pos++]))>>4,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<3,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<10,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<17,n<128)return lm(e,r,t);if(r|=(127&(n=o[i.pos++]))<<24,n<128)return lm(e,r,t);if(r|=(1&(n=o[i.pos++]))<<31,n<128)return lm(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(i=r[this.pos]))<<28,e,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var e=this.readVarint();return e%2==1?(e+1)/-2:e/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&sm?function(e,t,i){return sm.decode(e.subarray(t,i))}(this.buf,t,e):function(e,t,i){for(var r="",n=t;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(o=e[n+1]))&&(c=(31&l)<<6|63&o)<=127&&(c=null):3===h?(s=e[n+2],128==(192&(o=e[n+1]))&&128==(192&s)&&((c=(15&l)<<12|(63&o)<<6|63&s)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(s=e[n+2],a=e[n+3],128==(192&(o=e[n+1]))&&128==(192&s)&&128==(192&a)&&((c=(15&l)<<18|(63&o)<<12|(63&s)<<6|63&a)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,h=1):c>65535&&(c-=65536,r+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),r+=String.fromCharCode(c),n+=h}return r}(this.buf,t,e)},readBytes:function(){var e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t},readPackedVarint:function(e,t){if(this.type!==rm.Bytes)return e.push(this.readVarint(t));var i=am(this);for(e=e||[];this.pos127;);else if(t===rm.Bytes)this.pos=this.readVarint()+this.pos;else if(t===rm.Fixed32)this.pos+=4;else{if(t!==rm.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(e,t){this.writeVarint(e<<3|t)},realloc:function(e){for(var t=this.length||16;t268435455||e<0?function(e,t){var i,r;if(e>=0?(i=e%4294967296|0,r=e/4294967296|0):(r=~(-e/4294967296),4294967295^(i=~(-e%4294967296))?i=i+1|0:(i=0,r=r+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,i){i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,e>>>=7,i.buf[i.pos++]=127&e|128,i.buf[i.pos]=127&(e>>>=7)}(i,0,t),function(e,t){var i=(7&e)<<4;t.buf[t.pos++]|=i|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(r,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))},writeSVarint:function(e){this.writeVarint(e<0?2*-e-1:2*e)},writeBoolean:function(e){this.writeVarint(Boolean(e))},writeString:function(e){e=String(e),this.realloc(4*e.length),this.pos++;var t=this.pos;this.pos=function(e,t,i){for(var r,n,o=0;o55295&&r<57344){if(!n){r>56319||o+1===t.length?(e[i++]=239,e[i++]=191,e[i++]=189):n=r;continue}if(r<56320){e[i++]=239,e[i++]=191,e[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(e[i++]=239,e[i++]=191,e[i++]=189,n=null);r<128?e[i++]=r:(r<2048?e[i++]=r>>6|192:(r<65536?e[i++]=r>>12|224:(e[i++]=r>>18|240,e[i++]=r>>12&63|128),e[i++]=r>>6&63|128),e[i++]=63&r|128)}return i}(this.buf,e,this.pos);var i=this.pos-t;i>=128&&cm(t,i,this),this.pos=t-1,this.writeVarint(i),this.pos+=i},writeFloat:function(e){this.realloc(4),im.write(this.buf,e,this.pos,!0,23,4),this.pos+=4},writeDouble:function(e){this.realloc(8),im.write(this.buf,e,this.pos,!0,52,8),this.pos+=8},writeBytes:function(e){var t=e.length;this.writeVarint(t),this.realloc(t);for(var i=0;i=128&&cm(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(e,t,i){this.writeTag(e,rm.Bytes),this.writeRawMessage(t,i)},writePackedVarint:function(e,t){t.length&&this.writeMessage(e,hm,t)},writePackedSVarint:function(e,t){t.length&&this.writeMessage(e,um,t)},writePackedBoolean:function(e,t){t.length&&this.writeMessage(e,fm,t)},writePackedFloat:function(e,t){t.length&&this.writeMessage(e,dm,t)},writePackedDouble:function(e,t){t.length&&this.writeMessage(e,pm,t)},writePackedFixed32:function(e,t){t.length&&this.writeMessage(e,mm,t)},writePackedSFixed32:function(e,t){t.length&&this.writeMessage(e,_m,t)},writePackedFixed64:function(e,t){t.length&&this.writeMessage(e,gm,t)},writePackedSFixed64:function(e,t){t.length&&this.writeMessage(e,ym,t)},writeBytesField:function(e,t){this.writeTag(e,rm.Bytes),this.writeBytes(t)},writeFixed32Field:function(e,t){this.writeTag(e,rm.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(e,t){this.writeTag(e,rm.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(e,t){this.writeTag(e,rm.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(e,t){this.writeTag(e,rm.Fixed64),this.writeSFixed64(t)},writeVarintField:function(e,t){this.writeTag(e,rm.Varint),this.writeVarint(t)},writeSVarintField:function(e,t){this.writeTag(e,rm.Varint),this.writeSVarint(t)},writeStringField:function(e,t){this.writeTag(e,rm.Bytes),this.writeString(t)},writeFloatField:function(e,t){this.writeTag(e,rm.Fixed32),this.writeFloat(t)},writeDoubleField:function(e,t){this.writeTag(e,rm.Fixed64),this.writeDouble(t)},writeBooleanField:function(e,t){this.writeVarintField(e,Boolean(t))}};var wm=u(tm);const Tm=3;function Em(e,t,i){t.glyphs=[],1===e&&i.readMessage(Sm,t)}function Sm(e,t,i){if(3===e){const{id:e,bitmap:r,width:n,height:o,left:s,top:a,advance:l}=i.readMessage(Mm,{});t.glyphs.push({id:e,bitmap:new id({width:n+2*Tm,height:o+2*Tm},r),metrics:{width:n,height:o,left:s,top:a,advance:l}})}else 4===e?t.ascender=i.readSVarint():5===e&&(t.descender=i.readSVarint())}function Mm(e,t,i){1===e?t.id=i.readVarint():2===e?t.bitmap=i.readBytes():3===e?t.width=i.readVarint():4===e?t.height=i.readVarint():5===e?t.left=i.readSVarint():6===e?t.top=i.readSVarint():7===e&&(t.advance=i.readVarint())}const Am=Tm,Im={horizontal:1,vertical:2,horizontalOnly:3};class Cm{constructor(){this.scale=1,this.fontStack="",this.imageName=null}static forText(e,t){const i=new Cm;return i.scale=e||1,i.fontStack=t,i}static forImage(e){const t=new Cm;return t.imageName=e,t}}class Pm{constructor(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null}static fromFeature(e,t){const i=new Pm;for(let r=0;r=0&&i>=e&&Dm[this.text.charCodeAt(i)];i--)t--;this.text=this.text.substring(e,t),this.sectionIndex=this.sectionIndex.slice(e,t)}substring(e,t){const i=new Pm;return i.text=this.text.substring(e,t),i.sectionIndex=this.sectionIndex.slice(e,t),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((e,t)=>Math.max(e,this.sections[t].scale)),0)}addTextSection(e,t){this.text+=e.text,this.sections.push(Cm.forText(e.scale,e.fontStack||t));const i=this.sections.length-1;for(let r=0;r=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function zm(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){const m=Pm.fromFeature(e,n);u===Im.vertical&&m.verticalizePunctuation(d);let _=[];const g=function(e,t,i,r,n,o){if(!e)return[];const s=[],a=function(e,t,i,r,n,o){let s=0;for(let a=0;a=0;let c=0;for(let u=0;u0&&o>v&&(v=o)}else{const e=i[s.fontStack];if(!e)continue;e[f]&&(E=e[f]);const r=t[s.fontStack];if(!r)continue;const o=r.glyphs[f];if(!o)continue;if(g=o.metrics,M=8203!==f?qf:0,_){const e=void 0!==r.ascender?Math.abs(r.ascender):0,t=void 0!==r.descender?Math.abs(r.descender):0,i=(e+t)*m;b-i/2;){if(s--,s<0)return!1;a-=e[s].dist(o),o=e[s]}a+=e[s].dist(e[s+1]),s++;const l=[];let c=0;for(;ar;)c-=l.shift().angleDelta;if(c>n)return!1;s++,a+=t.dist(i)}return!0}function Zm(e){let t=0;for(let i=0;ic){const o=(c-l)/n,u=jr(i.x,r.x,o),d=jr(i.y,r.y,o),p=new Gm(u,d,0,r.angleTo(i),h);return!s||qm(e,p,a,s,t)?p:void 0}l+=n}}function Hm(e,t,i,r,n,o,s,a,l){const c=$m(r,o,s),h=Wm(r,n),u=h*s,d=0===e[0].x||e[0].x===l||0===e[0].y||e[0].y===l;return t-u=0&&g=0&&y=0&&d+c<=h){const t=new Gm(g,y,0,m,f);r&&!qm(e,t,o,r,n)||p.push(t)}}u+=a}return a||p.length||s||(p=Xm(e,u/2,i,r,n,o,s,!0,l)),p}function Ym(e,t,i,r,n){const o=[];for(let s=0;s=r&&c.x>=r||(s.x>=r?s=new Vt(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round():c.x>=r&&(c=new Vt(r,s.y+(r-s.x)/(c.x-s.x)*(c.y-s.y))._round()),s.y>=n&&c.y>=n||(s.y>=n?s=new Vt(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round():c.y>=n&&(c=new Vt(s.x+(n-s.y)/(c.y-s.y)*(c.x-s.x),n)._round()),l&&s.equals(l[l.length-1])||(l=[s],o.push(l)),l.push(c)))))}}return o}function Km(e){let t=0,i=0;for(const s of e)t+=s.w*s.h,i=Math.max(i,s.w);e.sort(((e,t)=>t.h-e.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),i),h:1/0}];let n=0,o=0;for(const s of e)for(let e=r.length-1;e>=0;e--){const t=r[e];if(!(s.w>t.w||s.h>t.h)){if(s.x=t.x,s.y=t.y,o=Math.max(o,s.y+s.h),n=Math.max(n,s.x+s.w),s.w===t.w&&s.h===t.h){const t=r.pop();ee.hasImage(t,i))),e.dispatchRenderCallbacks(this.haveRenderCallbacks,i);for(const r in e.getUpdatedImages(i))this.patchUpdatedImage(this.iconPositions[r],e.getImage(r,i),t),this.patchUpdatedImage(this.patternPositions[r],e.getImage(r,i),t)}patchUpdatedImage(e,t,i){if(!e||!t)return;if(e.version===t.version)return;e.version=t.version;const[r,n]=e.tl,o=!!Object.keys(this.patternPositions).length;i.update(t.data,{useMipmap:o},{x:r,y:n})}}fa(e_,"ImagePosition"),fa(t_,"ImageAtlas");const i_=1e20;function r_(e,t,i,r,n,o,s,a,l){for(let c=t;c-1);l++,o[l]=a,s[l]=c,s[l+1]=i_}for(let a=0,l=0;a{let{stack:i,id:r}=e,n=this.entries[i];n||(n=this.entries[i]={glyphs:{},requests:{},ranges:{},ascender:void 0,descender:void 0});let s=n.glyphs[r];if(void 0!==s)return void t(null,{stack:i,id:r,glyph:s});if(s=this._tinySDF(n,i,r),s)return n.glyphs[r]=s,void t(null,{stack:i,id:r,glyph:s});const a=Math.floor(r/256);if(256*a>65535)return void t(new Error("glyphs > 65535 not supported"));if(n.ranges[a])return void t(null,{stack:i,id:r,glyph:s});let l=n.requests[a];l||(l=n.requests[a]=[],a_.loadGlyphRange(i,a,o,this.requestManager,((e,t)=>{if(t){n.ascender=t.ascender,n.descender=t.descender;for(const e in t.glyphs)this._doesCharSupportLocalGlyph(+e)||(n.glyphs[+e]=t.glyphs[+e]);n.ranges[a]=!0}for(const i of l)i(e,t);delete n.requests[a]}))),l.push(((e,n)=>{e?t(e):n&&t(null,{stack:i,id:r,glyph:n.glyphs[r]||null})}))}),((e,t)=>{if(e)i(e);else if(t){const e={};for(const{stack:i,id:r,glyph:n}of t)void 0===e[i]&&(e[i]={}),void 0===e[i].glyphs&&(e[i].glyphs={}),e[i].glyphs[r]=n&&{id:n.id,bitmap:n.bitmap.clone(),metrics:n.metrics},e[i].ascender=this.entries[i].ascender,e[i].descender=this.entries[i].descender;i(null,e)}}))}_doesCharSupportLocalGlyph(e){return this.localGlyphMode!==s_.none&&(this.localGlyphMode===s_.all?!!this.localFontFamily:!!this.localFontFamily&&(xa["CJK Unified Ideographs"](e)||xa["Hangul Syllables"](e)||xa.Hiragana(e)||xa.Katakana(e)||xa["CJK Symbols and Punctuation"](e)||xa["CJK Unified Ideographs Extension A"](e)||xa["CJK Unified Ideographs Extension B"](e)))}_tinySDF(e,t,i){const r=this.localFontFamily;if(!r||!this._doesCharSupportLocalGlyph(i))return;let n=e.tinySDF;if(!n){let i="400";/bold/i.test(t)?i="900":/medium/i.test(t)?i="500":/light/i.test(t)&&(i="200"),n=e.tinySDF=new a_.TinySDF({fontFamily:r,fontWeight:i,fontSize:24*o_,buffer:3*o_,radius:8*o_}),n.fontWeight=i}if(this.localGlyphs[n.fontWeight][i])return this.localGlyphs[n.fontWeight][i];const o=String.fromCodePoint(i),{data:s,width:a,height:l,glyphWidth:c,glyphHeight:h,glyphLeft:u,glyphTop:d,glyphAdvance:p}=n.draw(o);return this.localGlyphs[n.fontWeight][i]={id:i,bitmap:new id({width:a,height:l},s),metrics:{width:c/o_,height:h/o_,left:u/o_,top:d/o_-27,advance:p/o_,localGlyph:!0}}}}a_.loadGlyphRange=function(e,t,i,r,n){const o=256*t,s=o+255,a=r.transformRequest(r.normalizeGlyphsURL(i).replace("{fontstack}",e).replace("{range}",`${o}-${s}`),Hi.Glyphs);Ji(a,((e,t)=>{if(e)n(e);else if(t){const e={},i=function(e){return new wm(e).readFields(Em,{})}(t);for(const t of i.glyphs)e[t.id]=t;n(null,{glyphs:e,ascender:i.ascender,descender:i.descender})}}))},a_.TinySDF=class{constructor(){let{fontSize:e=24,buffer:t=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:o="normal",fontStyle:s="normal"}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.buffer=t,this.cutoff=r,this.radius=i;const a=this.size=e+4*t,l=this._createCanvas(a),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${s} ${o} ${e}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(a*a),this.gridInner=new Float64Array(a*a),this.f=new Float64Array(a),this.z=new Float64Array(a+1),this.v=new Uint16Array(a)}_createCanvas(e){const t=document.createElement("canvas");return t.width=t.height=e,t}draw(e){const{width:t,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:o}=this.ctx.measureText(e),s=Math.ceil(i),a=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-n))),l=Math.min(this.size-this.buffer,s+Math.ceil(r)),c=a+2*this.buffer,h=l+2*this.buffer,u=Math.max(c*h,0),d=new Uint8ClampedArray(u),p={data:d,width:c,height:h,glyphWidth:a,glyphHeight:l,glyphTop:s,glyphLeft:0,glyphAdvance:t};if(0===a||0===l)return p;const{ctx:f,buffer:m,gridInner:_,gridOuter:g}=this;f.clearRect(m,m,a,l),f.fillText(e,m,m+s);const y=f.getImageData(m,m,a,l);g.fill(i_,0,u),_.fill(0,0,u);for(let x=0;x0?e*e:0,_[i]=e<0?e*e:0}}r_(g,0,0,c,h,c,this.f,this.v,this.z),r_(_,m,m,a,l,c,this.f,this.v,this.z);for(let x=0;xe+t[1]-t[0],f=u.reduce(p,0),m=d.reduce(p,0),_=a-f,g=l-m;let y=0,x=f,v=0,b=m,w=0,T=_,E=0,S=g;if(o.content&&r){const e=o.content;y=h_(u,0,e[0]),v=h_(d,0,e[1]),x=h_(u,e[0],e[2]),b=h_(d,e[1],e[3]),w=e[0]-y,E=e[1]-v,T=e[2]-e[0]-x,S=e[3]-e[1]-b}const M=(r,n,a,l)=>{const u=d_(r.stretch-y,x,c,e.left),d=p_(r.fixed-w,T,r.stretch,f),p=d_(n.stretch-v,b,h,e.top),_=p_(n.fixed-E,S,n.stretch,m),g=d_(a.stretch-y,x,c,e.left),M=p_(a.fixed-w,T,a.stretch,f),A=d_(l.stretch-v,b,h,e.top),I=p_(l.fixed-E,S,l.stretch,m),C=new Vt(u,p),P=new Vt(g,p),z=new Vt(g,A),D=new Vt(u,A),R=new Vt(d/s,_/s),L=new Vt(M/s,I/s),k=t*Math.PI/180;if(k){const e=Math.sin(k),t=Math.cos(k),i=[t,-e,e,t];C._matMult(i),P._matMult(i),D._matMult(i),z._matMult(i)}const O=r.stretch+r.fixed,B=a.stretch+a.fixed,F=n.stretch+n.fixed,N=l.stretch+l.fixed,V=e.imageSecondary;return{tl:C,tr:P,bl:D,br:z,texPrimary:{x:o.paddedRect.x+l_+O,y:o.paddedRect.y+l_+F,w:B-O,h:N-F},texSecondary:V?{x:V.paddedRect.x+l_+O,y:V.paddedRect.y+l_+F,w:B-O,h:N-F}:void 0,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:R,pixelOffsetBR:L,minFontScaleX:T/s/c,minFontScaleY:S/s/h,isSDF:i}};if(r&&(o.stretchX||o.stretchY)){const e=u_(u,_,f),t=u_(d,g,m);for(let i=0;i1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=1/0,n=1/0,o=-1/0,s=-1/0;const a=e[0];for(let p=0;po)&&(o=e.x),(!p||e.y>s)&&(s=e.y)}const l=Math.min(o-r,s-n);let c=l/2;const h=new ro([],__);if(0===l)return new Vt(r,n);for(let p=r;pu.d||!u.d)&&(u=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,d)),r.max-u.d<=t||(c=r.h/2,h.push(new g_(r.p.x-c,r.p.y-c,c,e)),h.push(new g_(r.p.x+c,r.p.y-c,c,e)),h.push(new g_(r.p.x-c,r.p.y+c,c,e)),h.push(new g_(r.p.x+c,r.p.y+c,c,e)),d+=4)}return i&&(console.log(`num probes: ${d}`),console.log(`best distance: ${u.d}`)),u.p}function __(e,t){return t.max-e.max}class g_{constructor(e,t,i,r){this.p=new Vt(e,t),this.h=i,this.d=function(e,t){let i=!1,r=1/0;for(let n=0;ne.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i),r=Math.min(r,Hh(e,n,a))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}}const y_=Number.POSITIVE_INFINITY,x_=Math.sqrt(2);function v_(e,t){let[i,r]=t,n=0,o=0;if(r===y_){i<0&&(i=0);const t=i/x_;switch(e){case"top-right":case"top-left":o=t-7;break;case"bottom-right":case"bottom-left":o=7-t;break;case"bottom":o=7-i;break;case"top":o=i-7}switch(e){case"top-right":case"bottom-right":n=-t;break;case"top-left":case"bottom-left":n=t;break;case"left":n=i;break;case"right":n=-i}}else{switch(i=Math.abs(i),r=Math.abs(r),e){case"top-right":case"top-left":case"top":o=r-7;break;case"bottom-right":case"bottom-left":case"bottom":o=7-r}switch(e){case"top-right":case"bottom-right":case"right":n=-i;break;case"top-left":case"bottom-left":case"left":n=i}}return[n,o]}function b_(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 w_(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f){let m=o.textMaxSize.evaluate(t,{},u);void 0===m&&(m=s);const _=e.layers[0].layout,g=_.get("icon-offset").evaluate(t,{},u),y=M_(i.horizontal)||i.vertical,x="globe"===d.name,v=qf,b=s/v,w=e.tilePixelRatio*m/v,T=(z=e.overscaling,e.zoom>18&&z>2&&(z>>=1),Math.max(no/(512*z),1)*_.get("symbol-spacing")),E=_.get("text-padding")*e.tilePixelRatio,S=_.get("icon-padding")*e.tilePixelRatio,M=Gt(_.get("text-max-angle")),A="map"===_.get("text-rotation-alignment")&&"point"!==_.get("symbol-placement"),I="map"===_.get("icon-rotation-alignment")&&"point"!==_.get("symbol-placement"),C=_.get("symbol-placement"),P=T/2;var z;const D=_.get("icon-text-fit").evaluate(t,{},u),R=_.get("icon-text-fit-padding").evaluate(t,{},u),L="none"!==D;let k;!1===e.hasAnyIconTextFit&&L&&(e.hasAnyIconTextFit=!0),r&&L&&(e.allowVerticalPlacement&&i.vertical&&(k=jm(r,i.vertical,D,R,g,b)),y&&(r=jm(r,y,D,R,g,b)));const O=(s,a,m)=>{if(a.x<0||a.x>=no||a.y<0||a.y>=no)return;let _=null;if(x){const{x:e,y:t,z:i}=d.projectTilePoint(a.x,a.y,m);_={anchor:new Gm(e,t,i,0,void 0),up:d.upVector(m,a.x,a.y)}}!function(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,E,S,M){const A=e.addToLineVertexArray(t,r);let I,C,P,z,D,R,L,k=0,O=0,B=0,F=0,N=-1,V=-1;const U={};let j=Pr("");const G=i?i.anchor:t,q="none"!==l.layout.get("icon-text-fit").evaluate(v,{},E);let Z=0,$=0;if(void 0===l._unevaluatedLayout.getValue("text-radial-offset")?[Z,$]=l.layout.get("text-offset").evaluate(v,{},E).map((e=>e*qf)):(Z=l.layout.get("text-radial-offset").evaluate(v,{},E)*qf,$=y_),e.allowVerticalPlacement&&n.vertical){const e=n.vertical;if(f)R=I_(e),a&&(L=I_(a));else{const i=l.layout.get("text-rotate").evaluate(v,{},E)+90;P=A_(c,G,t,h,u,d,e,p,i,m),a&&(z=A_(c,G,t,h,u,d,a,g,i))}}if(o){const r=l.layout.get("icon-rotate").evaluate(v,{},E),n=c_(o,r,w,q),s=a?c_(a,r,w,q):void 0;C=A_(c,G,t,h,u,d,o,g,r),k=4*n.length;const p=e.iconSizeData;let f=null;"source"===p.kind?(f=[Zf*l.layout.get("icon-size").evaluate(v,{},E)],f[0]>E_&&ui(`${e.layerIds[0]}: Value for "icon-size" is >= ${T_}. Reduce your "icon-size".`)):"composite"===p.kind&&(f=[Zf*b.compositeIconSizes[0].evaluate(v,{},E),Zf*b.compositeIconSizes[1].evaluate(v,{},E)],(f[0]>E_||f[1]>E_)&&ui(`${e.layerIds[0]}: Value for "icon-size" is >= ${T_}. Reduce your "icon-size".`)),e.addSymbols(e.icon,n,f,x,y,v,!1,i,t,A.lineStartIndex,A.lineLength,-1,T,E,S,M),N=e.icon.placedSymbolArray.length-1,s&&(O=4*s.length,e.addSymbols(e.icon,s,f,x,y,v,Im.vertical,i,t,A.lineStartIndex,A.lineLength,-1,T,E,S,M),V=e.icon.placedSymbolArray.length-1)}for(const X in n.horizontal){const r=n.horizontal[X];I||(j=Pr(r.text),f?D=I_(r):I=A_(c,G,t,h,u,d,r,p,l.layout.get("text-rotate").evaluate(v,{},E),m));const o=1===r.positionedLines.length;if(B+=S_(e,i,t,r,s,l,f,v,m,A,n.vertical?Im.horizontal:Im.horizontalOnly,o?Object.keys(n.horizontal):[X],U,N,b,T,E,S),o)break}n.vertical&&(F+=S_(e,i,t,n.vertical,s,l,f,v,m,A,Im.vertical,["vertical"],U,V,b,T,E,S));let W=-1;const Q=(e,t)=>e?Math.max(e,t):t;W=Q(D,W),W=Q(R,W),W=Q(L,W);const H=W>-1?1:0;e.glyphOffsetArray.length>=65535&&ui("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==v.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,v.sortKey),e.symbolInstances.emplaceBack(t.x,t.y,G.x,G.y,G.z,U.right>=0?U.right:-1,U.center>=0?U.center:-1,U.left>=0?U.left:-1,U.vertical>=0?U.vertical:-1,N,V,j,void 0!==I?I:e.collisionBoxArray.length,void 0!==I?I+1:e.collisionBoxArray.length,void 0!==P?P:e.collisionBoxArray.length,void 0!==P?P+1:e.collisionBoxArray.length,void 0!==C?C:e.collisionBoxArray.length,void 0!==C?C+1:e.collisionBoxArray.length,z||e.collisionBoxArray.length,z?z+1:e.collisionBoxArray.length,h,B,F,k,O,H,0,Z,$,W,0,q?1:0)}(e,a,_,s,i,r,n,k,e.layers[0],e.collisionBoxArray,t.index,t.sourceLayerIndex,e.index,E,A,l,0,S,I,g,t,o,c,h,u,p,f)};if("line"===C)for(const B of Ym(t.geometry,0,0,no,no)){const t=Hm(B,T,M,i.vertical||y,r,v,w,e.overscaling,no);for(const i of t)y&&C_(e,y.text,P,i)||O(B,i,u)}else if("line-center"===C){for(const B of t.geometry)if(B.length>1){const e=Qm(B,M,i.vertical||y,r,v,w);e&&O(B,e,u)}}else if("Polygon"===t.type)for(const B of Vd(t.geometry,0)){const e=m_(B,16);O(B[0],new Gm(e.x,e.y,0,0,void 0),u)}else if("LineString"===t.type)for(const B of t.geometry)O(B,new Gm(B[0].x,B[0].y,0,0,void 0),u);else if("Point"===t.type)for(const B of t.geometry)for(const e of B)O([e],new Gm(e.x,e.y,0,0,void 0),u)}const T_=255,E_=T_*Zf;function S_(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g){const y=function(e,t,i,r,n,o,s,a){const l=[];if(0===t.positionedLines.length)return l;const c=r.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,h=function(e){const t=e[0],i=e[1],r=t*i;return r>0?[t,-i]:r<0?[-t,i]:0===t?[i,t]:[i,-t]}(i);let u=Math.abs(t.top-t.bottom);for(const m of t.positionedLines)u-=m.lineOffset;const d=t.positionedLines.length,p=u/d;let f=t.top-i[1];for(let m=0;mE_&&ui(`${e.layerIds[0]}: Value for "text-size" is >= ${T_}. Reduce your "text-size".`)):"composite"===x.kind&&(v=[Zf*f.compositeTextSizes[0].evaluate(a,{},_),Zf*f.compositeTextSizes[1].evaluate(a,{},_)],(v[0]>E_||v[1]>E_)&&ui(`${e.layerIds[0]}: Value for "text-size" is >= ${T_}. Reduce your "text-size".`)),e.addSymbols(e.text,y,v,l,s,a,h,t,i,c.lineStartIndex,c.lineLength,p,m,_,g,!1);for(const b of u)d[b]=e.text.placedSymbolArray.length-1;return 4*y.length}function M_(e){for(const t in e)return e[t];return null}function A_(e,t,i,r,n,o,s,a,l,c){let h=s.top,u=s.bottom,d=s.left,p=s.right;const f=s.collisionPadding;if(f&&(d-=f[0],h-=f[1],p+=f[2],u+=f[3]),l){const e=new Vt(d,h),t=new Vt(p,h),i=new Vt(d,u),r=new Vt(p,u),n=Gt(l);let o=new Vt(0,0);c&&(o=new Vt(c[0],c[1])),e._rotateAround(n,o),t._rotateAround(n,o),i._rotateAround(n,o),r._rotateAround(n,o),d=Math.min(e.x,t.x,i.x,r.x),p=Math.max(e.x,t.x,i.x,r.x),h=Math.min(e.y,t.y,i.y,r.y),u=Math.max(e.y,t.y,i.y,r.y)}return e.emplaceBack(t.x,t.y,t.z,i.x,i.y,d,h,p,u,a,r,n,o),e.length-1}function I_(e){e.collisionPadding&&(e.top-=e.collisionPadding[1],e.bottom+=e.collisionPadding[3]);const t=e.bottom-e.top;return t>0?Math.max(10,t):null}function C_(e,t,i,r){const n=e.compareText;if(t in n){const e=n[t];for(let t=e.length-1;t>=0;t--)if(r.dist(e[t])x&&(v(e,c,r,n,a,l),v(c,i,a,l,o,s))}v(u,d,r,o,n,o),v(d,p,n,o,n,s),v(p,f,n,s,r,s),v(f,u,r,s,r,o),m-=x,_-=x,g+=x,y+=x;const b=1/Math.max(g-m,y-_);return{scale:b,x:m*b,y:_*b,x2:g*b,y2:y*b,projection:t}}function D_(e,t){let{x:i,y:r}=t;return new Vt(((i-(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0))*e.scale-e.x)*no,(r*e.scale-e.y)*no)}const R_=e.a9.identity(new Float32Array(16));class L_{constructor(e){this.spec=e,this.name=e.name,this.wrap=!1,this.requiresDraping=!1,this.supportsWorldCopies=!1,this.supportsTerrain=!1,this.supportsFog=!1,this.supportsFreeCamera=!1,this.zAxisUnit="meters",this.isReprojectedInTileSpace=!0,this.unsupportedLayers=["custom"],this.center=[0,0],this.range=[3.5,7]}project(e,t){return{x:0,y:0,z:0}}unproject(e,t){return new sh(0,0)}projectTilePoint(e,t,i){return{x:e,y:t,z:0}}locationPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return e._coordinatePoint(e.locationCoordinate(t),i)}pixelsPerMeter(e,t){return vh(1,e)*t}pixelSpaceConversion(e,t,i){return 1}farthestPixelDistance(e){return P_(e,e.pixelsPerMeter)}pointCoordinate(e,t,i,r){const n=e.horizonLineFromTop(!1),o=new Vt(t,Math.max(n,i));return e.rayIntersectionCoordinate(e.pointRayIntersection(o,r))}pointCoordinate3D(e,t,i){const r=new Vt(t,i);if(e.elevation)return e.elevation.pointCoordinate(r);{const t=this.pointCoordinate(e,r.x,r.y,0);return[t.x,t.y,t.z]}}isPointAboveHorizon(e,t){if(e.elevation)return!this.pointCoordinate3D(e,t.x,t.y);const i=e.horizonLineFromTop();return t.y0?t<-G_+i&&(t=-G_+i):t>G_-i&&(t=G_-i);const o=n/Math.pow(q_(t),r);let s=o*Math.sin(r*e),a=n-o*Math.cos(r*e);return s=.5*(s/Math.PI+.5),a=.5*(a/Math.PI+.5),{x:s,y:this.southernCenter?a:1-a,z:0}}unproject(e,t){e=(2*e-.5)*Math.PI,this.southernCenter&&(t=1-t),t=(2*(1-t)-.5)*Math.PI;const{n:i,f:r}=this,n=r-t,o=Math.sign(n),s=Math.sign(i)*Math.sqrt(e*e+n*n);let a=Math.atan2(e,Math.abs(n))*o;n*i<0&&(a-=Math.PI*Math.sign(e)*o);const l=Ht(qt(a/i)+this.center[0],-180,180),c=Ht(qt(2*Math.atan(Math.pow(r/s,1/i))-G_),-Eh,Eh);return new sh(l,this.southernCenter?-c:c)}}class $_ extends L_{constructor(e){super(e),this.wrap=!0,this.supportsWorldCopies=!0,this.supportsTerrain=!0,this.supportsFog=!0,this.supportsFreeCamera=!0,this.isReprojectedInTileSpace=!1,this.unsupportedLayers=[],this.range=null}project(e,t){return{x:yh(e),y:xh(t),z:0}}unproject(e,t){const i=bh(e),r=wh(t);return new sh(i,r)}}const W_=Gt(Eh);class Q_ extends L_{project(e,t){const i=(t=Gt(t))*t,r=i*i;return{x:.5*((e=Gt(e))*(.8707-.131979*i+r*(r*(.003971*i-.001529*r)-.013791))/Math.PI+.5),y:1-.5*(t*(1.007226+i*(.015085+r*(.028874*i-.044475-.005916*r)))/Math.PI+1),z:0}}unproject(e,t){e=(2*e-.5)*Math.PI;let i=t=(2*(1-t)-1)*Math.PI,r=25,n=0,o=i*i;do{o=i*i;const e=o*o;n=(i*(1.007226+o*(.015085+e*(.028874*o-.044475-.005916*e)))-t)/(1.007226+o*(.045255+e*(.259866*o-.311325-.005916*11*e))),i=Ht(i-n,-W_,W_)}while(Math.abs(n)>1e-6&&--r>0);o=i*i;const s=Ht(qt(e/(.8707+o*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979))),-180,180),a=qt(i);return new sh(s,a)}}const H_=Gt(Eh);class X_ extends L_{project(e,t){t=Gt(t),e=Gt(e);const i=Math.cos(t),r=2/Math.PI,n=Math.acos(i*Math.cos(e/2)),o=Math.sin(n)/n,s=.5*(e*r+2*i*Math.sin(e/2)/o)||0,a=.5*(t+Math.sin(t)/o)||0;return{x:.5*(s/Math.PI+.5),y:1-.5*(a/Math.PI+1),z:0}}unproject(e,t){let i=e=(2*e-.5)*Math.PI,r=t=(2*(1-t)-1)*Math.PI,n=25;const o=1e-6;let s=0,a=0;do{const n=Math.cos(r),o=Math.sin(r),l=2*o*n,c=o*o,h=n*n,u=Math.cos(i/2),d=Math.sin(i/2),p=2*u*d,f=d*d,m=1-h*u*u,_=m?1/m:0,g=m?Math.acos(n*u)*Math.sqrt(1/m):0,y=.5*(2*g*n*d+2*i/Math.PI)-e,x=.5*(g*o+r)-t,v=.5*_*(h*f+g*n*u*c)+1/Math.PI,b=_*(p*l/4-g*o*d),w=.125*_*(l*d-g*o*h*p),T=.5*_*(c*u+g*f*n)+.5,E=b*w-T*v;s=(x*b-y*T)/E,a=(y*w-x*v)/E,i=Ht(i-s,-Math.PI,Math.PI),r=Ht(r-a,-H_,H_)}while((Math.abs(s)>o||Math.abs(a)>o)&&--n>0);return new sh(qt(i),qt(r))}}class Y_ extends L_{constructor(e){super(e),this.center=e.center||[0,0],this.parallels=e.parallels||[0,0],this.cosPhi=Math.max(.01,Math.cos(Gt(this.parallels[0]))),this.scale=1/(2*Math.max(Math.PI*this.cosPhi,1/this.cosPhi)),this.wrap=!0,this.supportsWorldCopies=!0}project(e,t){const{scale:i,cosPhi:r}=this;return{x:Gt(e)*r*i+.5,y:-Math.sin(Gt(t))/r*i+.5,z:0}}unproject(e,t){const{scale:i,cosPhi:r}=this,n=-(t-.5)/i,o=Ht(qt((e-.5)/i)/r,-180,180),s=Math.asin(Ht(n*r,-1,1)),a=Ht(qt(s),-Eh,Eh);return new sh(o,a)}}class K_ extends $_{constructor(e){super(e),this.requiresDraping=!0,this.supportsWorldCopies=!1,this.supportsFog=!0,this.zAxisUnit="pixels",this.unsupportedLayers=["debug"],this.range=[3,5]}projectTilePoint(t,i,r){const n=zu(t,i,r),o=Lu(Su(r));return e.Q.transformMat4(n,n,o),{x:n[0],y:n[1],z:n[2]}}locationPoint(t,i){const r=rh(i.lat,i.lng),n=e.Q.normalize([],r),o=t.elevation?t.elevation.getAtPointOrZero(t.locationCoordinate(i),t._centerAltitude):t._centerAltitude,s=vh(1,0)*no*o;e.Q.scaleAndAdd(r,r,n,s);const a=e.a9.identity(new Float64Array(16));return e.a9.multiply(a,t.pixelMatrix,t.globeMatrix),e.Q.transformMat4(r,r,a),new Vt(r[0],r[1])}pixelsPerMeter(e,t){return vh(1,0)*t}pixelSpaceConversion(e,t,i){const r=vh(1,e)*t,n=jr(vh(1,45)*t,r,i);return this.pixelsPerMeter(e,t)/n}createTileMatrix(t,i,r){const n=ku(Su(r.canonical));return e.a9.multiply(new Float64Array(16),t.globeMatrix,n)}createInversionMatrix(t,i){const{center:r}=t,n=Lu(Su(i));return e.a9.rotateY(n,n,Gt(r.lng)),e.a9.rotateX(n,n,Gt(r.lat)),e.a9.scale(n,n,[t._pixelsPerMercatorPixel,t._pixelsPerMercatorPixel,1]),Float32Array.from(n)}pointCoordinate(e,t,i,r){return wu(e,t,i,!0)||new Ch(0,0)}pointCoordinate3D(e,t,i){const r=this.pointCoordinate(e,t,i,0);return[r.x,r.y,r.z]}isPointAboveHorizon(e,t){return!wu(e,t.x,t.y,!1)}farthestPixelDistance(t){const i=function(t,i){const r=t.cameraToCenterDistance,n=t._centerAltitude*i,o=t._camera,s=t._camera.forward(),a=e.Q.add([],e.Q.scale([],s,-r),[0,0,n]),l=t.worldSize/(2*Math.PI),c=[0,0,-l],h=t.width/t.height,u=Math.tan(t.fovAboveCenter),d=e.Q.scale([],o.up(),u),p=e.Q.scale([],o.right(),u*h),f=e.Q.normalize([],e.Q.add([],e.Q.add([],s,d),p)),m=[];let _;if(new lu(a,f).closestPointOnSphere(c,l,m)){const i=e.Q.add([],m,c),r=e.Q.sub([],i,a);_=Math.cos(t.fovAboveCenter)*e.Q.length(r)}else{const t=e.Q.sub([],a,c),i=e.Q.sub([],c,a);e.Q.normalize(i,i);const r=e.Q.length(t)-l;_=Math.sqrt(r*(r+2*l));const n=Math.acos(_/(l+r))-Math.acos(e.Q.dot(s,i));_*=Math.cos(n)}return 1.01*_}(t,this.pixelsPerMeter(t.center.lat,t.worldSize)),r=Nu(t.zoom);if(r>0){const e=P_(t,vh(1,t.center.lat)*t.worldSize),n=t.worldSize/(2*Math.PI),o=Math.max(t.width,t.height)/t.worldSize*Math.PI;return jr(i,e+n*(1-Math.cos(o)),Math.pow(r,10))}return i}upVector(e,t,i){return zu(t,i,e,1)}upVectorScale(e){return{metersToTile:vu(Du(Su(e)))}}}function J_(e){const t=e.parallels,i=!!t&&Math.abs(t[0]+t[1])<.01;switch(e.name){case"mercator":return new $_(e);case"equirectangular":return new j_(e);case"naturalEarth":return new Q_(e);case"equalEarth":return new U_(e);case"winkelTripel":return new X_(e);case"albers":return i?new Y_(e):new k_(e);case"lambertConformalConic":return i?new Y_(e):new Z_(e);case"globe":return new K_(e)}throw new Error(`Invalid projection name: ${e.name}`)}const eg=dp.types,tg=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function ig(e,t,i,r,n,o,s,a,l,c,h,u,d){const p=a?Math.min(E_,Math.round(a[0])):0,f=a?Math.min(E_,Math.round(a[1])):0;e.emplaceBack(t,i,Math.round(32*r),Math.round(32*n),o,s,(p<<1)+(l?1:0),f,16*c,16*h,256*u,256*d)}function rg(e,t,i){e.emplaceBack(t,i)}function ng(e,t,i,r,n,o,s){e.emplaceBack(t,i,r,n,o,s)}function og(e,t,i,r,n){e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n),e.emplaceBack(t,i,r,n)}function sg(e){for(const t of e.sections)if(Aa(t.text))return!0;return!1}class ag{constructor(e){this.layoutVertexArray=new kl,this.indexArray=new Gl,this.programConfigurations=e,this.segments=new mc,this.dynamicLayoutVertexArray=new Pl,this.opacityVertexArray=new Bl,this.placedSymbolArray=new oc,this.iconTransitioningVertexArray=new Fl,this.globeExtVertexArray=new Ol,this.zOffsetVertexArray=new $l}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length&&0===this.iconTransitioningVertexArray.length}upload(e,t,i,r,n){this.isEmpty()||(i&&(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,kf.members),this.indexBuffer=e.createIndexBuffer(this.indexArray,t),this.dynamicLayoutVertexBuffer=e.createVertexBuffer(this.dynamicLayoutVertexArray,Bf.members,!0),this.opacityVertexBuffer=e.createVertexBuffer(this.opacityVertexArray,tg,!0),this.iconTransitioningVertexArray.length>0&&(this.iconTransitioningVertexBuffer=e.createVertexBuffer(this.iconTransitioningVertexArray,Nf.members,!0)),this.globeExtVertexArray.length>0&&(this.globeExtVertexBuffer=e.createVertexBuffer(this.globeExtVertexArray,Of.members,!0)),!this.zOffsetVertexBuffer&&(this.zOffsetVertexArray.length>0||n)&&(this.zOffsetVertexBuffer=e.createVertexBuffer(this.zOffsetVertexArray,Ff.members,!0)),this.opacityVertexBuffer.itemSize=1),(i||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(),this.iconTransitioningVertexBuffer&&this.iconTransitioningVertexBuffer.destroy(),this.globeExtVertexBuffer&&this.globeExtVertexBuffer.destroy(),this.zOffsetVertexBuffer&&this.zOffsetVertexBuffer.destroy())}}fa(ag,"SymbolBuffers");class lg{constructor(e,t,i){this.layoutVertexArray=new e,this.layoutAttributes=t,this.indexArray=new i,this.segments=new mc,this.collisionVertexArray=new jl,this.collisionVertexArrayExt=new Pl}upload(e){this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=e.createVertexBuffer(this.collisionVertexArray,Vf.members,!0),this.collisionVertexBufferExt=e.createVertexBuffer(this.collisionVertexArrayExt,Uf.members,!0)}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy(),this.collisionVertexBufferExt.destroy())}}fa(lg,"CollisionBuffers");class cg{constructor(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.fullyClipped=!1,this.hasAnyIconTextFit=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=e.a9.identity([]),this.placementViewportMatrix=e.a9.identity([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$f(this.zoom,i["text-size"]),this.iconSizeData=$f(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),o=r.get("symbol-z-order");this.canOverlap=r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==o&&void 0!==n.constantOr(1),this.sortFeaturesByY=("viewport-y"===o||"auto"===o&&!this.sortFeaturesByKey)&&this.canOverlap,this.writingModes=r.get("text-writing-mode").map((e=>Im[e])),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.sourceID=t.sourceID,this.projection=t.projection,this.hasAnyZOffset=!1,this.zOffsetSortDirty=!1,this.zOffsetBuffersNeedUpload=r.get("symbol-z-elevate")}createArrays(){this.text=new ag(new jc(this.layers,this.zoom,(e=>/^text/.test(e)))),this.icon=new ag(new jc(this.layers,this.zoom,(e=>/^icon/.test(e)))),this.glyphOffsetArray=new lc,this.lineVertexArray=new cc,this.symbolInstances=new ac}calculateGlyphDependencies(e,t,i,r,n){for(let o=0;o0)&&("constant"!==l.value.kind||l.value.value.length>0),d="constant"!==h.value.kind||!!h.value.value||Object.keys(h.parameters).length>0,p=s.get("symbol-sort-key");if(this.features=[],!u&&!d)return;const f=i.iconDependencies,m=i.glyphDependencies,_=i.availableImages,g=new Va(this.zoom);for(const{feature:y,id:x,index:v,sourceLayerIndex:b}of t){const t=o._featureFilter.needGeometry,i=Fh(y,t);if(!o._featureFilter.filter(g,i,r))continue;if(t||(i.geometry=Bh(y,r,n)),a&&1!==y.type&&r.z<=5){const t=i.geometry,n=.98078528056,o=(t,i)=>{const o=zu(t.x,t.y,r,1),s=zu(i.x,i.y,r,1);return e.Q.dot(o,s)=0;for(const i of c.sections)if(i.image)f[i.image.namePrimary]=!0;else{const r=va(c.toString()),n=i.fontStack||e,o=m[n]=m[n]||{};this.calculateGlyphDependencies(i.text,o,t,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(e){const t={},i={},r=[];let n=0;function o(t){r.push(e[t]),n++}function s(e,t,n){const o=i[e];return delete i[e],i[t]=o,r[o].geometry[0].pop(),r[o].geometry[0]=r[o].geometry[0].concat(n[0]),o}function a(e,i,n){const o=t[i];return delete t[i],t[e]=o,r[o].geometry[0].shift(),r[o].geometry[0]=n[0].concat(r[o].geometry[0]),o}function l(e,t,i){const r=i?t[0][t[0].length-1]:t[0][0];return`${e}:${r.x}:${r.y}`}for(let c=0;ce.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((e,t)=>e.sortKey-t.sortKey))}update(e,t,i,r,n){const o=0!==Object.keys(e).length;if(o&&!this.stateDependentLayers.length)return;const s=o?this.stateDependentLayers:this.layers;this.text.programConfigurations.updatePaintArrays(e,t,s,i,r,n),this.icon.programConfigurations.updatePaintArrays(e,t,s,i,r,n)}updateZOffset(){const e=(e,t,r)=>{i+=t,i>e.length&&e.resize(i);for(let n=-t;n<0;n++)e.emplace(n+i,r)},t=(e,t,i)=>{r+=t,r>e.length&&e.resize(r);for(let n=-t;n<0;n++)e.emplace(n+r,i)};if(!this.zOffsetBuffersNeedUpload)return;this.zOffsetBuffersNeedUpload=!1;let i=0,r=0;for(let n=0;n0;if((r>0||o>0)&&(e(this.text.zOffsetVertexArray,r,a),e(this.text.zOffsetVertexArray,o,a)),l){const{placedIconSymbolIndex:e,verticalPlacedIconSymbolIndex:r}=i;e>=0&&t(this.icon.zOffsetVertexArray,s,a),r>=0&&t(this.icon.zOffsetVertexArray,i.numVerticalIconVertices,a)}}this.text.zOffsetVertexBuffer&&this.text.zOffsetVertexBuffer.updateData(this.text.zOffsetVertexArray),this.icon.zOffsetVertexBuffer&&this.icon.zOffsetVertexBuffer.updateData(this.icon.zOffsetVertexArray)}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload,this.zOffsetBuffersNeedUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload,this.zOffsetBuffersNeedUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}getProjection(){return this.projectionInstance||(this.projectionInstance=J_(this.projection)),this.projectionInstance}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,t){const i=this.lineVertexArray.length;if(void 0!==e.segment)for(const{x:r,y:n}of t)this.lineVertexArray.emplaceBack(r,n);return{lineStartIndex:i,lineLength:this.lineVertexArray.length-i}}addSymbols(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=e.indexArray,g=e.layoutVertexArray,y=e.globeExtVertexArray,x=e.segments.prepareSegment(4*t.length,g,_,this.canOverlap?o.sortKey:void 0),v=this.glyphOffsetArray.length,b=x.vertexLength,w=this.allowVerticalPlacement&&s===Im.vertical?Math.PI/2:0,T=o.text&&o.text.sections;for(let S=0;S=0?t.rightJustifiedTextSymbolIndex:t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.leftJustifiedTextSymbolIndex>=0?t.leftJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex>=0?t.verticalPlacedTextSymbolIndex:r),o=Wf(this.textSizeData,e,n)/qf;return this.tilePixelRatio*o}getSymbolInstanceIconSize(e,t,i){const r=this.icon.placedSymbolArray.get(i),n=Wf(this.iconSizeData,e,r);return this.tilePixelRatio*n}_commitDebugCollisionVertexUpdate(e,t,i,r){e.emplaceBack(t,-i,-i,r),e.emplaceBack(t,i,-i,r),e.emplaceBack(t,i,i,r),e.emplaceBack(t,-i,i,r)}_updateTextDebugCollisionBoxes(e,t,i,r,n,o){for(let s=r;s0}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}hasIconTextFit(){return this.hasAnyIconTextFit}addIndicesForPlacedSymbol(e,t){const i=e.placedSymbolArray.get(t),r=i.vertexStartIndex+4*i.numGlyphs;for(let n=i.vertexStartIndex;nr[e]-r[t]||n[t]-n[e])),o}getSortedIndexesByZOffset(){if(!this.zOffsetSortDirty)return this.symbolInstanceIndexesSortedZOffset;if(!this.symbolInstanceIndexesSortedZOffset){this.symbolInstanceIndexesSortedZOffset=[];for(let e=0;ethis.symbolInstances.get(t).zOffset-this.symbolInstances.get(e).zOffset))}addToSortKeyRanges(e,t){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===t?i.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(const e of this.symbolInstanceIndexes){const t=this.symbolInstances.get(e);this.featureSortOrder.push(t.featureIndex);const{rightJustifiedTextSymbolIndex:i,centerJustifiedTextSymbolIndex:r,leftJustifiedTextSymbolIndex:n,verticalPlacedTextSymbolIndex:o,placedIconSymbolIndex:s,verticalPlacedIconSymbolIndex:a}=t;i>=0&&this.addIndicesForPlacedSymbol(this.text,i),r>=0&&r!==i&&this.addIndicesForPlacedSymbol(this.text,r),n>=0&&n!==r&&n!==i&&this.addIndicesForPlacedSymbol(this.text,n),o>=0&&this.addIndicesForPlacedSymbol(this.text,o),s>=0&&this.addIndicesForPlacedSymbol(this.icon,s),a>=0&&this.addIndicesForPlacedSymbol(this.icon,a)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}fa(cg,"SymbolBucket",{omit:["layers","collisionBoxArray","features","compareText"]}),cg.addDynamicAttributes=og;const hg=new Ka({"symbol-placement":new Ha(tl.layout_symbol["symbol-placement"]),"symbol-spacing":new Ha(tl.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ha(tl.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Xa(tl.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ha(tl.layout_symbol["symbol-z-order"]),"symbol-z-elevate":new Ha(tl.layout_symbol["symbol-z-elevate"]),"icon-allow-overlap":new Ha(tl.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ha(tl.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ha(tl.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ha(tl.layout_symbol["icon-rotation-alignment"]),"icon-size":new Xa(tl.layout_symbol["icon-size"]),"icon-text-fit":new Xa(tl.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Xa(tl.layout_symbol["icon-text-fit-padding"]),"icon-image":new Xa(tl.layout_symbol["icon-image"]),"icon-rotate":new Xa(tl.layout_symbol["icon-rotate"]),"icon-padding":new Ha(tl.layout_symbol["icon-padding"]),"icon-keep-upright":new Ha(tl.layout_symbol["icon-keep-upright"]),"icon-offset":new Xa(tl.layout_symbol["icon-offset"]),"icon-anchor":new Xa(tl.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ha(tl.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ha(tl.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ha(tl.layout_symbol["text-rotation-alignment"]),"text-field":new Xa(tl.layout_symbol["text-field"]),"text-font":new Xa(tl.layout_symbol["text-font"]),"text-size":new Xa(tl.layout_symbol["text-size"]),"text-max-width":new Xa(tl.layout_symbol["text-max-width"]),"text-line-height":new Xa(tl.layout_symbol["text-line-height"]),"text-letter-spacing":new Xa(tl.layout_symbol["text-letter-spacing"]),"text-justify":new Xa(tl.layout_symbol["text-justify"]),"text-radial-offset":new Xa(tl.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ha(tl.layout_symbol["text-variable-anchor"]),"text-anchor":new Xa(tl.layout_symbol["text-anchor"]),"text-max-angle":new Ha(tl.layout_symbol["text-max-angle"]),"text-writing-mode":new Ha(tl.layout_symbol["text-writing-mode"]),"text-rotate":new Xa(tl.layout_symbol["text-rotate"]),"text-padding":new Ha(tl.layout_symbol["text-padding"]),"text-keep-upright":new Ha(tl.layout_symbol["text-keep-upright"]),"text-transform":new Xa(tl.layout_symbol["text-transform"]),"text-offset":new Xa(tl.layout_symbol["text-offset"]),"text-allow-overlap":new Ha(tl.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ha(tl.layout_symbol["text-ignore-placement"]),"text-optional":new Ha(tl.layout_symbol["text-optional"]),visibility:new Ha(tl.layout_symbol.visibility)});var ug={paint:new Ka({"icon-opacity":new Xa(tl.paint_symbol["icon-opacity"]),"icon-emissive-strength":new Xa(tl.paint_symbol["icon-emissive-strength"]),"text-emissive-strength":new Xa(tl.paint_symbol["text-emissive-strength"]),"icon-color":new Xa(tl.paint_symbol["icon-color"]),"icon-halo-color":new Xa(tl.paint_symbol["icon-halo-color"]),"icon-halo-width":new Xa(tl.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Xa(tl.paint_symbol["icon-halo-blur"]),"icon-translate":new Ha(tl.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ha(tl.paint_symbol["icon-translate-anchor"]),"icon-image-cross-fade":new Xa(tl.paint_symbol["icon-image-cross-fade"]),"text-opacity":new Xa(tl.paint_symbol["text-opacity"]),"text-color":new Xa(tl.paint_symbol["text-color"],{runtimeType:Kr,getOverride:e=>e.textColor,hasOverride:e=>!!e.textColor}),"text-halo-color":new Xa(tl.paint_symbol["text-halo-color"]),"text-halo-width":new Xa(tl.paint_symbol["text-halo-width"]),"text-halo-blur":new Xa(tl.paint_symbol["text-halo-blur"]),"text-translate":new Ha(tl.paint_symbol["text-translate"]),"text-translate-anchor":new Ha(tl.paint_symbol["text-translate-anchor"]),"icon-color-saturation":new Ha(tl.paint_symbol["icon-color-saturation"]),"icon-color-contrast":new Ha(tl.paint_symbol["icon-color-contrast"]),"icon-color-brightness-min":new Ha(tl.paint_symbol["icon-color-brightness-min"]),"icon-color-brightness-max":new Ha(tl.paint_symbol["icon-color-brightness-max"])}),layout:hg};class dg{constructor(e){this.type=e.property.overrides?e.property.overrides.runtimeType:Qr,this.defaultValue=e}evaluate(e){if(e.formattedSection){const t=this.defaultValue.property.overrides;if(t&&t.hasOverride(e.formattedSection))return t.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}fa(dg,"FormatSectionOverride",{omit:["defaultValue"]});class pg extends xl{constructor(t,i,r){super(t,ug,i,r),this._colorAdjustmentMatrix=e.a9.identity([])}recalculate(e,t){super.recalculate(e,t),"auto"===this.layout.get("icon-rotation-alignment")&&(this.layout._values["icon-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-rotation-alignment")&&(this.layout._values["text-rotation-alignment"]="point"!==this.layout.get("symbol-placement")?"map":"viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment"));const i=this.layout.get("text-writing-mode");if(i){const e=[];for(const t of i)e.indexOf(t)<0&&e.push(t);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]="point"===this.layout.get("symbol-placement")?["horizontal"]:["horizontal","vertical"];this._setPaintOverrides()}getColorAdjustmentMatrix(t,i,r,n){return this._saturation===t&&this._contrast===i&&this._brightnessMin===r&&this._brightnessMax===n||(this._colorAdjustmentMatrix=function(t,i,r,n){t=Ci(t),i=Ii(i);const o=e.a9.create(),s=t/3,a=1-2*s,l=[a,s,s,0,s,a,s,0,s,s,a,0,0,0,0,1],c=.5-.5*i,h=n-r;return e.a9.multiply(o,[h,0,0,0,0,h,0,0,0,0,h,0,r,r,r,1],[i,0,0,0,0,i,0,0,0,0,i,0,c,c,c,1]),e.a9.multiply(o,o,l),o}(t,i,r,n),this._saturation=t,this._contrast=i,this._brightnessMin=r,this._brightnessMax=n),this._colorAdjustmentMatrix}getValueAndResolveTokens(e,t,i,r){const n=this.layout.get(e).evaluate(t,{},i,r),o=this._unevaluatedLayout._values[e];return o.isDataDriven()||ia(o.value)||!n?n:function(e,t){return t.replace(/{([^{}]+)}/g,((t,i)=>i in e?String(e[i]):""))}(t.properties,n)}createBucket(e){return new cg(e)}queryRadius(){return 0}queryIntersectsFeature(){return!1}_setPaintOverrides(){for(const e of ug.paint.overridableProperties){if(!pg.hasPaintOverride(this.layout,e))continue;const t=this.paint.get(e),i=new dg(t),r=new ta(i,t.property.specification,this.scope,this.options);let n=null;n="constant"===t.value.kind||"source"===t.value.kind?new na("source",r):new oa("composite",r,t.value.zoomStops,t.value._interpolationType),this.paint._values[e]=new Wa(t.property,n,t.parameters)}}_handleOverridablePaintPropertyUpdate(e,t,i){return!(!this.layout||t.isDataDriven()||i.isDataDriven())&&pg.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,t){const i=e.get("text-field"),r=ug.paint.properties[t];let n=!1;const o=e=>{for(const t of e)if(r.overrides&&r.overrides.hasOverride(t))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof pn)o(i.value.value.sections);else if("source"===i.value.kind){const e=t=>{n||(t instanceof xn&&gn(t.value)===rn?o(t.value.sections):t instanceof Tn?o(t.sections):t.eachChild(e))},t=i.value;t._styleExpression&&e(t._styleExpression.expression)}return n}getProgramIds(){const e=0!==this.paint.get("icon-opacity").constantOr(1),t=0!==this.paint.get("text-opacity").constantOr(1),i=[];return e&&i.push("symbolIcon"),t&&i.push("symbolSDF"),i}getDefaultProgramParams(e,t){return{config:new Uc(this,t),overrideFog:!1}}}const fg=new Ka({visibility:new Ha(tl.layout_background.visibility)});var mg={paint:new Ka({"background-color":new Ha(tl.paint_background["background-color"]),"background-pattern":new Ha(tl.paint_background["background-pattern"]),"background-opacity":new Ha(tl.paint_background["background-opacity"]),"background-emissive-strength":new Ha(tl.paint_background["background-emissive-strength"])}),layout:fg};const _g=new Ka({visibility:new Ha(tl.layout_raster.visibility)});var gg={paint:new Ka({"raster-opacity":new Ha(tl.paint_raster["raster-opacity"]),"raster-color":new Ya(tl.paint_raster["raster-color"]),"raster-color-mix":new Ha(tl.paint_raster["raster-color-mix"]),"raster-color-range":new Ha(tl.paint_raster["raster-color-range"]),"raster-hue-rotate":new Ha(tl.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ha(tl.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ha(tl.paint_raster["raster-brightness-max"]),"raster-saturation":new Ha(tl.paint_raster["raster-saturation"]),"raster-contrast":new Ha(tl.paint_raster["raster-contrast"]),"raster-resampling":new Ha(tl.paint_raster["raster-resampling"]),"raster-fade-duration":new Ha(tl.paint_raster["raster-fade-duration"]),"raster-emissive-strength":new Ha(tl.paint_raster["raster-emissive-strength"]),"raster-array-band":new Ha(tl.paint_raster["raster-array-band"]),"raster-elevation":new Ha(tl.paint_raster["raster-elevation"])}),layout:_g},yg=Tl([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class xg{constructor(e,t,i,r){this.context=e,this.format=i,this.texture=e.gl.createTexture(),this.update(t,r)}update(e,t,i){const{width:r,height:n}=e,{context:o}=this,{gl:s}=o;if(s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!t||!1!==t.premultiply)),i||this.size&&this.size[0]===r&&this.size[1]===n){const{x:t,y:o}=i||{x:0,y:0};if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||ImageBitmap&&e instanceof ImageBitmap)s.texSubImage2D(s.TEXTURE_2D,0,t,o,s.RGBA,s.UNSIGNED_BYTE,e);else{let i=this.format,a=s.UNSIGNED_BYTE;this.format===s.R32F&&(i=s.RED,a=s.FLOAT),s.texSubImage2D(s.TEXTURE_2D,0,t,o,r,n,i,a,e.data)}}else if(this.size=[r,n],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||ImageBitmap&&e instanceof ImageBitmap){let t=this.format;this.format===s.R8&&(t=s.RED),s.texImage2D(s.TEXTURE_2D,0,this.format,t,s.UNSIGNED_BYTE,e)}else{let t=this.format,i=this.format,o=s.UNSIGNED_BYTE;this.format===s.DEPTH_COMPONENT&&(t=s.DEPTH_COMPONENT16,o=s.UNSIGNED_SHORT),this.format===s.R8&&(i=s.RED),this.format===s.R32F&&(o=s.FLOAT,i=s.RED),s.texImage2D(s.TEXTURE_2D,0,t,r,n,0,i,o,e.data)}this.useMipmap=Boolean(t&&t.useMipmap),this.useMipmap&&s.generateMipmap(s.TEXTURE_2D)}bind(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{context:r}=this,{gl:n}=r;n.bindTexture(n.TEXTURE_2D,this.texture),e!==this.minFilter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,this.useMipmap&&!i?e===n.NEAREST?n.NEAREST_MIPMAP_NEAREST:n.LINEAR_MIPMAP_LINEAR:e),this.minFilter=e),t!==this.wrapS&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,t),this.wrapS=t)}bindExtraParam(e,t,i,r){const{context:n}=this,{gl:o}=n;o.bindTexture(o.TEXTURE_2D,this.texture),t!==this.magFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,t),this.magFilter=t),e!==this.minFilter&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,this.useMipmap?e===o.NEAREST?o.NEAREST_MIPMAP_NEAREST:o.LINEAR_MIPMAP_LINEAR:e),this.minFilter=e),i!==this.wrapS&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,i),this.wrapS=i),r!==this.wrapT&&(o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,r),this.wrapT=r)}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}class vg{constructor(e,t){this.context=e,this.texture=t}bind(e,t){const{context:i}=this,{gl:r}=i;r.bindTexture(r.TEXTURE_2D,this.texture),e!==this.minFilter&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,e),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,e),this.minFilter=e),t!==this.wrapS&&(r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,t),this.wrapS=t)}}function bg(t,i,r,n,o,s,a,l){const c=[t,i,1,r,n,1,o,s,1],h=[a,l,1],u=e.ct.adjoint([],c),[d,p,f]=e.Q.transformMat3(h,h,u);return e.ct.multiply(c,c,[d,0,0,0,p,0,0,0,f])}function wg(t,i,r,n,o,s,a,l){const c=function(t,i,r,n,o,s,a,l){const c=bg(0,0,1,0,1,1,0,1),h=bg(t,i,r,n,o,s,a,l),u=e.ct.adjoint([],c);return e.ct.multiply(h,h,u)}(t,i,r,n,o,s,a,l);return[c[2]/c[8]/no,c[5]/c[8]/no]}function Tg(e){return[e[0],Math.min(Math.max(e[1],-Eh),Eh)]}class Eg extends kr{constructor(e,t,i,r){super(),this.id=e,this.dispatcher=i,this.coordinates=t.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.onNorthPole=!1,this.onSouthPole=!1,this.setEventedParent(r),this.options=t,this._dirty=!1}load(e,t){if(this._loaded=t||!1,this.fire(new Rr("dataloading",{dataType:"source"})),this.url=this.options.url,!this.url)return e&&(this.coordinates=e),this._loaded=!0,void this._finishLoading();this._imageRequest=nr(this.map._requestManager.transformRequest(this.url,Hi.Image),((t,i)=>{this._imageRequest=null,this._loaded=!0,t?this.fire(new Lr(t)):i&&(this.image=i instanceof HTMLImageElement?zi.getImageData(i):i,this._dirty=!0,this.width=this.image.width,this.height=this.image.height,e&&(this.coordinates=e),this._finishLoading())}))}loaded(){return this._loaded}updateImage(e){return e.url?(this._imageRequest&&e.url!==this.options.url&&(this._imageRequest.cancel(),this._imageRequest=null),this.options.url=e.url,this.load(e.coordinates,this._loaded),this):this}setTexture(e){if(!(e.handle instanceof WebGLTexture))throw new Error("The provided handle is not a WebGLTexture instance");return this.texture=new vg(this.map.painter.context,e.handle),this.width=e.dimensions[0],this.height=e.dimensions[1],this._dirty=!1,this._loaded=!0,this._finishLoading(),this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new Rr("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._imageRequest&&(this._imageRequest.cancel(),this._imageRequest=null),!this.texture||this.texture instanceof vg||this.texture.destroy(),this.boundsBuffer&&(this.boundsBuffer.destroy(),this.elevatedGlobeVertexBuffer&&this.elevatedGlobeVertexBuffer.destroy(),this.elevatedGlobeIndexBuffer&&this.elevatedGlobeIndexBuffer.destroy())}setCoordinates(e){if(this.coordinates=e,this._boundsArray=void 0,this._unsupportedCoords=!1,!e.length)return this;this.onNorthPole=!1,this.onSouthPole=!1;let t=e[0][1],i=e[0][1];for(const n of e)n[1]>i&&(i=n[1]),n[1]Eh?this.onNorthPole=!0:r<-Eh&&(this.onSouthPole=!0),!this.onNorthPole&&!this.onSouthPole){const t=e.map(Ch.fromLngLat);this.tileID=function(e){let t=1/0,i=1/0,r=-1/0,n=-1/0;for(const c of e)t=Math.min(t,c.x),i=Math.min(i,c.y),r=Math.max(r,c.x),n=Math.max(n,c.y);const o=Math.max(r-t,n-i),s=Math.max(0,Math.floor(-Math.log(o)/Math.LN2)),a=Math.pow(2,s);let l=Math.floor((t+r)/2*a);return l>1&&(l-=1),new hh(s,l,Math.floor((i+n)/2*a))}(t),this.minzoom=this.maxzoom=this.tileID.z}return this.fire(new Rr("data",{dataType:"source",sourceDataType:"content"})),this}_clear(){this._boundsArray=void 0,this._unsupportedCoords=!1}_prepareData(t){for(const e in this.tiles){const t=this.tiles[e];"loaded"!==t.state&&(t.state="loaded",t.texture=this.texture)}if(this._boundsArray||this.onNorthPole||this.onSouthPole||this._unsupportedCoords)return;const i=z_(new hh(0,0,0),this.map.transform.projection),r=[i.projection.project(this.coordinates[0][0],this.coordinates[0][1]),i.projection.project(this.coordinates[1][0],this.coordinates[1][1]),i.projection.project(this.coordinates[2][0],this.coordinates[2][1]),i.projection.project(this.coordinates[3][0],this.coordinates[3][1])];if(!function(e){const t=e[1].x-e[0].x,i=e[1].y-e[0].y,r=e[2].x-e[1].x,n=e[2].y-e[1].y,o=e[3].x-e[2].x,s=e[3].y-e[2].y,a=e[0].x-e[3].x,l=e[0].y-e[3].y,c=t*n-r*i,h=r*s-o*n,u=o*l-a*s,d=a*i-t*l;return c>0&&h>0&&u>0&&d>0||c<0&&h<0&&u<0&&d<0}(r))return console.warn("Image source coordinates are defining non-convex area in the Mercator projection"),void(this._unsupportedCoords=!0);const n=z_(this.tileID,this.map.transform.projection),[o,s,a,l]=this.coordinates.map((e=>{const t=n.projection.project(e[0],e[1]);return D_(n,t)._round()}));this.perspectiveTransform=wg(o.x,o.y,s.x,s.y,a.x,a.y,l.x,l.y);const c=this._boundsArray=new Al;c.emplaceBack(o.x,o.y,0,0),c.emplaceBack(s.x,s.y,no,0),c.emplaceBack(l.x,l.y,0,no),c.emplaceBack(a.x,a.y,no,no),this.boundsBuffer&&(this.boundsBuffer.destroy(),this.elevatedGlobeVertexBuffer&&this.elevatedGlobeVertexBuffer.destroy(),this.elevatedGlobeIndexBuffer&&this.elevatedGlobeIndexBuffer.destroy()),this.boundsBuffer=t.createVertexBuffer(c,yg.members),this.boundsSegments=mc.simpleSegment(0,0,4,2);const h=[],u=[Tg((d=this.coordinates)[0]),Tg(d[1]),Tg(d[2]),Tg(d[3])];var d;const[p,f,m,_]=function(e){let t=e[0][0],i=t,r=e[0][1],n=r;for(let o=1;oi&&(i=e[o][0]),e[o][1]n&&(n=e[o][1]);return[t,r,i-t,n-r]}(u);{const n=new Al,[o,s,a,l]=function(e){let t=e[0].x,i=t,r=e[0].y,n=r;for(let o=1;oi&&(i=e[o].x),e[o].yn&&(n=e[o].y);return[t,r,i-t,n-r]}(r),c=e=>[(e.x-o)/a,(e.y-s)/l],[u,d,g,y]=r.map(c),x=function(t,i,r,n,o,s,a,l){const c=bg(0,0,1,0,1,1,0,1),h=bg(t,i,r,n,o,s,a,l),u=e.ct.adjoint([],h);return e.ct.multiply(c,c,u)}(u[0],u[1],d[0],d[1],g[0],g[1],y[0],y[1]);this.elevatedGlobePerspectiveTransform=wg(u[0],u[1],d[0],d[1],g[0],g[1],y[0],y[1]);const v=(t,i)=>{h.push(t.lng);const r=Math.round((t.lng-p)/m*no),o=Math.round((t.lat-f)/_*no),s=c(i),a=e.Q.transformMat3([],[s[0],s[1],1],x),l=Math.round(a[0]/a[2]*no),u=Math.round(a[1]/a[2]*no);n.emplaceBack(r,o,l,u)},b=r[3].x-r[0].x,w=r[3].y-r[0].y,T=r[2].x-r[1].x,E=r[2].y-r[1].y;for(let e=0;e<65;e++){const t=e/64,n=[r[0].x+t*b,r[0].y+t*w],o=[r[1].x+t*T,r[1].y+t*E],s=o[0]-n[0],a=o[1]-n[1];for(let e=0;e<65;e++){const t=e/64,r={x:n[0]+s*t,y:n[1]+a*t,z:0};v(i.projection.unproject(r.x,r.y),r)}}this.elevatedGlobeVertexBuffer=t.createVertexBuffer(n,yg.members)}{this.maxLongitudeTriangleSize=0;let e=[],i=new Gl;const r=(t,r,n)=>{i.emplaceBack(t,r,n);const o=h[t],s=h[r],a=h[n],l=Math.min(Math.min(o,s),a),c=Math.max(Math.max(o,s),a)-l;c>this.maxLongitudeTriangleSize&&(this.maxLongitudeTriangleSize=c),e.push(l+c/2)};for(let t=0;t<64;t++)for(let e=0;e<64;e++){const i=65*t+e,n=i+1,o=i+65,s=o+1;r(i,o,n),r(n,o,s)}[e,i]=function(e,t){const i=Array.from({length:e.length},((e,t)=>t));i.sort(((t,i)=>e[t]-e[i]));const r=[],n=new Gl;for(let o=0;oe+360*Math.round((t-e)/360))(e+180,i[0]);const n=new mc,o=(e,i)=>{n.segments.push({vertexOffset:0,primitiveOffset:e,vertexLength:t.segments[0].vertexLength,primitiveLength:i,sortKey:void 0,vaos:{}})},s=.51*this.maxLongitudeTriangleSize;if(Math.abs(i[0]-r)<=s){const e=Ai(i,0,i.length,r+s);return e===i.length||o(e,Mi(i,e+1,i.length,r+360-s)-e),n}r4&&void 0!==arguments[4]?arguments[4]:1/0;const o=e.range;if(!o)return 0;const s=Math.min(n,Math.max(i,r)),a=Math.log(s/1024)/Math.LN2;return Xt(o[0]+a,o[1]+a,t)}const Fg=1/4e4;function Ng(e,t){const i=Ht(t.lat,-Eh,Eh),r=new sh(t.lng-180*Fg,i),n=new sh(t.lng+180*Fg,i),o=e.project(r.lng,i),s=e.project(n.lng,i),a=Ch.fromLngLat(r),l=Ch.fromLngLat(n),c=s.x-o.x,h=s.y-o.y,u=l.x-a.x,d=l.y-a.y,p=Math.sqrt((u*u+d*d)/(c*c+h*h));return Math.log(p)/Math.LN2}function Vg(e,t,i){const r=Math.cos(i),n=Math.sin(i);return{x:e*r-t*n,y:e*n+t*r}}function Ug(t,i,r){e.a9.identity(t),e.a9.rotateZ(t,t,Gt(i[2])),e.a9.rotateX(t,t,Gt(i[0])),e.a9.rotateY(t,t,Gt(i[1])),e.a9.scale(t,t,r),e.a9.multiply(t,t,[1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1])}function jg(t,i,r,n,o,s,a,l){const c=[r[0]-i[0],r[1]-i[1],0],h=[n[0]-i[0],n[1]-i[1],0];if(e.Q.length(c)<1e-12||e.Q.length(h)<1e-12)return e.bl.identity(t);const u=e.Q.cross([],c,h);e.Q.normalize(u,u),e.Q.subtract(h,n,i),c[2]=(s-o)*l,h[2]=(a-o)*l;const d=c;return e.Q.cross(d,c,h),e.Q.normalize(d,d),e.bl.rotationTo(t,u,d)}function Gg(t,i){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=Nu(i.zoom),o=function(t,i,r){const n=i.worldSize,o=[t[12],t[13],t[14]],s=wh(o[1]/n),a=bh(o[0]/n),l=e.a9.identity([]),c=vh(1,s)*n,h=vh(1,0)*n*Mh(s,i.zoom),u=1/Ou(n);let d=h*u;if(r){const e=Bg(i.projection,i.zoom,i.width,i.height,1024);d=u*i.projection.pixelSpaceConversion(i.center.lat,n,e)}const p=rh(s,a);e.Q.add(p,p,e.Q.scale([],e.Q.normalize([],p),c*d*o[2]));const f=function(t){const i=[t[0],t[1],t[2]];let r=[0,1,0];const n=e.Q.cross([],r,i);return e.Q.cross(r,i,n),0===e.Q.squaredLength(r)&&(r=[0,1,0],e.Q.cross(n,i,r)),e.Q.normalize(n,n),e.Q.normalize(r,r),e.Q.normalize(i,i),[n[0],n[1],n[2],0,r[0],r[1],r[2],0,i[0],i[1],i[2],0,t[0],t[1],t[2],1]}(p);e.a9.scale(l,l,[d,d,d*c]),e.a9.translate(l,l,[-o[0],-o[1],-o[2]]);const m=e.a9.multiply([],i.globeMatrix,f);return e.a9.multiply(m,m,l),e.a9.multiply(m,m,t),m}(t,i,r);if(n>0){const r=function(t,i){const r=i.worldSize,n=vh(1,0)*r*Mh(i.center.lat,i.zoom)/Ou(r),o=vh(1,i.center.lat)*r,s=e.a9.identity([]);return e.a9.rotateY(s,s,Gt(i.center.lng)),e.a9.rotateX(s,s,Gt(i.center.lat)),e.a9.translate(s,s,[0,0,Qc]),e.a9.scale(s,s,[n,n,n*o]),e.a9.translate(s,s,[i.point.x-.5*r,i.point.y-.5*r,0]),e.a9.multiply(s,s,t),e.a9.multiply(s,i.globeMatrix,s)}(t,i);return function(t,i,r){const n=(t,i,r)=>{const n=e.Q.length(t),o=e.Q.length(i),s=Mu(t,i,r);return e.Q.scale(s,s,1/e.Q.length(s)*jr(n,o,r))},o=n([t[0],t[1],t[2]],[i[0],i[1],i[2]],r),s=n([t[4],t[5],t[6]],[i[4],i[5],i[6]],r),a=n([t[8],t[9],t[10]],[i[8],i[9],i[10]],r),l=Mu([t[12],t[13],t[14]],[i[12],i[13],i[14]],r);return[o[0],o[1],o[2],0,s[0],s[1],s[2],0,a[0],a[1],a[2],0,l[0],l[1],l[2],1]}(o,r,n)}return o}function qg(e,t,i,r){const n=mu.projectAabbCorners(r,i);let o=Number.MAX_VALUE,s=-1;for(let c=0;cnew Vt(n[e][0],n[e][1]);let l;switch(s){case 0:case 6:l=[a(1),a(5),a(4),a(7),a(3),a(2),a(1)];break;case 1:case 7:l=[a(0),a(4),a(5),a(6),a(2),a(3),a(0)];break;case 3:case 5:l=[a(1),a(0),a(4),a(7),a(6),a(2),a(1)];break;default:l=[a(1),a(5),a(6),a(7),a(3),a(0),a(1)]}if(jh(e,l))return o}const Zg=Tl([{name:"a_pos_3f",components:3,type:"Float32"}]),$g=Tl([{name:"a_color_3f",components:3,type:"Float32"}]),Wg=Tl([{name:"a_color_4f",components:4,type:"Float32"}]),Qg=Tl([{name:"a_uv_2f",components:2,type:"Float32"}]),Hg=Tl([{name:"a_normal_3f",components:3,type:"Float32"}]),Xg=Tl([{name:"a_normal_matrix0",components:4,type:"Float32"},{name:"a_normal_matrix1",components:4,type:"Float32"},{name:"a_normal_matrix2",components:4,type:"Float32"},{name:"a_normal_matrix3",components:4,type:"Float32"}]),Yg=Tl([{name:"a_pbr",components:4,type:"Uint16"},{name:"a_heightBasedEmissiveStrength",components:3,type:"Float32"}]);class Kg{constructor(e,t,i,r){this.message=(e?`${e}: `:"")+i,r&&(this.identifier=r),null!=t&&t.__line__&&(this.line=t.__line__)}}function Jg(e,t){const i=-1===e.indexOf("://");try{return new URL(e,i&&t?"http://example.com":void 0),!0}catch(e){return!1}}class ey{constructor(e,t){this.feature=e,this.instancedDataOffset=t,this.instancedDataCount=0,this.rotation=[0,0,0],this.scale=[1,1,1],this.translation=[0,0,0]}}class ty{constructor(){this.instancedDataArray=new Kl,this.instancesEvaluatedElevation=[],this.features=[],this.idToFeaturesIndex={}}}class iy{constructor(e){this.zoom=e.zoom,this.canonical=e.canonical,this.layers=e.layers,this.layerIds=this.layers.map((e=>e.fqid)),this.projection=e.projection,this.index=e.index,this.hasZoomDependentProperties=this.layers[0].isZoomDependent(),this.stateDependentLayerIds=this.layers.filter((e=>e.isStateDependent())).map((e=>e.id)),this.hasPattern=!1,this.instancesPerModel={},this.validForExaggeration=0,this.maxVerticalOffset=0,this.maxScale=0,this.maxHeight=0,this.lookupDim=this.zoom>this.canonical.z?256:this.zoom>15?75:100,this.instanceCount=0,this.terrainElevationMin=0,this.terrainElevationMax=0,this.validForDEMTile={id:null,timestamp:0},this.modelUris=[],this.modelsRequested=!1}populate(e,t,i,r){this.tileToMeter=Ih(i);const n=this.layers[0]._featureFilter.needGeometry;this.lookup=new Uint8Array(this.lookupDim*this.lookupDim);for(const{feature:o,id:s,index:a,sourceLayerIndex:l}of e){const e=null!=s?s:o.properties&&o.properties.hasOwnProperty("id")?o.properties.id:void 0,c=Fh(o,n);if(!this.layers[0]._featureFilter.filter(new Va(this.zoom),c,i))continue;const h={id:e,sourceLayerIndex:l,index:a,geometry:n?c.geometry:Bh(o,i,r),properties:o.properties,type:o.type,patterns:{}},u=this.addFeature(h,h.geometry,c);u&&t.featureIndex.insert(o,h.geometry,a,l,this.index,this.instancesPerModel[u].instancedDataArray.length,no/32)}this.lookup=null}update(e,t,i,r){for(const n in this.instancesPerModel){const t=this.instancesPerModel[n];for(const i in e)t.idToFeaturesIndex.hasOwnProperty(i)&&(this.evaluate(t.features[t.idToFeaturesIndex[i]],e[i],t,!0),this.uploaded=!1)}this.maxHeight=0}updateZoomBasedPaintProperties(){if(!this.hasZoomDependentProperties)return!1;let t=!1;for(const i in this.instancesPerModel){const r=this.instancesPerModel[i];for(const i of r.features){const n=this.layers[0],o=i.feature,s=this.canonical,a=n.paint.get("model-rotation").evaluate(o,{},s),l=n.paint.get("model-scale").evaluate(o,{},s),c=n.paint.get("model-translation").evaluate(o,{},s);e.Q.exactEquals(i.rotation,a)&&e.Q.exactEquals(i.scale,l)&&e.Q.exactEquals(i.translation,c)||(this.evaluate(i,i.featureStates,r,!0),t=!0)}}return t}isEmpty(){for(const e in this.instancesPerModel)if(0!==this.instancesPerModel[e].instancedDataArray.length)return!1;return!0}uploadPending(){return!this.uploaded}upload(e){if(!this.uploaded)for(const t in this.instancesPerModel){const i=this.instancesPerModel[t];i.instancedDataArray.length<0||0===i.instancedDataArray.length||(i.instancedDataBuffer?i.instancedDataBuffer.updateData(i.instancedDataArray):i.instancedDataBuffer=e.createVertexBuffer(i.instancedDataArray,Xg.members,!0,void 0,this.instanceCount))}this.uploaded=!0}destroy(){for(const t in this.instancesPerModel){const e=this.instancesPerModel[t];0!==e.instancedDataArray.length&&e.instancedDataBuffer&&e.instancedDataBuffer.destroy()}const e=this.layers[0].modelManager;if(e&&this.modelUris)for(const t of this.modelUris)e.removeModel(t,"")}addFeature(e,t,i){const r=this.layers[0],n=r.layout.get("model-id").evaluate(i,{},this.canonical);if(!n)return ui(`modelId is not evaluated for layer ${r.id} and it is not going to get rendered.`),n;Jg(n,!1)&&(this.modelUris.includes(n)||this.modelUris.push(n)),this.instancesPerModel[n]||(this.instancesPerModel[n]=new ty);const o=this.instancesPerModel[n],s=o.instancedDataArray,a=new ey(i,s.length);for(const l of t)for(const e of l){if(e.x<0||e.x>=no||e.y<0||e.y>=no)continue;const t=(this.lookupDim-1)/no,i=this.lookupDim*(e.y*t|0)+e.x*t|0;if(this.lookup){if(0!==this.lookup[i])continue;this.lookup[i]=1}this.instanceCount++;const r=s.length;s.resize(r+1),o.instancesEvaluatedElevation.push(0),s.float32[16*r]=e.x,s.float32[16*r+1]=e.y}return a.instancedDataCount=o.instancedDataArray.length-a.instancedDataOffset,a.instancedDataCount>0&&(e.id&&(o.idToFeaturesIndex[e.id]=o.features.length),o.features.push(a),this.evaluate(a,{},o,!1)),n}getModelUris(){return this.modelUris}evaluate(e,t,i,r){const n=this.layers[0],o=e.feature,s=this.canonical,a=e.rotation=n.paint.get("model-rotation").evaluate(o,t,s),l=e.scale=n.paint.get("model-scale").evaluate(o,t,s),c=e.translation=n.paint.get("model-translation").evaluate(o,t,s),h=n.paint.get("model-color").evaluate(o,t,s);h.a=n.paint.get("model-color-mix-intensity").evaluate(o,t,s);const u=[];this.maxVerticalOffset10?this.tileToMeter:Ih(s,l)),o[n+4]=c[0],o[n+5]=c[1],o[n+6]=c[2]+a,o[n+7]=u[0],o[n+8]=u[1],o[n+9]=u[2],o[n+10]=u[4],o[n+11]=u[5],o[n+12]=u[6],o[n+13]=u[8],o[n+14]=u[9],o[n+15]=u[10],i.instancesEvaluatedElevation[t]=c[2]}}}fa(iy,"ModelBucket",{omit:["layers"]}),fa(ty,"PerModelAttributes"),fa(ey,"ModelFeature");const ry=new Ka({visibility:new Ha(tl.layout_model.visibility),"model-id":new Xa(tl.layout_model["model-id"])});var ny={paint:new Ka({"model-opacity":new Ha(tl.paint_model["model-opacity"]),"model-rotation":new Xa(tl.paint_model["model-rotation"]),"model-scale":new Xa(tl.paint_model["model-scale"]),"model-translation":new Xa(tl.paint_model["model-translation"]),"model-color":new Xa(tl.paint_model["model-color"]),"model-color-mix-intensity":new Xa(tl.paint_model["model-color-mix-intensity"]),"model-type":new Ha(tl.paint_model["model-type"]),"model-cast-shadows":new Ha(tl.paint_model["model-cast-shadows"]),"model-receive-shadows":new Ha(tl.paint_model["model-receive-shadows"]),"model-ambient-occlusion-intensity":new Ha(tl.paint_model["model-ambient-occlusion-intensity"]),"model-emissive-strength":new Xa(tl.paint_model["model-emissive-strength"]),"model-roughness":new Xa(tl.paint_model["model-roughness"]),"model-height-based-emissive-strength-multiplier":new Xa(tl.paint_model["model-height-based-emissive-strength-multiplier"]),"model-cutoff-fade-range":new Ha(tl.paint_model["model-cutoff-fade-range"]),"model-front-cutoff":new Ha(tl.paint_model["model-front-cutoff"])}),layout:ry};const oy=64,sy={CoordinateSpaceTile:1,CoordinateSpaceYUp:2,HasMapboxMeshFeatures:4,HasMeshoptCompression:8};function ay(t,i,r,n,o,s,a,l,c){let h=arguments.length>9&&void 0!==arguments[9]&&arguments[9];const u=r.zoom,d=r.project(n),p=Mh(n.lat,u),f=1/p;e.a9.identity(t),e.a9.translate(t,t,[d.x+a[0]*f,d.y+a[1]*f,a[2]]);let m=1,_=1;const g=r.worldSize;if(h){if("mercator"===r.projection.name){let t=0;r.elevation&&(t=r.elevation.getAtPointOrZero(new Ch(d.x/g,d.y/g),0));const i=e.aa.transformMat4([],[d.x,d.y,t,1],r.projMatrix)[3]/r.cameraToCenterDistance;m=i,_=i*Mh(r.center.lat,u)}else if("globe"===r.projection.name){const i=Gg(t,r),o=e.a9.multiply([],r.projMatrix,i),s=[0,0,0,1];e.aa.transformMat4(s,s,o);const a=s[3]/r.cameraToCenterDistance,l=Nu(u),c=r.projection.pixelsPerMeter(n.lat,g)*Mh(n.lat,u),h=r.projection.pixelsPerMeter(r.center.lat,g)*Mh(r.center.lat,u);m=a/jr(c,Sh(r.center.lat),l),_=a*p/c,m*=h,_*=h}}else m=f;e.a9.scale(t,t,[m,m,_]);const y=[...t],x=i.orientation,v=[];if(Ug(v,[x[0]+o[0],x[1]+o[1],x[2]+o[2]],s),e.a9.multiply(t,y,v),l&&r.elevation){let o=0;const s=[];if(c&&r.elevation){o=function(t,i,r,n,o){const s=i.elevation;if(!s)return 0;const a=mu.projectAabbCorners(r,n),l=vh(1,o.lat)*i.worldSize,c=function(t,i){const r=[0,0,1],n=[{corners:[0,1,3,2],dotProductWithUp:0},{corners:[1,5,2,6],dotProductWithUp:0},{corners:[0,4,1,5],dotProductWithUp:0},{corners:[2,6,3,7],dotProductWithUp:0},{corners:[4,7,5,6],dotProductWithUp:0},{corners:[0,3,4,7],dotProductWithUp:0}];for(const o of n){const n=t[o.corners[0]],s=t[o.corners[1]],a=t[o.corners[2]],l=[s[0]-n[0],s[1]-n[1],i*(s[2]-n[2])],c=e.Q.cross(l,l,[a[0]-n[0],a[1]-n[1],i*(a[2]-n[2])]);e.Q.normalize(c,c),o.dotProductWithUp=e.Q.dot(c,r)}return n.sort(((e,t)=>e.dotProductWithUp-t.dotProductWithUp)),n[0].corners}(a,l),h=a[c[0]],u=a[c[1]],d=a[c[2]],p=a[c[3]],f=s.getAtPointOrZero(new Ch(h[0]/i.worldSize,h[1]/i.worldSize),0),m=s.getAtPointOrZero(new Ch(u[0]/i.worldSize,u[1]/i.worldSize),0),_=s.getAtPointOrZero(new Ch(d[0]/i.worldSize,d[1]/i.worldSize),0),g=s.getAtPointOrZero(new Ch(p[0]/i.worldSize,p[1]/i.worldSize),0),y=(f+g)/2,x=(m+_)/2;return y>x?m<_?jg(t,u,p,h,m,g,f,l):jg(t,d,h,p,_,f,g,l):f2&&void 0!==arguments[2]&&arguments[2];e.uploaded||(e.gfxTexture=new xg(t,e.image,i?t.gl.R8:t.gl.RGBA,{useMipmap:e.sampler.minFilter>=t.gl.NEAREST_MIPMAP_NEAREST}),e.uploaded=!0,e.image=null)}function cy(e,t,i){e.indexBuffer=t.createIndexBuffer(e.indexArray,!1,!0),e.vertexBuffer=t.createVertexBuffer(e.vertexArray,Zg.members,!1,!0),e.normalArray&&(e.normalBuffer=t.createVertexBuffer(e.normalArray,Hg.members,!1,!0)),e.texcoordArray&&(e.texcoordBuffer=t.createVertexBuffer(e.texcoordArray,Qg.members,!1,!0)),e.colorArray&&(e.colorBuffer=t.createVertexBuffer(e.colorArray,(12===e.colorArray.bytesPerElement?$g:Wg).members,!1,!0)),e.featureArray&&(e.pbrBuffer=t.createVertexBuffer(e.featureArray,Yg.members,!0)),e.segments=mc.simpleSegment(0,0,e.vertexArray.length,e.indexArray.length);const r=e.material;r.pbrMetallicRoughness.baseColorTexture&&ly(r.pbrMetallicRoughness.baseColorTexture,t),r.pbrMetallicRoughness.metallicRoughnessTexture&&ly(r.pbrMetallicRoughness.metallicRoughnessTexture,t),r.normalTexture&&ly(r.normalTexture,t),r.occlusionTexture&&ly(r.occlusionTexture,t,i),r.emissionTexture&&ly(r.emissionTexture,t)}function hy(e,t,i){if(e.meshes)for(const r of e.meshes)cy(r,t,i);if(e.children)for(const r of e.children)hy(r,t,i)}function uy(e){if(e.meshes)for(const t of e.meshes)t.indexArray.destroy(),t.vertexArray.destroy(),t.colorArray&&t.colorArray.destroy(),t.normalArray&&t.normalArray.destroy(),t.texcoordArray&&t.texcoordArray.destroy(),t.featureArray&&t.featureArray.destroy();if(e.children)for(const t of e.children)uy(t)}function dy(e){if(e.meshes)for(const i of e.meshes)i.vertexBuffer&&(i.vertexBuffer.destroy(),i.indexBuffer.destroy(),i.normalBuffer&&i.normalBuffer.destroy(),i.texcoordBuffer&&i.texcoordBuffer.destroy(),i.colorBuffer&&i.colorBuffer.destroy(),i.pbrBuffer&&i.pbrBuffer.destroy(),i.segments.destroy(),i.material&&((t=i.material).pbrMetallicRoughness.baseColorTexture&&t.pbrMetallicRoughness.baseColorTexture.gfxTexture&&t.pbrMetallicRoughness.baseColorTexture.gfxTexture.destroy(),t.pbrMetallicRoughness.metallicRoughnessTexture&&t.pbrMetallicRoughness.metallicRoughnessTexture.gfxTexture&&t.pbrMetallicRoughness.metallicRoughnessTexture.gfxTexture.destroy(),t.normalTexture&&t.normalTexture.gfxTexture&&t.normalTexture.gfxTexture.destroy(),t.emissionTexture&&t.emissionTexture.gfxTexture&&t.emissionTexture.gfxTexture.destroy(),t.occlusionTexture&&t.occlusionTexture.gfxTexture&&t.occlusionTexture.gfxTexture.destroy()));var t;if(e.children)for(const i of e.children)dy(i)}class py{constructor(e){this._callback=e,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._callback()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._callback()}),0))}remove(){this._channel=void 0,this._callback=()=>{}}}class fy{constructor(){this.tasks={},this.taskQueue=[],oi(["process"],this),this.invoker=new py(this.process),this.nextId=0}add(e,t){const i=this.nextId++,r=function(e){let{type:t,isSymbolTile:i,zoom:r}=e;return r=r||0,"message"===t?0:"maybePrepare"!==t||i?"parseTile"!==t||i?"parseTile"===t&&i?300-r:"maybePrepare"===t&&i?400-r:500:200-r:100-r}(t);if(0===r){mi();try{e()}finally{}return null}return this.tasks[i]={fn:e,metadata:t,priority:r,id:i},this.taskQueue.push(i),this.invoker.trigger(),{cancel:()=>{delete this.tasks[i]}}}process(){mi();try{if(this.taskQueue=this.taskQueue.filter((e=>!!this.tasks[e])),!this.taskQueue.length)return;const e=this.pick();if(null===e)return;const t=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),!t)return;t.fn()}finally{}}pick(){let e=null,t=1/0;for(let r=0;r4&&void 0!==arguments[4]&&arguments[4],o=arguments.length>5?arguments[5]:void 0;const s=Math.round(1e18*Math.random()).toString(36).substring(0,10);i&&(i.metadata=o,this.callbacks[s]=i);const a=new Set;return this.target.postMessage({id:s,type:e,hasCallback:!!i,targetMapId:r,mustQueue:n,sourceMapId:this.mapId,data:ga(t,a)},a),{cancel:()=>{i&&delete this.callbacks[s],this.target.postMessage({id:s,type:"",targetMapId:r,sourceMapId:this.mapId})}}}receive(e){const t=e.data,i=t.id;if(i&&(!t.targetMapId||this.mapId===t.targetMapId))if(""===t.type){const e=this.cancelCallbacks[i];delete this.cancelCallbacks[i],e&&e.cancel()}else if(t.mustQueue||mi()){const e=this.callbacks[i],r=this.scheduler.add((()=>this.processTask(i,t)),e&&e.metadata||{type:"message"});r&&(this.cancelCallbacks[i]=r)}else this.processTask(i,t)}processTask(e,t){if(delete this.cancelCallbacks[e],""===t.type){const i=this.callbacks[e];delete this.callbacks[e],i&&(t.error?i(ya(t.error)):i(null,ya(t.data)))}else{const i=new Set,r=t.hasCallback?(t,r)=>{this.target.postMessage({id:e,type:"",sourceMapId:this.mapId,error:t?ga(t):null,data:ga(r,i)},i)}:e=>{},n=ya(t.data);if(this.parent[t.type])this.parent[t.type](t.sourceMapId,n,r);else if(this.parent.getWorkerSource){const e=t.type.split(".");this.parent.getWorkerSource(t.sourceMapId,e[0],n.source,n.scope)[e[1]](n,r)}else r(new Error(`Could not find function ${t.type}`))}}remove(){this.scheduler.remove(),this.target.removeEventListener("message",this.receive,!1)}}class _y{constructor(e,t){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=ti();const i=this.workerPool.acquire(this.id);for(let r=0;r{this.ready=!0}))}broadcast(e,t,i){Kt(this.actors,((i,r)=>{i.send(e,t,r)}),i=i||function(){})}getActor(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]}remove(){this.actors.forEach((e=>{e.remove()})),this.actors=[],this.workerPool.release(this.id)}}_y.Actor=my;var gy={workerUrl:"",workerClass:null,workerParams:void 0};function yy(){return null!=gy.workerClass?new gy.workerClass:new self.Worker(gy.workerUrl,gy.workerParams)}const xy="mapboxgl_preloaded_worker_pool";class vy{constructor(){this.active={}}acquire(e){if(!this.workers)for(this.workers=[];this.workers.length{e.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[xy]}numActive(){return Object.keys(this.active).length}}let by;function wy(){return by||(by=new vy),by}vy.workerCount=2;let Ty,Ey,Sy,My,Ay,Iy=null;function Cy(){return mi()&&self.worker&&self.worker.dracoUrl?self.worker.dracoUrl:Ey||r.DRACO_URL}function Py(){if(mi()&&self.worker&&self.worker.meshoptUrl)return self.worker.meshoptUrl;if(My)return My;const e=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]);if("object"!=typeof WebAssembly)throw new Error("WebAssembly not supported, cannot instantiate meshoptimizer");return My=WebAssembly.validate(e)?r.MESHOPT_SIMD_URL:r.MESHOPT_URL,My}const zy={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Dy={5120:"DT_INT8",5121:"DT_UINT8",5122:"DT_INT16",5123:"DT_UINT16",5125:"DT_UINT32",5126:"DT_FLOAT32"},Ry={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16};function Ly(e,t,i){const r=i.json.bufferViews.length,n=i.buffers.length;t.bufferView=r,i.json.bufferViews[r]={buffer:n,byteLength:e.byteLength},i.buffers[n]=e}const ky="KHR_draco_mesh_compression";function Oy(e,t){const i=e.extensions&&e.extensions[ky];if(!i)return;const r=new Sy.Decoder,n=Gy(t,i.bufferView),o=new Sy.Mesh;if(!r.DecodeArrayToMesh(n,n.byteLength,o))throw new Error("Failed to decode Draco mesh");const s=t.json.accessors[e.indices],a=zy[s.componentType],l=s.count*a.BYTES_PER_ELEMENT,c=Sy._malloc(l);a===Uint16Array?r.GetTrianglesUInt16Array(o,l,c):r.GetTrianglesUInt32Array(o,l,c),Ly(Sy.memory.buffer.slice(c,c+l),s,t),Sy._free(c);for(const h of Object.keys(i.attributes)){const n=r.GetAttributeByUniqueId(o,i.attributes[h]),s=t.json.accessors[e.attributes[h]],a=Dy[s.componentType],l=s.count*Ry[s.type]*zy[s.componentType].BYTES_PER_ELEMENT,c=Sy._malloc(l);r.GetAttributeDataArrayForAllPoints(o,n,Sy[a],l,c),Ly(Sy.memory.buffer.slice(c,c+l),s,t),Sy._free(c)}r.destroy(),o.destroy(),delete e.extensions[ky]}const By="EXT_meshopt_compression";function Fy(e,t){if(!e.extensions||!e.extensions[By])return;const i=e.extensions[By],r=new Uint8Array(t.buffers[i.buffer],i.byteOffset||0,i.byteLength||0),n=new Uint8Array(i.count*i.byteStride);Ay.decodeGltfBuffer(n,i.count,i.byteStride,r,i.mode,i.filter),e.buffer=t.buffers.length,e.byteOffset=0,t.buffers[e.buffer]=n.buffer,delete e.extensions[By]}const Ny=1179937895,Vy=new TextDecoder("utf8");function Uy(e,t){return new URL(e,t).href}function jy(e,t,i,r){return fetch(Uy(e.uri,r)).then((e=>e.arrayBuffer())).then((e=>{t.buffers[i]=e}))}function Gy(e,t){const i=e.json.bufferViews[t];return new Uint8Array(e.buffers[i.buffer],i.byteOffset||0,i.byteLength)}function qy(e,t,i,r){if(e.uri){const n=Uy(e.uri,r);return fetch(n).then((e=>e.blob())).then((e=>createImageBitmap(e))).then((e=>{t.images[i]=e}))}if(void 0!==e.bufferView){const r=Gy(t,e.bufferView),n=new Blob([r],{type:e.mimeType});return createImageBitmap(n).then((e=>{t.images[i]=e}))}}function Zy(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2?arguments[2]:void 0;const r={json:null,images:[],buffers:[]};if(new Uint32Array(e,t,1)[0]===Ny){const i=new Uint32Array(e,t);let n=2;const o=(i[n++]>>2)-3,s=i[n++]>>2;if(n++,r.json=JSON.parse(Vy.decode(i.subarray(n,n+s))),n+=s,n{const e=[],t=a&&a.includes(ky),n=a&&a.includes(By);if(t&&e.push(function(){if(!Sy)return Ty||(Ty=function(e){let t,i=null;function r(){t=new Uint8Array(i.buffer)}function n(){throw new Error("Unexpected Draco error.")}const o={a:{a:n,d:function(e,i,r){return t.copyWithin(e,i,i+r)},c:function(e){const n=t.length,o=Math.max(e>>>0,Math.ceil(1.2*n)),s=Math.ceil((o-n)/65536);try{return i.grow(s),r(),!0}catch(e){return!1}},b:n}};return(WebAssembly.instantiateStreaming?WebAssembly.instantiateStreaming(e,o):e.then((e=>e.arrayBuffer())).then((e=>WebAssembly.instantiate(e,o)))).then((e=>{const{Rb:n,Qb:o,P:s,T:a,X:l,Ja:c,La:h,Qa:u,Va:d,Wa:p,eb:f,jb:m,f:_,e:g,yb:y,zb:x,Ab:v,Bb:b,Db:w,Gb:T}=e.instance.exports;i=g;const E=(()=>{let e=0,i=0,r=0,s=0;return a=>{r&&(n(s),n(e),i+=r,r=e=0),e||(i+=128,e=o(i));const l=a.length+7&-8;let c=e;l>=i&&(r=l,c=s=o(l));for(let e=0;e{Sy=e,Ty=void 0})))}()),n&&e.push(function(){if(Ay)return;const e=function(e){let t;const i=WebAssembly.instantiateStreaming(e,{}).then((e=>{t=e.instance,t.exports.__wasm_call_ctors()})),r={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},n={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return{ready:i,supported:!0,decodeGltfBuffer(e,i,o,s,a,l){!function(e,t,i,r,n,o,s){const a=e.exports.sbrk,l=r+3&-4,c=a(l*n),h=a(o.length),u=new Uint8Array(e.exports.memory.buffer);u.set(o,h);const d=t(c,r,n,h,o.length);if(0===d&&s&&s(c,l,n),i.set(u.subarray(c,c+r*n)),a(c-a(0)),0!==d)throw new Error(`Malformed buffer data: ${d}`)}(t,t.exports[n[a]],e,i,o,s,t.exports[r[l]])}}}(fetch(Py()));return e.ready.then((()=>{Ay=e}))}()),o)for(let s=0;s{if(t&&s)for(const{primitives:e}of s)for(const t of e)Oy(t,r);if(n&&s&&l)for(const e of l)Fy(e,r);return r}))}))}class $y{constructor(e,t,i,r){if(this.triangleCount=t.length/3,this.min=new Vt(0,0),this.max=new Vt(0,0),this.xScale=0,this.yScale=0,this.cellsX=0,this.cellsY=0,this.cells=[],this.payload=[],0===this.triangleCount||0===e.length)return;const[n,o]=[e[0].clone(),e[0].clone()];for(let h=1;he.cellIdx-t.cellIdx||e.triIdx-t.triIdx));let c=0;for(;cthis.max.x||this.min.x>t.x)return;if(e.y>this.max.y||this.min.y>t.y)return;this.lookup||(this.lookup=new Uint8Array(Math.ceil(this.triangleCount/8)));for(let a=0;a0){for(let n=0;n0){o.texcoordArray=new zl;const e=t.json.accessors[n.TEXCOORD_0];o.texcoordArray.resize(e.count);const i=Qy(t,e);Hy(t,e,o.texcoordArray,i)}if(void 0!==n._FEATURE_ID_RGBA4444){const e=t.json.accessors[n._FEATURE_ID_RGBA4444];t.json.extensionsUsed&&t.json.extensionsUsed.includes("EXT_meshopt_compression")&&(o.featureData=Qy(t,e))}void 0!==n._FEATURE_RGBA4444&&(o.featureData=new Uint32Array(Qy(t,t.json.accessors[n._FEATURE_RGBA4444]).buffer));const u=e.material;return o.material=function(e,t){const{emissiveFactor:i=[0,0,0],alphaMode:r="OPAQUE",alphaCutoff:n=.5,normalTexture:o,occlusionTexture:s,emissiveTexture:a,doubleSided:l}=e,{baseColorFactor:c=[1,1,1,1],metallicFactor:h=1,roughnessFactor:u=1,baseColorTexture:d,metallicRoughnessTexture:p}=e.pbrMetallicRoughness||{},f=s?t[s.index]:void 0;if(s&&s.extensions&&s.extensions.KHR_texture_transform&&f){const e=s.extensions.KHR_texture_transform;f.offsetScale=[e.offset[0],e.offset[1],e.scale[0],e.scale[1]]}return{pbrMetallicRoughness:{baseColorFactor:new Ur(...c),metallicFactor:h,roughnessFactor:u,baseColorTexture:d?t[d.index]:void 0,metallicRoughnessTexture:p?t[p.index]:void 0},doubleSided:l,emissiveFactor:i,alphaMode:r,alphaCutoff:n,normalTexture:o?t[o.index]:void 0,occlusionTexture:f,emissionTexture:a?t[a.index]:void 0,defined:void 0===e.defined}}(void 0!==u?t.json.materials[u]:{defined:!1},i),o}function Yy(t,i,r){const{matrix:n,rotation:o,translation:s,scale:a,mesh:l,extras:c,children:h}=t,u={};if(u.matrix=n||e.a9.fromRotationTranslationScale([],o||[0,0,0,1],s||[0,0,0],a||[1,1,1]),void 0!==l){u.meshes=r[l];const e=u.anchor=[0,0];for(const t of u.meshes){const{min:i,max:r}=t.aabb;e[0]+=i[0]+r[0],e[1]+=i[1]+r[1]}e[0]=Math.floor(e[0]/u.meshes.length/2),e[1]=Math.floor(e[1]/u.meshes.length/2)}if(c&&(c.id&&(u.id=c.id),c.lights&&(u.lights=function(e){if(!e.length)return[];const t=function(e){const t=atob(e),i=new Uint8Array(t.length);for(let r=0;r1&&r[r.length-1].equals(r[0])&&r.pop();let n=0;for(let s=0;s0&&r.reverse();const o=Nd(r.flatMap((e=>[e.x,e.y])),[]);return 0===o.length?null:{vertices:r,indices:o}}function ex(t,i){const r=[],n=[];let o=0;const s=[];for(const a of t){o=r.length;const t=a.vertexArray.float32,l=a.indexArray.uint16;for(let n=0;n0&&([n[e+1],n[e+2]]=[n[e+2],n[e+1]])}return{vertices:r,indices:n}}function tx(e){const t=function(e,t){const i=[],r=WebGL2RenderingContext;if(e.json.textures)for(const n of e.json.textures){const o={magFilter:r.LINEAR,minFilter:r.NEAREST,wrapS:r.REPEAT,wrapT:r.REPEAT};void 0!==n.sampler&&Object.assign(o,e.json.samplers[n.sampler]),i.push({image:t[n.source],sampler:o,uploaded:!1})}return i}(e,e.images),i=function(e,t){const i=[];for(const r of e.json.meshes){const n=[];for(const i of r.primitives)n.push(Xy(i,e,t));i.push(n)}return i}(e,t),{scenes:r,scene:n,nodes:o}=e.json,s=r?r[n||0].nodes:o,a=[];for(const l of s)a.push(Yy(o[l],e,i));return function(e,t,i){const r={},n=new Set;for(let o=0;o0){const t=Array.from(n.values()).sort(((e,t)=>e-t));for(let i=t.length-1;i>=0;i--)e.splice(t[i],1)}}(a,s,e.json.nodes),a}function ix(e){e.heightmap=new Float32Array(4096),e.heightmap.fill(-1);const t=e.vertexArray.float32,i=e.aabb.min[0]-1,r=e.aabb.min[1]-1,n=oy/(e.aabb.max[0]-i+2),o=oy/(e.aabb.max[1]-r+2);for(let s=0;se.heightmap[c*oy+l]&&(e.heightmap[c*oy+l]=a)}}function rx(t,i){const r={};r.indexArray=new Gl,r.indexArray.reserve(4*t.length),r.vertexArray=new Yl,r.vertexArray.reserve(10*t.length),r.colorArray=new Pl,r.vertexArray.reserve(10*t.length);let n=0;for(const a of t){const t=Math.min(10,Math.max(4,1.3*a.height))*i,o=[-a.normal[1],a.normal[0],0],s=Math.min(.29,.1*a.width/a.depth),l=a.width-2*a.depth*i*(s+.01),c=e.Q.scaleAndAdd([],a.pos,o,l/2),h=e.Q.scaleAndAdd([],a.pos,o,-l/2),u=[c[0],c[1],c[2]+a.height],d=[h[0],h[1],h[2]+a.height],p=e.Q.scaleAndAdd([],a.normal,o,s);e.Q.scale(p,p,t);const f=e.Q.scaleAndAdd([],a.normal,o,-s);e.Q.scale(f,f,t),e.Q.add(p,c,p),e.Q.add(f,h,f),c[2]+=.1,h[2]+=.1,r.vertexArray.emplaceBack(p[0],p[1],p[2]),r.vertexArray.emplaceBack(f[0],f[1],f[2]),r.vertexArray.emplaceBack(c[0],c[1],c[2]),r.vertexArray.emplaceBack(h[0],h[1],h[2]),r.vertexArray.emplaceBack(u[0],u[1],u[2]),r.vertexArray.emplaceBack(d[0],d[1],d[2]),r.vertexArray.emplaceBack(c[0],c[1],c[2]),r.vertexArray.emplaceBack(h[0],h[1],h[2]),r.vertexArray.emplaceBack(p[0],p[1],p[2]),r.vertexArray.emplaceBack(f[0],f[1],f[2]);const m=l/t/2;r.colorArray.emplaceBack(-m-s,-1,m,.8),r.colorArray.emplaceBack(m+s,-1,m,.8),r.colorArray.emplaceBack(-m,0,m,1.3),r.colorArray.emplaceBack(m,0,m,1.3),r.colorArray.emplaceBack(m+s,-.8,m,.7),r.colorArray.emplaceBack(m+s,-.8,m,.7),r.colorArray.emplaceBack(0,0,m,1.3),r.colorArray.emplaceBack(0,0,m,1.3),r.colorArray.emplaceBack(m+s,-1.2,m,.8),r.colorArray.emplaceBack(m+s,-1.2,m,.8),r.indexArray.emplaceBack(6+n,4+n,8+n),r.indexArray.emplaceBack(7+n,9+n,5+n),r.indexArray.emplaceBack(0+n,1+n,2+n),r.indexArray.emplaceBack(1+n,3+n,2+n),n+=10}const o={defined:!0,emissiveFactor:[0,0,0]},s={};return s.baseColorFactor=Ur.white,o.pbrMetallicRoughness=s,r.material=o,r.aabb=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),r}fa($y,"TriangleGridIndex");class nx{constructor(e){this._stringToNumber={},this._numberToString=[];for(let t=0;t5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n,o);const l=this.grid;for(let c=0;c=0&&i[3]>=0&&l.insert(a,i[0],i[1],i[2],i[3])}}loadVTLayers(){if(!this.vtLayers){this.vtLayers=new up(new wm(this.rawTileData)).layers,this.sourceLayerCoder=new nx(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"]),this.vtFeatures={};for(const e in this.vtLayers)this.vtFeatures[e]=[]}return this.vtLayers}query(e,t,i,r){var n=this;this.loadVTLayers();const o=e.params||{},s=rl(o.filter),a=e.tileResult,l=e.transform,c=a.bufferedTilespaceBounds,h=this.grid.query(c.min.x,c.min.y,c.max.x,c.max.y,((e,t,i,r)=>Kh(a.bufferedTilespaceGeometry,e,t,i,r)));h.sort(cx);let u=null;l.elevation&&h.length>0&&(u=Rp.create(l.elevation,this.tileID));const d={};let p;for(let f=0;f3&&void 0!==arguments[3]?arguments[3]:0;return _||(_=Bh(t,n.tileID.canonical,e.tileTransform)),i.queryIntersectsFeature(a,t,r,_,n.z,e.transform,e.pixelPosMatrix,u,o)}))}return d}loadMatchingFeature(e,t,i,r,n,o,s,a,l){const{featureIndex:c,bucketIndex:h,sourceLayerIndex:u,layoutVertexArrayOffset:d}=t,p=this.bucketLayerIDs[h];if(r&&!function(e,t){for(let i=0;i=0)return!0;return!1}(r,p))return;const f=this.sourceLayerCoder.decode(u),m=this.vtLayers[f].feature(c);if(i.needGeometry){const e=Fh(m,!0);if(!i.filter(new Va(this.tileID.overscaledZ),e,this.tileID.canonical))return}else if(!i.filter(new Va(this.tileID.overscaledZ),m))return;const _=this.getId(m,f);for(let g=0;g{const s=t instanceof Qa?t.get(o):null;return s&&s.evaluate?s.evaluate(i,r,n):s}))}function cx(e,t){return t-e}fa(ax,"FeatureIndex",{omit:["rawTileData","sourceLayerCoder"]});const hx=new Float32Array(262144),ux=new Uint8Array(262144);function dx(e){let t=0;if(e.meshes)for(const i of e.meshes)t=Math.max(t,i.aabb.max[2]);if(e.children)for(const i of e.children)t=Math.max(t,dx(i));return t}function px(e,t,i){if(e.meshes)for(const r of e.meshes)r.aabb.min[0]!==1/0&&i.insert(t,r.aabb.min[0],r.aabb.min[1],r.aabb.max[0],r.aabb.max[1]);if(e.children)for(const r of e.children)px(r,t,i)}const fx=["","wall","door","roof","window","lamp","logo"];class mx{constructor(e){this.node=e,this.evaluatedRMEA=[[1,0,0,1],[1,0,0,1],[1,0,0,1],[1,0,0,1],[.4,1,0,1],[1,0,0,1],[1,0,0,1]],this.hiddenByReplacement=!1,this.evaluatedScale=[1,1,1],this.evaluatedColor=[],this.emissionHeightBasedParams=[],this.feature={type:"Point",id:e.id,geometry:[],properties:{height:dx(e)}}}getLocalBounds(){if(!this.node.meshes)return new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]);if(!this.aabb){let e=0;const t=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]);for(const i of this.node.meshes)this.node.lightMeshIndex!==e&&t.encapsulate(i.aabb),e++;this.aabb=mu.applyTransform(t,this.node.matrix)}return this.aabb}}class _x{constructor(e,t,i,r,n,o){this.id=t,this.modelTraits|=sy.CoordinateSpaceTile,this.uploaded=!1,this.hasPattern=!1,i&&(this.modelTraits|=sy.HasMapboxMeshFeatures),r&&(this.modelTraits|=sy.HasMeshoptCompression),this.zoom=-1,this.terrainExaggeration=1,this.projection={name:"mercator"},this.replacementUpdateTime=0,this.elevationReadFromZ=255,this.brightness=n,this.dirty=!0,this.needsUpload=!1,this.nodesInfo=[];for(const s of e)this.nodesInfo.push(new mx(s)),px(s,o.featureIndexArray.length,o.grid),o.featureIndexArray.emplaceBack(this.nodesInfo.length-1,0,o.bucketLayerIDs.length-1,0)}update(){console.log("Update 3D model bucket")}populate(){console.log("populate 3D model bucket")}uploadPending(){return!this.uploaded||this.needsUpload}upload(e){if(!this.needsUpload)return;const t=this.getNodesInfo();for(const i of t){const t=i.node;this.uploaded?this.updatePbrBuffer(t):hy(t,e,!0)}for(const i of t)uy(i.node);this.uploaded=!0,this.needsUpload=!1}updatePbrBuffer(e){let t=!1;if(!e.meshes)return t;for(const i of e.meshes)i.pbrBuffer&&(i.pbrBuffer.updateData(i.featureArray),t=!0);return t}needsReEvaluation(e,t,i){const r=e.transform.projectionOptions,n=e.style.getBrightness(),o=this.brightness!==n;return!!(!this.uploaded||this.dirty||r.name!==this.projection.name||gx(i.paint.get("model-color").value,o)||gx(i.paint.get("model-color-mix-intensity").value,o)||gx(i.paint.get("model-roughness").value,o)||gx(i.paint.get("model-emissive-strength").value,o)||gx(i.paint.get("model-height-based-emissive-strength-multiplier").value,o))&&(this.projection=r,this.brightness=n,!0)}evaluateScale(e,t){if(e.transform.zoom===this.zoom)return;this.zoom=e.transform.zoom;const i=this.getNodesInfo(),r=this.id.canonical;for(const n of i){const e=n.feature;n.evaluatedScale=t.paint.get("model-scale").evaluate(e,{},r)}}evaluate(e){const t=this.getNodesInfo();for(const i of t){if(!i.node.meshes)continue;const t=i.feature,r=i.node.meshes&&i.node.meshes[0].featureData,n=i.evaluatedColor[2],o=i.evaluatedRMEA[2],s=this.id.canonical;if(i.hasTranslucentParts=!1,r){for(let r=0;r=s)continue;const u=hx[c],d=Math.abs(u);d>a&&(n=u,a=d,l=r,h=t)}if(a>.1){const o=1-(s+.5*Math.abs(l*h))/c;let a=t._dem.get(i,e)+n*o;const u=t._dem.get(i+l,e+h),d=t._dem.get(i-l,e-h,!0);(a-u)*(a-d)>0&&(a=(u+d)/2),hx[r]=t._dem.set(i,e,a),ux[r]=s}}}}}s&&(t._demTile.needsDEMTextureUpload=!0,t._dem._timestamp=zi.now())}getNodesInfo(){return this.nodesInfo}destroy(){const e=this.getNodesInfo();for(const t of e)uy(t.node),dy(t.node)}isEmpty(){return!this.nodesInfo.length}updateReplacement(e,t){if(t.updateTime===this.replacementUpdateTime)return;this.replacementUpdateTime=t.updateTime;const i=t.getReplacementRegionsForTile(e.toUnwrapped()),r=this.getNodesInfo();for(let n=0;nt.footprint===e.footprint))}}getHeightAtTileCoord(t,i){const r=this.getNodesInfo(),n=[],o=[0,0,0];for(let s=0;sc.max[0]||i>c.max[1])continue;const h=(t-l.aabb.min[0])/(l.aabb.max[0]-l.aabb.min[0])*oy|0,u=Math.min(63,(i-l.aabb.min[1])/(l.aabb.max[1]-l.aabb.min[1])*oy|0)*oy+Math.min(63,h);if(o[2]=l.heightmap[u],e.Q.transformMat4(o,o,a.node.matrix),!(l.heightmap[u]<0&&a.node.footprint)){if(a.hiddenByReplacement)return;return{height:o[2],maxHeight:a.feature.properties.height,hidden:!1,verticalScale:a.evaluatedScale[2]}}if(a.node.footprint.grid.query(new Vt(t,i),new Vt(t,i),n),n.length>0)return{height:void 0,maxHeight:a.feature.properties.height,hidden:a.hiddenByReplacement,verticalScale:a.evaluatedScale[2]}}}}function gx(e,t){return!e.isLightConstant&&t}function yx(e,t,i,r,n,o,s,a){let l=(61440&t|(61440&t)>>4)>>8,c=(3840&t|(3840&t)>>4)>>4,h=240&t|(240&t)>>4;i[3]>0&&(l=jr(l,255*i[0],i[3]),c=jr(c,255*i[1],i[3]),h=jr(h,255*i[2],i[3]));const u=l<<8|c,d=h<<8|Math.floor(255*r[3]),p=function(e){const t=Ht(e,0,2);return Math.min(Math.round(.5*t*255),255)}(r[2])<<8|15*r[0]<<4|15*r[1],f=Ht(n[0],0,1),m=Ht(n[1],0,1),_=Ht(n[2],0,1),g=Ht(n[3],0,1);let y,x,v,b;if(f!==m&&s!==o&&m!==f){const e=s-o;x=1/(e*(m-f)),v=-(o+e*f)/(e*(m-f));const t=Ht(n[4],-1,1);b=Math.pow(10,t),y=255*_<<8|255*g}else y=65535,x=0,v=1,b=1;if(e.emplaceBack(u,d,p,y,x,v,b),a){const e=a.length;a.clear();for(let t=0;t>16&65535,a=o?t>>16&65535:65535&t,l=(15&a)<8?15&a:0,c=e.evaluatedRMEA[l],h=e.evaluatedColor[l],u=e.emissionHeightBasedParams[l];let d;if(i&&2===l&&r.lights&&(d=new Jl,d.resize(10*r.lights.length)),yx(s.featureArray,n,h,c,u,s.aabb.min[2],s.aabb.max[2],d),d&&i){i=!1;const e=r.meshes[r.lightMeshIndex];e.featureArray=d,e.featureArray._trim()}}s.featureArray._trim(),n++}}function vx(e,t,i,r){const n=1<e.polygon)).flat());const g=f?l:null,[y,x]=function(t,i,r,n,o,s,a,l,c,h,u){return"globe"===t.projection.name?function(t,i,r,n,o,s,a,l,c,h,u){const d=[],p=[],f=t.projection.upVectorScale(u,t.center.lat,t.worldSize).metersToTile,m=[0,0,0,1],_=[0,0,0,1],g=(e,t,i,r)=>{e[0]=t,e[1]=i,e[2]=r,e[3]=1},y=sf();r>0&&(r+=y),n+=y;for(const x of i){const i=[],y=[];for(const d of x){const p=d.x+o.x,x=d.y+o.y,v=t.projection.projectTilePoint(p,x,u),b=t.projection.upVector(u,d.x,d.y);let w=r,T=n;if(a){const e=ff(p,x,r,n,a,l,c,h);w+=e.base,T+=e.top}0!==r?g(m,v.x+b[0]*f*w,v.y+b[1]*f*w,v.z+b[2]*f*w):g(m,v.x,v.y,v.z),g(_,v.x+b[0]*f*T,v.y+b[1]*f*T,v.z+b[2]*f*T),e.Q.transformMat4(m,m,s),e.Q.transformMat4(_,_,s),i.push(new uf(m[0],m[1],m[2])),y.push(new uf(_[0],_[1],_[2]))}d.push(i),p.push(y)}return[d,p]}(t,i,r,n,o,s,a,l,c,h,u):a?function(t,i,r,n,o,s,a,l,c){const h=[],u=[],d=[0,0,0,1];for(const p of t){const t=[],f=[];for(const h of p){const u=h.x+n.x,p=h.y+n.y,m=ff(u,p,i,r,s,a,l,c);d[0]=u,d[1]=p,d[2]=m.base,d[3]=1,e.aa.transformMat4(d,d,o),d[3]=Math.max(d[3],1e-5);const _=new uf(d[0]/d[3],d[1]/d[3],d[2]/d[3]);d[0]=u,d[1]=p,d[2]=m.top,d[3]=1,e.aa.transformMat4(d,d,o),d[3]=Math.max(d[3],1e-5);const g=new uf(d[0]/d[3],d[1]/d[3],d[2]/d[3]);t.push(_),f.push(g)}h.push(t),u.push(f)}return[h,u]}(i,r,n,o,s,a,l,c,h):function(e,t,i,r,n){const o=[],s=[],a=n[8]*t,l=n[9]*t,c=n[10]*t,h=n[11]*t,u=n[8]*i,d=n[9]*i,p=n[10]*i,f=n[11]*i;for(const m of e){const e=[],t=[];for(const i of m){const o=i.x+r.x,s=i.y+r.y,m=n[0]*o+n[4]*s+n[12],_=n[1]*o+n[5]*s+n[13],g=n[2]*o+n[6]*s+n[14],y=n[3]*o+n[7]*s+n[15],x=m+a,v=_+l,b=g+c,w=Math.max(y+h,1e-5),T=m+u,E=_+d,S=g+p,M=Math.max(y+f,1e-5);e.push(new uf(x/w,v/w,b/w)),t.push(new uf(T/M,E/M,S/M))}o.push(e),s.push(t)}return[o,s]}(i,r,n,o,s)}(s,n,d,u,h,a,g,p,m,s.center.lat,t.tileID.canonical),v=t.queryGeometry;return function(e,t,i){let r=1/0;qh(i,t)&&(r=pf(i,t[0]));for(let n=0;n=3)for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.first=null,this.items=Object.create(null),this.last=null,this.max=e,this.resetTtl=i,this.size=0,this.ttl=t}clear(){return this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this}delete(e){if(this.has(e)){const t=this.items[e];delete this.items[e],this.size--,null!==t.prev&&(t.prev.next=t.next),null!==t.next&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),this.last===t&&(this.last=t.prev)}return this}entries(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.keys()).map((e=>[e,this.get(e)]))}evict(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||this.size>0){const e=this.first;delete this.items[e.key],0==--this.size?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}return this}expiresAt(e){let t;return this.has(e)&&(t=this.items[e].expiry),t}get(e){let t;if(this.has(e)){const i=this.items[e];this.ttl>0&&i.expiry<=Date.now()?this.delete(e):(t=i.value,this.set(e,t,!0))}return t}has(e){return e in this.items}keys(){const e=[];let t=this.first;for(;null!==t;)e.push(t.key),t=t.next;return e}set(e,t){let i,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.resetTtl;if(r||this.has(e)){if(i=this.items[e],i.value=t,!1===r&&n&&(i.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl),this.last!==i){const e=this.last,t=i.next,r=i.prev;this.first===i&&(this.first=i.next),i.next=null,i.prev=this.last,e.next=i,null!==r&&(r.next=t),null!==t&&(t.prev=r)}}else this.max>0&&this.size===this.max&&this.evict(!0),i=this.items[e]={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:t},1==++this.size?this.first=i:this.last.next=i;return this.last=i,this}values(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.keys()).map((e=>this.get(e)))}}function Sx(e,t){if(4!==t.length)throw new Error(`Expected data of dimension 4 but got ${t.length}.`);let i=t[3];for(let r=2;r>=1;r--){const n=1===r?1:0,o=2===r?1:0;for(let r=0;r>>1^-(1&e[t]);return e}function Ax(e,t){switch(t){case"uint32":return e;case"uint16":for(let t=0;t>4|(61440&i)>>8|(240&r)<<4|61440&r,e[t+1]=15&i|(3840&i)>>4|(15&r)<<8|(3840&r)<<4}return e;case"uint8":for(let t=0;t>6|(192&r)>>4|(192&n)>>2|192&o,e[t+1]=(48&i)>>4|(48&r)>>2|48&n|(48&o)<<2,e[t+2]=(12&i)>>2|12&r|(12&n)<<2|(12&o)<<4,e[t+3]=3&i|(3&r)<<2|(3&n)<<4|(3&o)<<6}return e;default:throw new Error(`Invalid pixel format, "${t}"`)}}class Ix extends Error{constructor(e){super(e),this.name="MRTError"}}var Cx=Uint8Array,Px=Uint16Array,zx=Int32Array,Dx=new Cx([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Rx=new Cx([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Lx=new Cx([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),kx=function(e,t){for(var i=new Px(31),r=0;r<31;++r)i[r]=t+=1<>1|(21845&Ux)<<1;Vx[Ux]=((65280&(jx=(61680&(jx=(52428&jx)>>2|(13107&jx)<<2))>>4|(3855&jx)<<4))>>8|(255&jx)<<8)>>1}var Gx=function(e,t,i){for(var r=e.length,n=0,o=new Px(t);n>l]=c}else for(s=new Px(r),n=0;n>15-e[n]);return s},qx=new Cx(288);for(Ux=0;Ux<144;++Ux)qx[Ux]=8;for(Ux=144;Ux<256;++Ux)qx[Ux]=9;for(Ux=256;Ux<280;++Ux)qx[Ux]=7;for(Ux=280;Ux<288;++Ux)qx[Ux]=8;var Zx=new Cx(32);for(Ux=0;Ux<32;++Ux)Zx[Ux]=5;var $x=Gx(qx,9,1),Wx=Gx(Zx,5,1),Qx=function(e){for(var t=e[0],i=1;it&&(t=e[i]);return t},Hx=function(e,t,i){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&i},Xx=function(e,t){var i=t/8|0;return(e[i]|e[i+1]<<8|e[i+2]<<16)>>(7&t)},Yx=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Kx=function(e,t,i){var r=new Error(t||Yx[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Kx),!i)throw r;return r},Jx=new Cx(0),ev="undefined"!=typeof TextDecoder&&new TextDecoder;try{ev.decode(Jx,{stream:!0})}catch(e){}const tv={gzip_data:"gzip"},iv={0:"uint32",1:"uint32",2:"uint16",3:"uint8"},rv={uint32:1,uint16:2,uint8:4},nv={uint32:Uint32Array,uint16:Uint16Array,uint8:Uint8Array};class ov{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.x=NaN,this.y=NaN,this.z=NaN,this.layers={},this._cacheSize=e}getLayer(e){return this.layers[e]}getHeaderLength(e){const t=new Uint8Array(e),i=new DataView(e);if(13!==t[0])throw new Ix("File is not a valid MRT.");return i.getUint32(1,!0)}parseHeader(e){const t=new Uint8Array(e),i=this.getHeaderLength(e);if(t.length= ${i} but got buffer of length ${t.length}`);const r=new wm(t.subarray(0,i)),n=wx.read(r);if(!isNaN(this.x)&&(this.x!==n.x||this.y!==n.y||this.z!==n.z))throw new Ix(`Invalid attempt to parse header ${n.z}/${n.x}/${n.y} for tile ${this.z}/${this.x}/${this.y}`);this.x=n.x,this.y=n.y,this.z=n.z;for(const o of n.layers)this.layers[o.name]=new sv(o,{cacheSize:this._cacheSize});return this}createDecodingTask(e){const t=[],i=this.getLayer(e.layerName);for(let r=0;re.lastBlock)continue;if(i._blocksInProgress.has(r))continue;const a={layerName:i.name,firstByte:o,lastByte:s,pixelFormat:i.pixelFormat,blockIndex:r,blockShape:[n.bands.length].concat(i.bandShape),buffer:i.buffer,codec:n.codec.codec,filters:n.filters.map((e=>e.filter))};i._blocksInProgress.add(r),t.push(a)}return new av(t,(()=>{t.forEach((e=>i._blocksInProgress.delete(e.blockIndex)))}),((e,r)=>{if(t.forEach((e=>i._blocksInProgress.delete(e.blockIndex))),e)throw e;r.forEach((e=>{this.getLayer(e.layerName).processDecodedData(e)}))}))}}class sv{constructor(e,t){let{version:i,name:r,units:n,tilesize:o,pixel_format:s,buffer:a,data_index:l}=e;if(this.version=i,1!==this.version)throw new Ix(`Cannot parse raster layer encoded with MRT version ${i}`);this.name=r,this.units=n,this.tileSize=o,this.buffer=a,this.pixelFormat=iv[s],this.dataIndex=l,this.bandShape=[o+2*a,o+2*a,rv[this.pixelFormat]],this._decodedBlocks=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1e3,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(isNaN(e)||e<0)throw new TypeError("Invalid max value");if(isNaN(t)||t<0)throw new TypeError("Invalid ttl value");if("boolean"!=typeof i)throw new TypeError("Invalid resetTtl value");return new Ex(e,t,i)}(t?t.cacheSize:5),this._blocksInProgress=new Set}processDecodedData(e){const t=e.blockIndex.toString();this._decodedBlocks.get(t)||this._decodedBlocks.set(t,e.data)}getBlockForBand(e){let t=0;switch(typeof e){case"string":for(const[i,r]of this.dataIndex.entries()){for(const[n,o]of r.bands.entries())if(o===e)return{bandIndex:t+n,blockIndex:i,blockBandIndex:n};t+=r.bands.length}break;case"number":for(const[i,r]of this.dataIndex.entries()){if(e>=t&&e=0}hasDataForBand(e){const{blockIndex:t}=this.getBlockForBand(e);return t>=0&&!!this._decodedBlocks.get(t.toString())}getBandView(e){const{blockIndex:t,blockBandIndex:i}=this.getBlockForBand(e),r=this._decodedBlocks.get(t.toString());if(!r)throw new Ix(`Data for band ${JSON.stringify(e)} of layer "${this.name}" not decoded.`);const n=this.dataIndex[t],o=this.bandShape.reduce(((e,t)=>e*t),1),s=i*o,a=r.subarray(s,s+o);return{data:a,bytes:new Uint8Array(a.buffer).subarray(a.byteOffset,a.byteOffset+a.byteLength),tileSize:this.tileSize,buffer:this.buffer,offset:n.offset,scale:n.scale}}}class av{constructor(e,t,i){this.tasks=e,this._onCancel=t,this._onComplete=i,this._finalized=!1}cancel(){this._finalized||(this._onCancel(),this._finalized=!0)}complete(e,t){this._finalized||(this._onComplete(e,t),this._finalized=!0)}}ov.performDecoding=function(e,t){return Promise.all(t.tasks.map((t=>{const{layerName:i,firstByte:r,lastByte:n,pixelFormat:o,blockShape:s,blockIndex:a,filters:l,codec:c}=t,h=new Uint8Array(e).subarray(r,n+1),u=new Uint32Array(s[0]*s[1]*s[2]);let d;if("gzip_data"!==c)throw new Error(`Unhandled codec: ${c}`);return d=function(e,t){if(!globalThis.DecompressionStream&&"gzip_data"===t)return Promise.resolve(((o=function(e){31==e[0]&&139==e[1]&&8==e[2]||Kx(6,"invalid gzip data");var t=e[3],i=10;4&t&&(i+=2+(e[10]|e[11]<<8));for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[i++]);return i+(2&t)}(n=e))+8>n.length&&Kx(6,"invalid gzip data"),function(e,t,i,r){var n=e.length;if(!n||t.f&&!t.l)return i||new Cx(0);var o=!i,s=o||2!=t.i,a=t.i;o&&(i=new Cx(3*n));var l,c,h=function(e){var t=i.length;if(e>t){var r=new Cx(Math.max(2*t,e));r.set(i),i=r}},u=t.f||0,d=t.p||0,p=t.b||0,f=t.l,m=t.d,_=t.m,g=t.n,y=8*n;do{if(!f){u=Hx(e,d,1);var x=Hx(e,d+1,3);if(d+=3,!x){var v=e[(z=4+((d+7)/8|0))-4]|e[z-3]<<8,b=z+v;if(b>n){a&&Kx(0);break}s&&h(p+v),i.set(e.subarray(z,b),p),t.b=p+=v,t.p=d=8*b,t.f=u;continue}if(1==x)f=$x,m=Wx,_=9,g=5;else if(2==x){var w=Hx(e,d,31)+257,T=Hx(e,d+10,15)+4,E=w+Hx(e,d+5,31)+1;d+=14;for(var S=new Cx(E),M=new Cx(19),A=0;A>4)<16)S[A++]=z;else{var R=0,L=0;for(16==z?(L=3+Hx(e,d,3),d+=2,R=S[A-1]):17==z?(L=3+Hx(e,d,7),d+=3):18==z&&(L=11+Hx(e,d,127),d+=7);L--;)S[A++]=R}}var k=S.subarray(0,w),O=S.subarray(w);_=Qx(k),g=Qx(O),f=Gx(k,_,1),m=Gx(O,g,1)}else Kx(1);if(d>y){a&&Kx(0);break}}s&&h(p+131072);for(var B=(1<<_)-1,F=(1<>4;if((d+=15&R)>y){a&&Kx(0);break}if(R||Kx(2),V<256)i[p++]=V;else{if(256==V){N=d,f=null;break}var U=V-254;V>264&&(U=Hx(e,d,(1<<(q=Dx[A=V-257]))-1)+Bx[A],d+=q);var j=m[Xx(e,d)&F],G=j>>4;if(j||Kx(3),d+=15&j,O=Nx[G],G>3){var q=Rx[G];O+=Xx(e,d)&(1<y){a&&Kx(0);break}s&&h(p+131072);var Z=p+U;if(pl.length)&&(c=l.length),new Cx(l.subarray(0,c))):i.subarray(0,p)}(n.subarray(o,-8),{i:2},new Cx(((i=n)[(r=i.length)-4]|i[r-3]<<8|i[r-2]<<16|i[r-1]<<24)>>>0))));var i,r,n,o;const s=tv[t];if(!s)throw new Error(`Unhandled codec: ${t}`);const a=new globalThis.DecompressionStream(s);return new Response(new Blob([e]).stream().pipeThrough(a)).arrayBuffer().then((e=>new Uint8Array(e)))}(h,c).then((e=>{const t=Tx.read(new wm(e));if("uint32_values"===t.values)return t.uint32_values.readValuesInto(u),new(0,nv[o])(u.buffer);throw new Error(`Unhandled numeric data "${t.values}"`)})),d.then((e=>{for(let t=l.length-1;t>=0;t--)switch(l[t]){case"delta_filter":Sx(e,s);break;case"zigzag_filter":Mx(e);break;case"bitshuffle_filter":Ax(e,o);break;default:throw new Error(`Unhandled filter "${l[t]}"`)}return{layerName:i,blockIndex:a,data:e}})).catch((e=>{throw e}))})))},fa(av,"MRTDecodingBatch",{omit:["_onCancel","_onComplete"]});const lv=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class cv{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,i]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const r=i>>4;if(1!==r)throw new Error(`Got v${r} data when expected v1.`);const n=lv[15&i];if(!n)throw new Error("Unrecognized array type.");const[o]=new Uint16Array(e,2,1),[s]=new Uint32Array(e,4,1);return new cv(s,o,n,e)}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Float64Array,r=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=i,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const n=lv.indexOf(this.ArrayType),o=2*e*this.ArrayType.BYTES_PER_ELEMENT,s=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-s%8)%8;if(n<0)throw new Error(`Unexpected typed array class: ${i}.`);r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+s+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+o+s+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+s+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+n]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=e,this.coords[this._pos++]=t,i}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return hv(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:o,nodeSize:s}=this,a=[0,n.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,h=a.pop()||0,u=a.pop()||0;if(h-u<=s){for(let s=u;s<=h;s++){const a=o[2*s],c=o[2*s+1];a>=e&&a<=i&&c>=t&&c<=r&&l.push(n[s])}continue}const d=u+h>>1,p=o[2*d],f=o[2*d+1];p>=e&&p<=i&&f>=t&&f<=r&&l.push(n[d]),(0===c?e<=p:t<=f)&&(a.push(u),a.push(d-1),a.push(1-c)),(0===c?i>=p:r>=f)&&(a.push(d+1),a.push(h),a.push(1-c))}return l}within(e,t,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:n,nodeSize:o}=this,s=[0,r.length-1,0],a=[],l=i*i;for(;s.length;){const c=s.pop()||0,h=s.pop()||0,u=s.pop()||0;if(h-u<=o){for(let i=u;i<=h;i++)fv(n[2*i],n[2*i+1],e,t)<=l&&a.push(r[i]);continue}const d=u+h>>1,p=n[2*d],f=n[2*d+1];fv(p,f,e,t)<=l&&a.push(r[d]),(0===c?e-i<=p:t-i<=f)&&(s.push(u),s.push(d-1),s.push(1-c)),(0===c?e+i>=p:t+i>=f)&&(s.push(d+1),s.push(h),s.push(1-c))}return a}}function hv(e,t,i,r,n,o){if(n-r<=i)return;const s=r+n>>1;uv(e,t,s,r,n,o),hv(e,t,i,r,s-1,1-o),hv(e,t,i,s+1,n,1-o)}function uv(e,t,i,r,n,o){for(;n>r;){if(n-r>600){const s=n-r+1,a=i-r+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(a-s/2<0?-1:1);uv(e,t,i,Math.max(r,Math.floor(i-a*c/s+h)),Math.min(n,Math.floor(i+(s-a)*c/s+h)),o)}const s=t[2*i+o];let a=r,l=n;for(dv(e,t,r,i),t[2*n+o]>s&&dv(e,t,r,n);as;)l--}t[2*r+o]===s?dv(e,t,r,l):(l++,dv(e,t,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function dv(e,t,i,r){pv(e,i,r),pv(t,2*i,2*r),pv(t,2*i+1,2*r+1)}function pv(e,t,i){const r=e[t];e[t]=e[i],e[i]=r}function fv(e,t,i,r){const n=e-i,o=t-r;return n*n+o*o}e.$=class{constructor(e){this.specification=e}possiblyEvaluate(e,t){return function(e){let[t,i]=e;const r=fi([1,t,i]);return{x:r.x,y:r.y,z:r.z}}(e.expression.evaluate(t))}interpolate(e,t,i){return{x:jr(e.x,t.x,i),y:jr(e.y,t.y,i),z:jr(e.z,t.z,i)}}},e.A=il,e.B=Ws,e.C=Pn,e.D=qs,e.E=kr,e.F=function(e){const t=e.value;let i=[];if(!t)return i;const r=Sn(t);return"string"!==r?(i=i.concat([new Kg(e.key,t,`string expected, "${r}" found`)]),i):(Jg(t,!0)||(i=i.concat([new Kg(e.key,t,`invalid url "${t}"`)])),i)},e.G=tl,e.H=Ka,e.I=e_,e.J=Ha,e.K=class{constructor(e){this.specification=e}possiblyEvaluate(e,t){return fi(e.expression.evaluate(t))}interpolate(e,t,i){return{x:jr(e.x,t.x,i),y:jr(e.y,t.y,i),z:jr(e.z,t.z,i),azimuthal:jr(e.azimuthal,t.azimuthal,i),polar:jr(e.polar,t.polar,i)}}},e.L=Ga,e.M=class{constructor(e,t,i,r){this.id=e,this.position=null!=t?new sh(t[0],t[1]):new sh(0,0),this.orientation=null!=i?i:[0,0,0],this.nodes=r,this.uploaded=!1,this.aabb=new mu([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),this.matrix=[]}_applyTransformations(t,i){if(e.a9.multiply(t.matrix,i,t.matrix),t.meshes)for(const e of t.meshes){const i=mu.applyTransform(e.aabb,t.matrix);this.aabb.encapsulate(i)}if(t.children)for(const e of t.children)this._applyTransformations(e,t.matrix)}computeBoundsAndApplyParent(){const t=e.a9.identity([]);for(const e of this.nodes)this._applyTransformations(e,t)}computeModelMatrix(e,t,i,r,n,o){let s=arguments.length>6&&void 0!==arguments[6]&&arguments[6];ay(this.matrix,this,e.transform,this.position,t,i,r,n,o,s)}upload(e){if(!this.uploaded){for(const t of this.nodes)hy(t,e);for(const e of this.nodes)uy(e);this.uploaded=!0}}destroy(){for(const e of this.nodes)dy(e)}},e.N=Va,e.O=Ch,e.P=Vt,e.R=Hi,e.S=Xt,e.T=xg,e.U=Qa,e.V=Kg,e.W=Nu,e.X=jr,e.Y=no,e.Z=oa,e._=Gr,e.a=Lr,e.a$=oi,e.a0=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const n=new Vt(i,i),o=e.sub(n),s=t.add(n),a=[o,new Vt(s.x,o.y),s,new Vt(o.x,s.y)];return r&&a.push(o.clone()),a},e.a1=function(e,t){const i=[];for(let r=0;r2&&void 0!==arguments[2]?arguments[2]:0;return e.Q.fromValues(((i.x-r)*t.scale-t.x)*no,(i.y*t.scale-t.y)*no,Th(i.z,i.y))},e.a5=lu,e.a6=If,e.a7=function(e){let t=1/0,i=1/0,r=-1/0,n=-1/0;for(const o of e)t=Math.min(t,o.x),i=Math.min(i,o.y),r=Math.max(r,o.x),n=Math.max(n,o.y);return{min:new Vt(t,i),max:new Vt(r,n)}},e.a8=yh,e.aA=Ur,e.aB=Tl,e.aC=Rs,e.aD=ec,e.aE=mc,e.aF=ti,e.aG=rc,e.aH=cg,e.aI=function(){Na.isLoading()||Na.isLoaded()||"deferred"!==Ba()||Fa()},e.aJ=rl,e.aK=Fh,e.aL=sx,e.aM=_i,e.aN=Sf,e.aO=qd,e.aP=Bh,e.aQ=Sl,e.aR=Xl,e.aS=xu,e.aT=Nd,e.aU=yg,e.aV=function(t,i){const r=Nu(i.zoom);if(0===r)return Su(t);const n=Cu(t),o=Pu(n),s=yh(n.getWest())*i.worldSize,a=yh(n.getEast())*i.worldSize,l=xh(n.getNorth())*i.worldSize,c=xh(n.getSouth())*i.worldSize,h=[s,l,0],u=[a,l,0],d=[s,c,0],p=[a,c,0],f=e.a9.invert([],i.globeMatrix);return e.Q.transformMat4(h,h,f),e.Q.transformMat4(u,u,f),e.Q.transformMat4(d,d,f),e.Q.transformMat4(p,p,f),o[0]=Mu(o[0],d,r),o[1]=Mu(o[1],p,r),o[2]=Mu(o[2],u,r),o[3]=Mu(o[3],h,r),mu.fromPoints(o)},e.aW=Lu,e.aX=zu,e.aY=Mu,e.aZ=Ml,e.a_=yu,e.ab=Yh,e.ac=zh,e.ad=Ht,e.ae=Qc,e.af=function(e,t){const i={};for(let r=0;r{r(e,i)}),t):r(e,i),()=>{}}return n.callbacks.push(r),n.cancel||(n.cancel=i(((i,r)=>{n.result=[i,r];for(const e of n.callbacks)this.scheduler?this.scheduler.add((()=>{e(i,r)}),t):e(i,r);setTimeout((()=>delete this.entries[e]),3e3)}))),()=>{n.result||(n.callbacks=n.callbacks.filter((e=>e!==r)),n.callbacks.length||(n.cancel(),delete this.entries[e]))}}},e.aj=_l,e.ak=function(e,t,i){const r=JSON.stringify(e.request);return e.data&&(this.deduped.entries[r]={result:[null,e.data]}),this.deduped.request(r,{type:"parseTile",isSymbolTile:e.isSymbolTile,zoom:e.tileZoom},(t=>{const r=Ji(e.request,((e,r,n,o)=>{e?t(e):r&&t(null,{vectorTile:i?void 0:new up(new wm(r)),rawData:r,cacheControl:n,expires:o})}));return()=>{r.cancel(),t()}}),t)},e.al=function(e){Ui++,Ui>Fi&&(e.getActor().send("enforceCacheSizeLimit",Bi),Ui=0)},e.am=fr,e.an=Pi,e.ao=function(e){return e<=1?1:Math.pow(2,Math.floor(Math.log(e)/Math.LN2))},e.ap=dh,e.aq=Mg,e.ar=Cg,e.as=Eg,e.at=function(e,t){const i=document.createElement("video");i.muted=!0,i.onloadstart=function(){t(null,i)};for(let r=0;r{}}},e.au=vg,e.av=z_,e.aw=bh,e.ax=wh,e.ay=Al,e.az=Gl,e.b=Rr,e.b$=a_,e.b0=ov,e.b1=Ji,e.b2=function(e){const t=[];for(const i in e)t.push(e[i]);return t},e.b3=function(e,t){const i=[];for(const r in e)r in t||i.push(r);return i},e.b4=Kt,e.b5=["type","source","source-layer","minzoom","maxzoom","filter","layout"],e.b6=function(t,i){const{x:r,y:n}=t.point,o=Fu(r,n,t.worldSize/t._pixelsPerMercatorPixel,0,0);return e.a9.multiply(o,o,ku(Su(i)))},e.b8=Qf,e.b9=Im,e.bA=Xc,e.bB=function(t){const i=e.a9.identity(new Float64Array(16));e.a9.multiply(i,t.pixelMatrix,t.globeMatrix);const r=[0,eh,0],n=[0,th,0];return e.Q.transformMat4(r,r,i),e.Q.transformMat4(n,n,i),[r[0]>0&&r[0]<=t.width&&r[1]>0&&r[1]<=t.height&&!Uu(t,new sh(t.center.lat,90)),n[0]>0&&n[0]<=t.width&&n[1]>0&&n[1]<=t.height&&!Uu(t,new sh(t.center.lat,-90))]},e.bC=function(t,i){const{scale:r}=t.tileTransform,n=r*no/(t.tileSize*Math.pow(2,i.zoom-t.tileID.overscaledZ+t.tileID.canonical.z));return e.b7.scale(new Float32Array(4),i.inverseAdjustmentMatrix,[n,n])},e.bD=Bg,e.bE=kg,e.bF=function(t){const i=kg(t,!0);return e.b7.invert([],[i[0],i[1],i[4],i[5]])},e.bG=cu,e.bH=function(e){const{x:t,y:i}=e.point,{lng:r,lat:n}=e._center;return Fu(t,i,e.worldSize,r,n)},e.bI=qt,e.bJ=Hc,e.bK=function(e){const t=Math.round((e+45+360)%360/90)%4;return Zt[t]},e.bL=45,e.bM=gh,e.bN=zc,e.bO=Mc,e.bP=Ac,e.bQ=Sc,e.bR=Ec,e.bS=Ic,e.bT=function(e,t,i){const r=Math.sqrt(e*e+t*t+i*i),n=r>0?Math.acos(i/r)*jt:0;let o=0!==e||0!==t?Math.atan2(-t,-e)*jt+90:0;return o<0&&(o+=360),[r,o,n]},e.bU=Ih,e.bV=mu,e.bW=fi,e.bX=function(e){return[Math.pow(e[0],1/2.2),Math.pow(e[1],1/2.2),Math.pow(e[2],1/2.2)]},e.bY=function(e){return e({pluginStatus:Da,pluginURL:Ra}),Oa.on("pluginStateChange",e),e},e.bZ=_y,e.b_=wy,e.ba=Wf,e.bb=function(e,t,i,r,n){const o=5*t+2;e.float32[o+0]=i,e.float32[o+1]=r,e.float32[o+2]=n},e.bc=og,e.bd=Ym,e.be=jh,e.bf=qf,e.bg=b_,e.bh=v_,e.bi=Nm,e.bj=cv,e.bk=Yt,e.bm=Gt,e.bn=Si,e.bo=vh,e.bp=function(e,t,i){e[4*t+0]=i[0],e[4*t+1]=i[1],e[4*t+2]=i[2],e[4*t+3]=i[3]},e.bq=sh,e.br=J_,e.bs=uh,e.bt=fu,e.bu=Og,e.bv=hh,e.bw=Iu,e.bx=function(e,t,i,r,n,o,s,a,l){if("globe"===l.name)return Iu(e,t,new hh(i,r,n),!1);const c=z_({z:i,x:r,y:n},l);return new mu([(o+c.x/c.scale)*t,t*(c.y/c.scale),s],[(o+c.x2/c.scale)*t,t*(c.y2/c.scale),a])},e.by=function(e,t,i){let r=0;for(let n=0;n<2;++n){const i=0;e[n]>i&&(r+=(e[n]-i)*(e[n]-i)),t[n]=0?e.slice(0,t):e},e.c9=function(e){return e.indexOf(ml)>=0},e.cA=e=>({u_matrix:new zc(e),u_pixels_to_tile_units:new Lc(e),u_device_pixel_ratio:new Sc(e),u_units_to_pixels:new Mc(e),u_dash_image:new Ec(e),u_gradient_image:new Ec(e),u_image_height:new Sc(e),u_texsize:new Mc(e),u_tile_units_to_pixels:new Sc(e),u_alpha_discard_threshold:new Sc(e),u_trim_offset:new Mc(e),u_emissive_strength:new Sc(e)}),e.cB=e=>({u_matrix:new zc(e),u_texsize:new Mc(e),u_pixels_to_tile_units:new Lc(e),u_device_pixel_ratio:new Sc(e),u_image:new Ec(e),u_units_to_pixels:new Mc(e),u_tile_units_to_pixels:new Sc(e),u_alpha_discard_threshold:new Sc(e),u_trim_offset:new Mc(e)}),e.cC=Ul,e.cD=Gf,e.cE=Hf,e.cF=$u,e.cG=(e,t,i,r,n,o)=>{const s=e.transform,a="globe"===s.projection.name;let l;if("map"===o.paint.get("circle-pitch-alignment"))if(a){const e=Bu(s.zoom,t.canonical)*s._pixelsPerMercatorPixel;l=Float32Array.from([e,0,0,e])}else l=s.calculatePixelsToTileUnitsMatrix(i);else l=new Float32Array([s.pixelsToGLUnits[0],0,0,s.pixelsToGLUnits[1]]);const c={u_camera_to_center_distance:e.transform.getCameraToCenterDistance(s.projection),u_matrix:e.translatePosMatrix(t.projMatrix,i,o.paint.get("circle-translate"),o.paint.get("circle-translate-anchor")),u_device_pixel_ratio:zi.devicePixelRatio,u_extrude_scale:l,u_inv_rot_matrix:Zu,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0],u_emissive_strength:o.paint.get("circle-emissive-strength")};if(a){c.u_inv_rot_matrix=r,c.u_merc_center=n,c.u_tile_id=[t.canonical.x,t.canonical.y,1<{const s=e.transform;return{u_matrix:Pf(e,t,i,r),u_texsize:t.imageAtlasTexture?t.imageAtlasTexture.size:[0,0],u_pixels_to_tile_units:s.calculatePixelsToTileUnitsMatrix(t),u_device_pixel_ratio:n,u_image:0,u_tile_units_to_pixels:Cf(t,s),u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]],u_alpha_discard_threshold:0,u_trim_offset:o}},e.cJ=(e,t,i,r,n,o,s)=>{const a=e.transform,l=a.calculatePixelsToTileUnitsMatrix(t);return{u_matrix:Pf(e,t,i,r),u_pixels_to_tile_units:l,u_device_pixel_ratio:o,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]],u_dash_image:0,u_gradient_image:1,u_image_height:n,u_texsize:Df(i)&&t.lineAtlasTexture?t.lineAtlasTexture.size:[0,0],u_tile_units_to_pixels:Cf(t,e.transform),u_alpha_discard_threshold:0,u_trim_offset:s,u_emissive_strength:i.paint.get("line-emissive-strength")}},e.cK=ri,e.cL=ad,e.cM=sf,e.cN=fh,e.cO=Yp,e.cP=Vp,e.cQ=450,e.cR=7,e.cS=Sg,e.cT=256,e.cU=ku,e.cV=Yl,e.cW=Wl,e.cX=Ql,e.cY=function(e,t,i,r,n){return Ht((e-t)/(i-t)*(n-r)+r,r,n)},e.cZ=Mh,e.c_=Gg,e.ca=function(e){const t=e.indexOf(ml);return t>=0?e.slice(t+1):""},e.cb=function(e){const t=[],i=e.id;return void 0===i&&t.push({message:`layers.${i}: missing required property "id"`}),void 0===e.render&&t.push({message:`layers.${i}: missing required method "render"`}),e.renderingMode&&"2d"!==e.renderingMode&&"3d"!==e.renderingMode&&t.push({message:`layers.${i}: property "renderingMode" must be either "2d" or "3d"`}),t},e.cc=li,e.cd=Oa,e.ce=Ki,e.cf=Cc,e.cg=class extends Tc{constructor(e){super(e),this.current=Dc}set(e,t,i){if(this.fetchUniformLocation(e,t))for(let r=0;r<9;r++)if(i[r]!==this.current[r]){this.current=i,this.gl.uniformMatrix3fv(this.location,!1,i);break}}},e.ch=$t,e.ci=function(e,t,i){const r=Nu(i.zoom),n=e.style.map._antialias,o=t.options.extStandardDerivativesForceOff||e.terrain&&e.terrain.exaggeration()>0;return 0===r&&!n&&!o},e.cj=function(t){const i=t.pixelsPerMeter,r=i/vh(1,t.center.lat),n=e.a9.identity(new Float64Array(16));return e.a9.translate(n,n,[t.point.x,t.point.y,0]),e.a9.scale(n,n,[r,r,i]),Float32Array.from(n)},e.ck=Cu,e.cl=function(e){const t=Eh-5;e=Ht(e,-t,t)/t*90;const i=Math.pow(Math.abs(Math.sin(Gt(e))),3);return Math.round(i*(Jc.length-1))},e.cm=function(t,i,r,n){const o=i.getNorth(),s=i.getSouth(),a=i.getWest(),l=i.getEast(),c=1<0){const t=180/n;e.ct.multiply(f,f,[t/h+1,0,0,0,t/u+1,0,-.5*t/d,.5*t/p,1])}return f[2]=c,f[5]=t.x,f[8]=t.y,f},e.cn=Su,e.co=function(t,i,r){const n=e.a9.identity(new Float64Array(16)),o=(i/(1<1)return!1;const i=t.getSource().maxzoom,r=1<1&&void 0!==arguments[1]?arguments[1]:0;return this.getAtPoint(e,t)||0}getAtPoint(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.isUsingMockSource())return null;null==t&&(t=null);const r=this._source();if(!r)return t;if(e.y<0||e.y>1)return t;const n=r.getSource().maxzoom,o=1<{const s=this.getAtTileOffset(t,o.x,o.y),a=n.upVector(t.canonical,o.x,o.y),l=n.upVectorScale(t.canonical,i,r).metersToTile;return e.Q.scale(a,a,s*l),a}}getForTilePoints(e,t,i,r){if(this.isUsingMockSource())return!1;const n=Rp.create(this,e,r);return!!n&&(t.forEach((e=>{e[2]=this.exaggeration()*n.getElevationAt(e[0],e[1],i)})),!0)}getMinMaxForTile(e){if(this.isUsingMockSource())return null;const t=this.findDEMTileFor(e);if(!t||!t.dem)return null;const i=t.dem.tree,r=t.tileID,n=1<({u_camera_to_center_distance:new Sc(e),u_extrude_scale:new Lc(e),u_device_pixel_ratio:new Sc(e),u_matrix:new zc(e),u_inv_rot_matrix:new zc(e),u_merc_center:new Mc(e),u_tile_id:new Ac(e),u_zoom_transition:new Sc(e),u_up_dir:new Ac(e),u_emissive_strength:new Sc(e)}),e.d=nr,e.d$=my,e.d0=Rp,e.d1=sy,e.d2=Fl,e.d3=class{constructor(){this._updateTime=0,this._sourceIds=[],this._activeRegions=[],this._prevRegions=[]}clear(){this._activeRegions.length>0&&++this._updateTime,this._activeRegions=[],this._prevRegions=[]}get updateTime(){return this._updateTime}getReplacementRegionsForTile(e){const t=gp(new Vt(0,0),new Vt(no,no),e),i=[];for(const r of this._activeRegions){if(r.hiddenByOverlap)continue;if(!_p(t,r))continue;const n=yp(r.min,r.max,e);i.push({min:n.min,max:n.max,sourceId:this._sourceIds[r.priority],footprint:r.footprint,footprintTileId:r.tileId})}return i}setSources(e){this._setSources(e.map((e=>({getSourceId:()=>e.cache.id,getFootprints:()=>{const t=[];for(const i of e.cache.getVisibleCoordinates()){const r=e.cache.getTile(i).buckets[e.layer];if(r)for(const e of r.getNodesInfo()){const r=e.node;r.footprint&&t.push({footprint:r.footprint,id:i.toUnwrapped()})}}return t}}))))}_addSource(e){const t=e.getFootprints();if(0!==t.length){for(const e of t){if(!e.footprint)continue;const t=gp(e.footprint.min,e.footprint.max,e.id);this._activeRegions.push({min:t.min,max:t.max,hiddenByOverlap:!1,priority:this._sourceIds.length,tileId:e.id,footprint:e.footprint})}this._sourceIds.push(e.getSourceId())}}_computeReplacement(){this._activeRegions.sort(((e,t)=>e.priority-t.priority||fp(e.min,t.min)||fp(e.max,t.max)));let e=this._activeRegions.length!==this._prevRegions.length;if(!e){let t=0,i=0;for(;!e&&t!==this._activeRegions.length;){const r=this._activeRegions[t],n=this._prevRegions[i];e=r.priority!==n.priority||!mp(r,n),++t,++i}}if(e){++this._updateTime;const e=e=>{const t=this._activeRegions;if(e>=t.length)return e;const i=t[e].priority;for(;e1){let t=0,i=e(t);for(;t!==i;){let r=t;const n=t;for(;r!==i;){const e=this._activeRegions[r];e.hiddenByOverlap=!1;for(let t=0;t=0;t--)this._addSource(e[t]);this._computeReplacement()}},e.d4=class{constructor(e){this._createGrid(e),this._createPoles(e)}destroy(){this._poleIndexBuffer.destroy(),this._gridBuffer.destroy(),this._gridIndexBuffer.destroy(),this._poleNorthVertexBuffer.destroy(),this._poleSouthVertexBuffer.destroy();for(const e of this._poleSegments)e.destroy();for(const e of this._gridSegments)e.withSkirts.destroy(),e.withoutSkirts.destroy()}_fillGridMeshWithLods(e,t){const i=new Sl,r=new Gl,n=[],o=e+1+2,s=t[0]+1,a=t[0]+1+(1+t.length),l=(e,t,i)=>{let r=e===o-1?e-2:0===e?e:e-1;return r+=i?24575:0,[r,t]};for(let c=0;ce()))},e.dC=gy,e.dD=Cy,e.dE=function(e){Ey=zi.resolveURL(e),Iy||(Iy=new _y(wy(),new kr)),Iy.broadcast("setDracoUrl",Ey)},e.dF=Py,e.dG=function(e){My=zi.resolveURL(e),Iy||(Iy=new _y(wy(),new kr)),Iy.broadcast("setMeshoptUrl",My)},e.dH=fa,e.dI=id,e.dJ=o_,e.dK=nx,e.dL=ax,e.dM=bf,e.dN=ai,e.dO=t_,e.dP=function(e,t,i,r,n,o,s,a,l,c,h){e.createArrays(),e.tilePixelRatio=no/(512*e.overscaling),e.compareText={},e.iconsNeedLinear=!1;const u=e.layers[0].layout,d=e.layers[0]._unevaluatedLayout._values,p={};if("composite"===e.textSizeData.kind){const{minZoom:t,maxZoom:i}=e.textSizeData;p.compositeTextSizes=[d["text-size"].possiblyEvaluate(new Va(t),a),d["text-size"].possiblyEvaluate(new Va(i),a)]}if("composite"===e.iconSizeData.kind){const{minZoom:t,maxZoom:i}=e.iconSizeData;p.compositeIconSizes=[d["icon-size"].possiblyEvaluate(new Va(t),a),d["icon-size"].possiblyEvaluate(new Va(i),a)]}p.layoutTextSize=d["text-size"].possiblyEvaluate(new Va(l+1),a),p.layoutIconSize=d["icon-size"].possiblyEvaluate(new Va(l+1),a),p.textMaxSize=d["text-size"].possiblyEvaluate(new Va(18),a);const f="map"===u.get("text-rotation-alignment")&&"point"!==u.get("symbol-placement"),m=u.get("text-size");let _=!1;for(const g of e.features)if(g.icon&&g.icon.nameSecondary){_=!0;break}for(const g of e.features){const o=u.get("text-font").evaluate(g,{},a).join(","),l=m.evaluate(g,{},a),d=p.layoutTextSize.evaluate(g,{},a),y=(p.layoutIconSize.evaluate(g,{},a),{horizontal:{},vertical:void 0}),x=g.text;let v,b=[0,0];if(x){const r=x.toString(),s=u.get("text-letter-spacing").evaluate(g,{},a)*qf,c=u.get("text-line-height").evaluate(g,{},a)*qf,h=ba(r)?s:0,p=u.get("text-anchor").evaluate(g,{},a),m=u.get("text-variable-anchor");if(!m){const e=u.get("text-radial-offset").evaluate(g,{},a);b=e?v_(p,[e*qf,y_]):u.get("text-offset").evaluate(g,{},a).map((e=>e*qf))}let _=f?"center":u.get("text-justify").evaluate(g,{},a);const v="point"===u.get("symbol-placement"),w=v?u.get("text-max-width").evaluate(g,{},a)*qf:1/0,T=s=>{e.allowVerticalPlacement&&va(r)&&(y.vertical=zm(x,t,i,n,o,w,c,p,s,h,b,Im.vertical,!0,d,l))};if(!f&&m){const e="auto"===_?m.map((e=>b_(e))):[_];let r=!1;for(let s=0;s=0||!va(r)){const e=zm(x,t,i,n,o,w,c,p,_,h,b,Im.horizontal,!1,d,l);e&&(y.horizontal[_]=e)}T(v?"left":_)}}let w=!1;if(g.icon&&g.icon.namePrimary){const t=r[g.icon.namePrimary];t&&(v=Um(n[g.icon.namePrimary],g.icon.nameSecondary?n[g.icon.nameSecondary]:void 0,u.get("icon-offset").evaluate(g,{},a),u.get("icon-anchor").evaluate(g,{},a)),w=t.sdf,void 0===e.sdfIcons?e.sdfIcons=t.sdf:e.sdfIcons!==t.sdf&&ui("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(t.pixelRatio!==e.pixelRatio||0!==u.get("icon-rotate").constantOr(1))&&(e.iconsNeedLinear=!0))}const T=M_(y.horizontal)||y.vertical;e.iconsInText||(e.iconsInText=!!T&&T.iconsInText),(T||v)&&w_(e,g,y,v,r,p,d,0,b,w,s,a,c,h,_)}o&&e.generateCollisionDebugBuffers(l,e.collisionBoxArray)},e.dQ=up,e.dR=wm,e.dS=Dp,e.dT=dp,e.dU=Jd,e.dV=Ft,e.dW=tm,e.dX=u,e.dY=function(e){let t=0;if(new Uint32Array(e,0,1)[0]!==Ny){const i=new Uint32Array(e,0,7),[,,r,n,o,s]=i;t=i.byteLength+n+o+s+o,(r!==e.byteLength||t>=e.byteLength)&&ui("Invalid b3dm header information.")}return Zy(e,t)},e.dZ=function(e,t){const i=tx(e);for(const r of i){for(const e of r.meshes)ix(e);r.lights&&(r.lightMeshIndex=r.meshes.length,r.meshes.push(rx(r.lights,t)))}return i},e.d_=_x,e.da=rh,e.db=function(e){let[t,i,r]=e;const n=Math.hypot(t,i,r),o=Math.atan2(t,r),s=.5*Math.PI-Math.acos(-i/n);return new sh(qt(o),qt(s))},e.dc=nh,e.dd=r,e.de=Uu,e.df=Vu,e.dg=function(t){const i=[0,0,0],r=e.a9.identity(new Float64Array(16));return e.a9.multiply(r,t.pixelMatrix,t.globeMatrix),e.Q.transformMat4(i,i,r),new Vt(i[0],i[1])},e.dh=function(e){const t=e.navigator?e.navigator.userAgent:null;return!!function(e){if(null==Ti){const t=e.navigator?e.navigator.userAgent:null;Ti=!!e.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return Ti}(e)&&t&&(t.match("Version/15.4")||t.match("Version/15.5")||t.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/))},e.di=class{constructor(e,t,i){this._transformRequestFn=e,this._customAccessToken=t,this._silenceAuthErrors=!!i,this._createSkuToken()}_createSkuToken(){const e=function(){let e="";for(let t=0;t<10;t++)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",or,e].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=e.token,this._skuTokenExpiresAt=e.tokenExpiresAt}_isSkuTokenExpired(){return Date.now()>this._skuTokenExpiresAt}transformRequest(e,t){return this._transformRequestFn&&this._transformRequestFn(e,t)||{url:e}}normalizeStyleURL(e,i){if(!o(e))return e;const r=lr(e);return r.params.push(`sdk=js-${t}`),r.path=`/styles/v1${r.path}`,this._makeAPIURL(r,this._customAccessToken||i)}normalizeGlyphsURL(e,t){if(!o(e))return e;const i=lr(e);return i.path=`/fonts/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeModelURL(e,t){if(!o(e))return e;const i=lr(e);return i.path=`/models/v1${i.path}`,this._makeAPIURL(i,this._customAccessToken||t)}normalizeSourceURL(e,t,i,r){if(!o(e))return e;const n=lr(e);return n.path=`/v4/${n.authority}.json`,n.params.push("secure"),i&&n.params.push(`language=${i}`),r&&n.params.push(`worldview=${r}`),this._makeAPIURL(n,this._customAccessToken||t)}normalizeSpriteURL(e,t,i,r){const n=lr(e);return o(e)?(n.path=`/styles/v1${n.path}/sprite${t}${i}`,this._makeAPIURL(n,this._customAccessToken||r)):(n.path+=`${t}${i}`,cr(n))}normalizeTileURL(e,t,i){if(this._isSkuTokenExpired()&&this._createSkuToken(),e&&!o(e))return e;const n=lr(e);n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,`${t||i&&"raster"!==n.authority&&512===i?"@2x":""}${ji.supported?".webp":"$1"}`),"raster"===n.authority?n.path=`/${r.RASTER_URL_PREFIX}${n.path}`:"rasterarrays"===n.authority?n.path=`/${r.RASTERARRAYS_URL_PREFIX}${n.path}`:(n.path=n.path.replace(/^.+\/v4\//,"/"),n.path=`/${r.TILE_URL_VERSION}${n.path}`);const s=this._customAccessToken||function(e){for(const t of e){const e=t.match(/^access_token=(.*)$/);if(e)return e[1]}return null}(n.params)||r.ACCESS_TOKEN;return r.REQUIRE_ACCESS_TOKEN&&s&&this._skuToken&&n.params.push(`sku=${this._skuToken}`),this._makeAPIURL(n,s)}canonicalizeTileURL(e,t){const i=lr(e);if(!i.path.match(/^(\/v4\/|\/(raster|rasterarrays)\/v1\/)/)||!i.path.match(/\.[\w]+$/))return e;let n="mapbox://";i.path.match(/^\/raster\/v1\//)?n+=`raster/${i.path.replace(`/${r.RASTER_URL_PREFIX}/`,"")}`:i.path.match(/^\/rasterarrays\/v1\//)?n+=`rasterarrays/${i.path.replace(`/${r.RASTERARRAYS_URL_PREFIX}/`,"")}`:n+=`tiles/${i.path.replace(`/${r.TILE_URL_VERSION}/`,"")}`;let o=i.params;return t&&(o=o.filter((e=>!e.match(/^access_token=/)))),o.length&&(n+=`?${o.join("&")}`),n}canonicalizeTileset(e,t){const i=!!t&&o(t),r=[];for(const o of e.tiles||[])n(o)?r.push(this.canonicalizeTileURL(o,i)):r.push(o);return r}_makeAPIURL(e,t){const i="See https://docs.mapbox.com/api/overview/#access-tokens-and-token-scopes",n=lr(r.API_URL);if(e.protocol=n.protocol,e.authority=n.authority,"http"===e.protocol){const t=e.params.indexOf("secure");t>=0&&e.params.splice(t,1)}if("/"!==n.path&&(e.path=`${n.path}${e.path}`),!r.REQUIRE_ACCESS_TOKEN)return cr(e);if(t=t||r.ACCESS_TOKEN,!this._silenceAuthErrors){if(!t)throw new Error(`An API access token is required to use Mapbox GL. ${i}`);if("s"===t[0])throw new Error(`Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ${i}`)}return e.params=e.params.filter((e=>-1===e.indexOf("access_token"))),e.params.push(`access_token=${t||""}`),cr(e)}},e.dj=function(e,t){t?Tr.add(e):Tr.delete(e)},e.dk=ji,e.dl=vr,e.dm=wr,e.dn=sr,e.dp=_r,e.dq=yr,e.dr=function(e){Tr.delete(e)},e.ds=br,e.dt=mr,e.du=t,e.dv=function(e,t){Bi=e,Fi=t},e.dw=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(Da===Ia||Da===Ca||Da===Pa)throw new Error("setRTLTextPlugin cannot be called multiple times.");Ra=zi.resolveURL(e),Da=Ia,za=t,ka(),i||Fa()},e.dx=Ba,e.dy=function(){wy().acquire(xy)},e.dz=function(){const e=by;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(xy),by=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},e.e=Jt,e.e0=Na,e.e1=function(e){Vi(),ki&&ki.then((t=>{t.keys().then((i=>{for(let r=0;re.arrayBuffer())).then((t=>Zy(t,0,e)))},e.m=Gs,e.n=Zs,e.o=ia,e.p=Km,e.q=el,e.r=sa,e.s=$s,e.t=ra,e.u=Ja,e.v=Vo,e.w=ui,e.x=jo,e.y=No})),r(["./shared"],(function(e){function t(e){const t=e?e.url.toString():void 0;return t?performance.getEntriesByName(t):[]}function i(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return JSON.stringify(e);if(Array.isArray(e)){let t="[";for(const r of e)t+=`${i(r)},`;return`${t}]`}let t="{";for(const r of Object.keys(e).sort())t+=`${r}:${i(e[r])},`;return`${t}}`}function r(t){let r="";for(const n of e.b5)r+=`/${i(t[n])}`;return r}class n{constructor(e){this.keyCache={},this._layers={},this._layerConfigs={},e&&this.replace(e)}replace(e,t){this._layerConfigs={},this._layers={},this.update(e,[],t)}update(t,i,n){this._options=n;for(const r of t)this._layerConfigs[r.id]=r,(this._layers[r.id]=e.c7(r,this.scope,this._options)).compileFilter(),this.keyCache[r.id]&&delete this.keyCache[r.id];for(const e of i)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const o=function(e,t){const i={};for(let o=0;othis._layers[e.id])),i=t[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const o=i.sourceLayer||"_geojsonTileLayer";let s=n[o];s||(s=n[o]=[]),s.push(t)}}}const o=1*e.dJ;class s{constructor(t){const i={},r=[];for(const e in t){const n=t[e],s=i[e]={};for(const e in n.glyphs){const t=n.glyphs[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const i=t.metrics.localGlyph?o:1,a={x:0,y:0,w:t.bitmap.width+2*i,h:t.bitmap.height+2*i};r.push(a),s[e]=a}}const{w:n,h:s}=e.p(r),a=new e.dI({width:n||1,height:s||1});for(const l in t){const r=t[l];for(const t in r.glyphs){const n=r.glyphs[+t];if(!n||0===n.bitmap.width||0===n.bitmap.height)continue;const s=i[l][t],c=n.metrics.localGlyph?o:1;e.dI.copy(n.bitmap,a,{x:0,y:0},{x:s.x+c,y:s.y+c},n.bitmap)}}this.image=a,this.positions=i}}e.dH(s,"GlyphAtlas");class a{constructor(t){this.tileID=new e.ap(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.tileZoom=t.tileZoom,this.uid=t.uid,this.zoom=t.zoom,this.canonical=t.tileID.canonical,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.scope=t.scope,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.promoteId=t.promoteId,this.isSymbolTile=t.isSymbolTile,this.tileTransform=e.av(t.tileID.canonical,t.projection),this.projection=t.projection,this.brightness=t.brightness,this.extraShadowCaster=!!t.extraShadowCaster}parse(t,i,r,n,o){this.status="parsing",this.data=t,this.collisionBoxArray=new e.aG;const a=new e.dK(Object.keys(t.layers).sort()),c=new e.dL(this.tileID,this.promoteId);c.bucketLayerIDs=[];const h={},u=new e.dM(256,256),d={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},lineAtlas:u,availableImages:r,brightness:this.brightness},p=i.familiesBySource[this.source];for(const s in p){const i=t.layers[s];if(!i)continue;let n=!1,o=!1,u=!1;for(const e of p[s])"symbol"===e[0].type?n=!0:o=!0,e[0].is3D()&&"model"!==e[0].type&&(u=!0);if(this.extraShadowCaster&&!u)continue;if(!0===this.isSymbolTile&&!n)continue;if(!1===this.isSymbolTile&&!o)continue;1===i.version&&e.w(`Vector tile source "${this.source}" layer "${s}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const f=a.encode(s),m=[];for(let e=0;e=t.maxzoom||"none"!==t.visibility&&(l(e,this.zoom,d.brightness,r),(h[t.id]=t.createBucket({index:c.bucketLayerIDs.length,layers:e,zoom:this.zoom,canonical:this.canonical,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:f,sourceID:this.source,projection:this.projection.spec})).populate(m,d,this.tileID.canonical,this.tileTransform),c.bucketLayerIDs.push(e.map((e=>e.id)))))}}let f,m,_,g;u.trim();const y={type:"maybePrepare",isSymbolTile:this.isSymbolTile,zoom:this.zoom},x=()=>{if(f)return this.status="done",o(f);if(this.extraShadowCaster)this.status="done",o(null,{buckets:e.b2(h).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:null,glyphAtlasImage:null,lineAtlas:null,imageAtlas:null,brightness:d.brightness,glyphMap:null,iconMap:null,glyphPositions:null});else if(m&&_&&g){const t=new s(m),i=new e.dO(_,g);for(const n in h){const o=h[n];o instanceof e.aH?(l(o.layers,this.zoom,d.brightness,r),e.dP(o,m,t.positions,_,i.iconPositions,this.showCollisionBoxes,r,this.tileID.canonical,this.tileZoom,this.projection,this.brightness)):o.hasPattern&&(o instanceof e.aN||o instanceof e.aO||o instanceof e.cO)&&(l(o.layers,this.zoom,d.brightness,r),o.addFeatures(d,this.tileID.canonical,i.patternPositions,r,this.tileTransform,this.brightness))}this.status="done",o(null,{buckets:e.b2(h).filter((e=>!e.isEmpty())),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:t.image,lineAtlas:u,imageAtlas:i,brightness:d.brightness})}};if(!this.extraShadowCaster){const t=e.dN(d.glyphDependencies,(e=>Object.keys(e).map(Number)));Object.keys(t).length?n.send("getGlyphs",{uid:this.uid,stacks:t,scope:this.scope},((e,t)=>{f||(f=e,m=t,x())}),void 0,!1,y):m={};const i=Object.keys(d.iconDependencies);i.length?n.send("getImages",{icons:i,source:this.source,scope:this.scope,tileID:this.tileID,type:"icons"},((e,t)=>{f||(f=e,_=t,x())}),void 0,!1,y):_={};const r=Object.keys(d.patternDependencies);r.length?n.send("getImages",{icons:r,source:this.source,scope:this.scope,tileID:this.tileID,type:"patterns"},((e,t)=>{f||(f=e,g=t,x())}),void 0,!1,y):g={}}x()}}function l(t,i,r,n){const o=new e.N(i,{brightness:r});for(const e of t)e.recalculate(o,n)}class c extends e.E{constructor(t,i,r,n,o,s){super(),this.actor=t,this.layerIndex=i,this.availableImages=r,this.loadVectorData=o||e.ak,this.loading={},this.loaded={},this.deduped=new e.ai(t.scheduler),this.isSpriteLoaded=n,this.scheduler=t.scheduler,this.brightness=s}loadTile(i,r){const n=i.uid,o=i&&i.request,s=o&&o.collectResourceTiming,l=this.loading[n]=new a(i);l.abort=this.loadVectorData(i,((a,c)=>{const h=!this.loading[n];if(delete this.loading[n],h||a||!c)return l.status="done",h||(this.loaded[n]=l),r(a);const u=c.rawData,d={};c.expires&&(d.expires=c.expires),c.cacheControl&&(d.cacheControl=c.cacheControl),l.vectorTile=c.vectorTile||new e.dQ(new e.dR(u));const p=()=>{l.parse(l.vectorTile,this.layerIndex,this.availableImages,this.actor,((i,n)=>{if(i||!n)return r(i);const a={};if(s){const e=t(o);e.length>0&&(a.resourceTiming=JSON.parse(JSON.stringify(e)))}r(null,e.e({rawTileData:u.slice(0)},n,d,a))}))};this.isSpriteLoaded?p():this.once("isSpriteLoaded",(()=>{this.scheduler?this.scheduler.add(p,{type:"parseTile",isSymbolTile:i.isSymbolTile,zoom:i.tileZoom}):p()})),this.loaded=this.loaded||{},this.loaded[n]=l}))}reloadTile(t,i){const r=this.loaded,n=t.uid,o=this;if(r&&r[n]){const s=r[n];s.showCollisionBoxes=t.showCollisionBoxes,s.projection=t.projection,s.brightness=t.brightness,s.tileTransform=e.av(t.tileID.canonical,t.projection),s.extraShadowCaster=t.extraShadowCaster;const a=(e,t)=>{const r=s.reloadCallback;r&&(delete s.reloadCallback,s.parse(s.vectorTile,o.layerIndex,this.availableImages,o.actor,r)),i(e,t)};"parsing"===s.status?s.reloadCallback=a:"done"===s.status&&(s.vectorTile?s.parse(s.vectorTile,this.layerIndex,this.availableImages,this.actor,a):a())}else i(null,void 0)}abortTile(e,t){const i=e.uid,r=this.loading[i];r&&(r.abort&&r.abort(),delete this.loading[i]),t()}removeTile(e,t){const i=this.loaded,r=e.uid;i&&i[r]&&delete i[r],t()}}class h{loadTile(t,i){const{uid:r,encoding:n,rawImageData:o,padding:s}=t,a=ImageBitmap&&o instanceof ImageBitmap?this.getImageData(o,s):o;i(null,new e.dS(r,a,n,s<1))}getImageData(e,t){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d",{willReadFrequently:!0})),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);const i=this.offscreenCanvasContext.getImageData(-t,-t,e.width+2*t,e.height+2*t);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),i}}class u{decodeRasterArray(t,i){let{task:r,buffer:n}=t;e.b0.performDecoding(n,r).then((e=>{i(null,e)}),(e=>{i(e)}))}}const d=e.dT.prototype.toGeoJSON;let p=class{constructor(t){this._feature=t,this.extent=e.Y,this.type=t.type,this.properties=t.tags,"id"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10))}loadGeometry(){if(1===this._feature.type){const t=[];for(const i of this._feature.geometry)t.push([new e.P(i[0],i[1])]);return t}{const t=[];for(const i of this._feature.geometry){const r=[];for(const t of i)r.push(new e.P(t[0],t[1]));t.push(r)}return t}}toGeoJSON(e,t,i){return d.call(this,e,t,i)}},f=class{constructor(t){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=e.Y,this.length=t.length,this._features=t}feature(e){return new p(this._features[e])}};var m={exports:{}},_=e.dV,g=e.dU.VectorTileFeature,y=x;function x(e,t){this.options=t||{},this.features=e,this.length=e.length}function v(e,t){this.id="number"==typeof e.id?e.id:void 0,this.type=e.type,this.rawGeometry=1===e.type?[e.geometry]:e.geometry,this.properties=e.tags,this.extent=t||4096}x.prototype.feature=function(e){return new v(this.features[e],this.options.extent)},v.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var t=0;t>31}function C(e,t){for(var i=e.loadGeometry(),r=e.type,n=0,o=0,s=i.length,a=0;ae},R=Math.fround||(L=new Float32Array(1),e=>(L[0]=+e,L[0]));var L;const k=3,O=5,B=6;class F{constructor(e){this.options=Object.assign(Object.create(D),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:t,minZoom:i,maxZoom:r}=this.options;t&&console.time("total time");const n=`prepare ${e.length} points`;t&&console.time(n),this.points=e;const o=[];for(let a=0;a=i;a--){const e=+Date.now();s=this.trees[a]=this._createTree(this._cluster(s,a)),t&&console.log("z%d: %d clusters in %dms",a,s.numItems,+Date.now()-e)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let i=((e[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[1]));let n=180===e[2]?180:((e[2]+180)%360+360)%360-180;const o=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)i=-180,n=180;else if(i>n){const e=this.getClusters([i,r,180,o],t),s=this.getClusters([-180,r,n,o],t);return e.concat(s)}const s=this.trees[this._limitZoom(t)],a=s.range(U(i),j(o),U(n),j(r)),l=s.data,c=[];for(const h of a){const e=this.stride*h;c.push(l[e+O]>1?N(l,e,this.clusterProps):this.points[l[e+k]])}return c}getChildren(e){const t=this._getOriginId(e),i=this._getOriginZoom(e),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const o=n.data;if(t*this.stride>=o.length)throw new Error(r);const s=this.options.radius/(this.options.extent*Math.pow(2,i-1)),a=n.within(o[t*this.stride],o[t*this.stride+1],s),l=[];for(const c of a){const t=c*this.stride;o[t+4]===e&&l.push(o[t+O]>1?N(o,t,this.clusterProps):this.points[o[t+k]])}if(0===l.length)throw new Error(r);return l}getLeaves(e,t,i){const r=[];return this._appendLeaves(r,e,t=t||10,i=i||0,0),r}getTile(e,t,i){const r=this.trees[this._limitZoom(e)],n=Math.pow(2,e),{extent:o,radius:s}=this.options,a=s/o,l=(i-a)/n,c=(i+1+a)/n,h={features:[]};return this._addTileFeatures(r.range((t-a)/n,l,(t+1+a)/n,c),r.data,t,i,n,h),0===t&&this._addTileFeatures(r.range(1-a/n,l,1,c),r.data,n,i,n,h),t===n-1&&this._addTileFeatures(r.range(0,l,a/n,c),r.data,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const i=this.getChildren(e);if(t++,1!==i.length)break;e=i[0].properties.cluster_id}return t}_appendLeaves(e,t,i,r,n){const o=this.getChildren(t);for(const s of o){const t=s.properties;if(t&&t.cluster?n+t.point_count<=r?n+=t.point_count:n=this._appendLeaves(e,t.cluster_id,i,r,n):n1;let l,c,h;if(a)l=V(t,e,this.clusterProps),c=t[e],h=t[e+1];else{const i=this.points[t[e+k]];l=i.properties;const[r,n]=i.geometry.coordinates;c=U(r),h=j(n)}const u={type:1,geometry:[[Math.round(this.options.extent*(c*n-i)),Math.round(this.options.extent*(h*n-r))]],tags:l};let d;d=a||this.options.generateId?t[e+k]:this.points[t[e+k]].id,void 0!==d&&(u.id=d),o.features.push(u)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:i,extent:r,reduce:n,minPoints:o}=this.options,s=i/(r*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let h=0;ht&&(p+=a[i+O])}if(p>d&&p>=o){let e,o=i*d,s=r*d,f=-1;const m=(h/c<<5)+(t+1)+this.points.length;for(const i of u){const r=i*c;if(a[r+2]<=t)continue;a[r+2]=t;const l=a[r+O];o+=a[r]*l,s+=a[r+1]*l,a[r+4]=m,n&&(e||(e=this._map(a,h,!0),f=this.clusterProps.length,this.clusterProps.push(e)),n(e,this._map(a,r)))}a[h+4]=m,l.push(o/p,s/p,1/0,m,-1,p),n&&l.push(f)}else{for(let e=0;e1)for(const e of u){const i=e*c;if(!(a[i+2]<=t)){a[i+2]=t;for(let e=0;e>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,i){if(e[t+O]>1){const r=this.clusterProps[e[t+B]];return i?Object.assign({},r):r}const r=this.points[e[t+k]].properties,n=this.options.map(r);return i&&n===r?Object.assign({},n):n}}function N(e,t,i){return{type:"Feature",id:e[t+k],properties:V(e,t,i),geometry:{type:"Point",coordinates:[(r=e[t],360*(r-.5)),G(e[t+1])]}};var r}function V(e,t,i){const r=e[t+O],n=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+"k":r,o=e[t+B],s=-1===o?{}:Object.assign({},i[o]);return Object.assign(s,{cluster:!0,cluster_id:e[t+k],point_count:r,point_count_abbreviated:n})}function U(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),i=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return i<0?0:i>1?1:i}function G(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}var q={exports:{}};q.exports=function(){function e(i,r,n,o){for(var s,a=o,l=n-r>>1,c=n-r,h=i[r],u=i[r+1],d=i[n],p=i[n+1],f=r+3;fa)s=f,a=m;else if(m===a){var _=Math.abs(f-l);_o&&(s-r>3&&e(i,r,s,o),i[s+2]=a,n-s>3&&e(i,s,n,o))}function t(e,t,i,r,n,o){var s=n-i,a=o-r;if(0!==s||0!==a){var l=((e-i)*s+(t-r)*a)/(s*s+a*a);l>1?(i=n,r=o):l>0&&(i+=s*l,r+=a*l)}return(s=e-i)*s+(a=t-r)*a}function i(e,t,i,n){var o={id:void 0===e?null:e,type:t,geometry:i,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,i=e.type;if("Point"===i||"MultiPoint"===i||"LineString"===i)r(e,t);else if("Polygon"===i||"MultiLineString"===i)for(var n=0;n0&&(a+=n?(o*d-u*s)/2:Math.sqrt(Math.pow(u-o,2)+Math.pow(d-s,2))),o=u,s=d}var p=i.length-3;i[2]=1,e(i,0,p,r),i[p+2]=1,i.size=Math.abs(a),i.start=0,i.end=i.size}function a(e,t,i,r){for(var n=0;n1?1:i}function h(e,t,r,n,o,s,a,l){if(n/=t,s>=(r/=t)&&a=n)return null;for(var c=[],h=0;h=r&&y=n)){var x=[];if("Point"===_||"MultiPoint"===_)u(m,x,r,n,o);else if("LineString"===_)d(m,x,r,n,o,!1,l.lineMetrics);else if("MultiLineString"===_)f(m,x,r,n,o,!1);else if("Polygon"===_)f(m,x,r,n,o,!0);else if("MultiPolygon"===_)for(var v=0;v=i&&s<=r&&(t.push(e[o]),t.push(e[o+1]),t.push(e[o+2]))}}function d(e,t,i,r,n,o,s){for(var a,l,c=p(e),h=0===n?_:g,u=e.start,d=0;di&&(l=h(c,f,y,v,b,i),s&&(c.start=u+a*l)):w>r?T=i&&(l=h(c,f,y,v,b,i),E=!0),T>r&&w<=r&&(l=h(c,f,y,v,b,r),E=!0),!o&&E&&(s&&(c.end=u+a*l),t.push(c),c=p(e)),s&&(u+=a)}var S=e.length-3;f=e[S],y=e[S+1],x=e[S+2],(w=0===n?f:y)>=i&&w<=r&&m(c,f,y,x),S=c.length-3,o&&S>=3&&(c[S]!==c[0]||c[S+1]!==c[1])&&m(c,c[0],c[1],c[2]),c.length&&t.push(c)}function p(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function f(e,t,i,r,n,o){for(var s=0;ss.maxX&&(s.maxX=h),u>s.maxY&&(s.maxY=u)}return s}function T(e,t,i,r){var n=t.geometry,o=t.type,s=[];if("Point"===o||"MultiPoint"===o)for(var a=0;a0&&t.size<(n?s:r))i.numPoints+=t.length/3;else{for(var a=[],l=0;ls)&&(i.numSimplified++,a.push(t[l]),a.push(t[l+1])),i.numPoints++;n&&function(e,t){for(var i=0,r=0,n=e.length,o=n-2;r0===t)for(r=0,n=e.length;r24)throw new Error("maxZoom should be in the 0-24 range");if(t.promoteId&&t.generateId)throw new Error("promoteId and generateId cannot be used together.");var r=function(e,t){var i=[];if("FeatureCollection"===e.type)for(var r=0;r1&&console.time("creation"),p=this.tiles[d]=w(e,t,i,r,l),this.tileCoords.push({z:t,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",t,i,r,p.numFeatures,p.numPoints,p.numSimplified),console.timeEnd("creation"));var f="z"+t;this.stats[f]=(this.stats[f]||0)+1,this.total++}if(p.source=e,n){if(t===l.maxZoom||t===n)continue;var m=1<1&&console.time("clipping");var _,g,y,x,v,b,T=.5*l.buffer/l.extent,E=.5-T,S=.5+T,A=1+T;_=g=y=x=null,v=h(e,u,i-T,i+S,0,p.minX,p.maxX,l),b=h(e,u,i+E,i+A,0,p.minX,p.maxX,l),e=null,v&&(_=h(v,u,r-T,r+S,1,p.minY,p.maxY,l),g=h(v,u,r+E,r+A,1,p.minY,p.maxY,l),v=null),b&&(y=h(b,u,r-T,r+S,1,p.minY,p.maxY,l),x=h(b,u,r+E,r+A,1,p.minY,p.maxY,l),b=null),c>1&&console.timeEnd("clipping"),a.push(_||[],t+1,2*i,2*r),a.push(g||[],t+1,2*i,2*r+1),a.push(y||[],t+1,2*i+1,2*r),a.push(x||[],t+1,2*i+1,2*r+1)}}},S.prototype.getTile=function(e,t,i){var r=this.options,n=r.extent,o=r.debug;if(e<0||e>24)return null;var s=1<1&&console.log("drilling down to z%d-%d-%d",e,t,i);for(var l,c=e,h=t,u=i;!l&&c>0;)c--,h=Math.floor(h/2),u=Math.floor(u/2),l=this.tiles[M(c,h,u)];return l&&l.source?(o>1&&console.log("found parent tile z%d-%d-%d",c,h,u),o>1&&console.time("drilling down"),this.splitTile(l.source,c,h,u,e,t,i),o>1&&console.timeEnd("drilling down"),this.tiles[a]?v(this.tiles[a],n):null):null},function(e,t){return new S(e,t)}}();var Z=e.dX(q.exports);function $(e,t){const i=e.tileID.canonical;if(!this._geoJSONIndex)return t(null,null);const r=this._geoJSONIndex.getTile(i.z,i.x,i.y);if(!r)return t(null,null);const n=new f(r.features);let o=z(n);0===o.byteOffset&&o.byteLength===o.buffer.byteLength||(o=new Uint8Array(o)),t(null,{vectorTile:n,rawData:o.buffer})}class W extends c{constructor(e,t,i,r,n,o){super(e,t,i,r,$,o),n&&(this.loadGeoJSON=n),this._featureMap=new Map}loadData(i,r){const n=i&&i.request,o=n&&n.collectResourceTiming;this.loadGeoJSON(i,((s,a)=>{if(s||!a)return r(s);if("object"!=typeof a)return r(new Error(`Input data given to '${i.source}' is not a valid GeoJSON object.`));{try{if(i.filter){const t=e.t(i.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===t.result)throw new Error(t.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a.features=a.features.filter((e=>t.value.evaluate({zoom:0},e)))}if(i.dynamic){"Feature"===a.type&&(a={type:"FeatureCollection",features:[a]}),i.append||this._featureMap.clear();for(const e of a.features||[]){const t=e.id;void 0!==t&&(e.geometry?this._featureMap.set(t,e):this._featureMap.delete(t))}a.features=[...this._featureMap.values()]}this._geoJSONIndex=i.cluster?new F(function(t){let{superclusterOptions:i,clusterProperties:r}=t;if(!r||!i)return i;const n={},o={},s={accumulated:null,zoom:0},a={properties:null},l=Object.keys(r);for(const c of l){const[t,i]=r[c],s=e.t(i),a=e.t("string"==typeof t?[t,["accumulated"],["get",c]]:t);n[c]=s.value,o[c]=a.value}return i.map=e=>{a.properties=e;const t={};for(const i of l)t[i]=n[i].evaluate(s,a);return t},i.reduce=(e,t)=>{a.properties=t;for(const i of l)s.accumulated=e[i],e[i]=o[i].evaluate(s,a)},i}(i)).load(a.features):Z(a,i.geojsonVtOptions)}catch(s){return r(s)}this.loaded={};const l={};if(o){const e=t(n);e&&(l.resourceTiming={},l.resourceTiming[i.source]=JSON.parse(JSON.stringify(e)))}r(null,l)}}))}reloadTile(e,t){const i=this.loaded;return i&&i[e.uid]?super.reloadTile(e,t):this.loadTile(e,t)}loadGeoJSON(t,i){if(t.request)e.g(t.request,i);else{if("string"!=typeof t.data)return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`));try{return i(null,JSON.parse(t.data))}catch(e){return i(new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`))}}}getClusterExpansionZoom(e,t){try{t(null,this._geoJSONIndex.getClusterExpansionZoom(e.clusterId))}catch(e){t(e)}}getClusterChildren(e,t){try{t(null,this._geoJSONIndex.getChildren(e.clusterId))}catch(e){t(e)}}getClusterLeaves(e,t){try{t(null,this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset))}catch(e){t(e)}}}class Q{constructor(t,i){this.tileID=new e.ap(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.tileZoom=t.tileZoom,this.uid=t.uid,this.zoom=t.zoom,this.canonical=t.tileID.canonical,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.projection=t.projection,this.brightness=i}parse(t,i,r,n){this.status="parsing";const o=new e.ap(r.tileID.overscaledZ,r.tileID.wrap,r.tileID.canonical.z,r.tileID.canonical.x,r.tileID.canonical.y),s={},a=i.familiesBySource[r.source],l=new e.dL(o,r.promoteId);return l.bucketLayerIDs=[],l.is3DTile=!0,e.dY(t).then((t=>{if(!t)return n(new Error("Could not parse tile"));const i=e.dZ(t,1/e.bU(r.tileID.canonical)),c=t.json.extensionsUsed&&t.json.extensionsUsed.includes("MAPBOX_mesh_features")||t.json.asset.extras&&t.json.asset.extras.MAPBOX_mesh_features,h=t.json.extensionsUsed&&t.json.extensionsUsed.includes("EXT_meshopt_compression"),u=new e.N(this.zoom,{brightness:this.brightness});for(const r in a)for(const t of a[r]){const r=t[0];l.bucketLayerIDs.push(t.map((e=>e.id))),r.recalculate(u,[]);const n=new e.d_(i,o,c,h,this.brightness,l);c||(n.needsUpload=!0),s[r.fqid]=n,n.evaluate(r)}this.status="done",n(null,{buckets:s,featureIndex:l})})).catch((e=>n(new Error(e.message))))}}class H{constructor(e,t,i,r,n,o){this.actor=e,this.layerIndex=t,this.brightness=o,this.loading={},this.loaded={}}loadTile(t,i){const r=t.uid,n=this.loading[r]=new Q(t,this.brightness);e.b1(t.request,((e,o)=>{const s=!this.loading[r];return delete this.loading[r],s||e?(n.status="done",s||(this.loaded[r]=n),i(e)):o&&0!==o.byteLength?void n.parse(o,this.layerIndex,t,((e,t)=>{n.status="done",this.loaded=this.loaded||{},this.loaded[r]=n,e||!t?i(e):i(null,t)})):(n.status="done",this.loaded[r]=n,i())}))}reloadTile(e,t){const i=this.loaded,r=e.uid;if(i&&i[r]){const n=i[r];n.projection=e.projection,n.brightness=e.brightness;const o=(i,r)=>{n.reloadCallback&&(delete n.reloadCallback,this.loadTile(e,t)),t(i,r)};"parsing"===n.status?n.reloadCallback=o:"done"===n.status&&this.loadTile(e,t)}}abortTile(e,t){const i=e.uid;this.loading[i]&&delete this.loading[i],t()}removeTile(e,t){const i=this.loaded,r=e.uid;i&&i[r]&&delete i[r],t()}}class X{constructor(t){this.self=t,this.actor=new e.d$(t,this),this.layerIndexes={},this.availableImages={},this.isSpriteLoaded={},this.projections={},this.defaultProjection=e.br({name:"mercator"}),this.workerSourceTypes={vector:c,geojson:W,"batched-model":H},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=(e,t)=>{if(this.workerSourceTypes[e])throw new Error(`Worker source with name "${e}" already registered.`);this.workerSourceTypes[e]=t},this.self.registerRTLTextPlugin=t=>{if(e.e0.isParsed())throw new Error("RTL text plugin already registered.");e.e0.applyArabicShaping=t.applyArabicShaping,e.e0.processBidirectionalText=t.processBidirectionalText,e.e0.processStyledBidirectionalText=t.processStyledBidirectionalText}}clearCaches(e,t,i){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e],delete this.rasterArrayWorkerSource,i()}checkIfReady(e,t,i){i()}setReferrer(e,t){this.referrer=t}spriteLoaded(t,i){let{scope:r,isLoaded:n}=i;if(this.isSpriteLoaded[t]||(this.isSpriteLoaded[t]={}),this.isSpriteLoaded[t][r]=n,this.workerSources[t]&&this.workerSources[t][r])for(const o in this.workerSources[t][r]){const i=this.workerSources[t][r][o];for(const t in i)i[t]instanceof c&&(i[t].isSpriteLoaded=n,i[t].fire(new e.b("isSpriteLoaded")))}}setImages(e,t,i){let{scope:r,images:n}=t;if(this.availableImages[e]||(this.availableImages[e]={}),this.availableImages[e][r]=n,this.workerSources[e]&&this.workerSources[e][r]){for(const t in this.workerSources[e][r]){const i=this.workerSources[e][r][t];for(const e in i)i[e].availableImages=n}i()}else i()}setProjection(t,i){this.projections[t]=e.br(i)}setBrightness(e,t,i){this.brightness=t,i()}setLayers(e,t,i){this.getLayerIndex(e,t.scope).replace(t.layers,t.options),i()}updateLayers(e,t,i){this.getLayerIndex(e,t.scope).update(t.layers,t.removedIds,t.options),i()}loadTile(e,t,i){t.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,t.type,t.source,t.scope).loadTile(t,i)}loadDEMTile(e,t,i){this.getDEMWorkerSource(e,t.source,t.scope).loadTile(t,i)}decodeRasterArray(e,t,i){this.getRasterArrayWorkerSource().decodeRasterArray(t,i)}reloadTile(e,t,i){t.projection=this.projections[e]||this.defaultProjection,this.getWorkerSource(e,t.type,t.source,t.scope).reloadTile(t,i)}abortTile(e,t,i){this.getWorkerSource(e,t.type,t.source,t.scope).abortTile(t,i)}removeTile(e,t,i){this.getWorkerSource(e,t.type,t.source,t.scope).removeTile(t,i)}removeSource(e,t,i){if(!(this.workerSources[e]&&this.workerSources[e][t.scope]&&this.workerSources[e][t.scope][t.type]&&this.workerSources[e][t.scope][t.type][t.source]))return;const r=this.workerSources[e][t.scope][t.type][t.source];delete this.workerSources[e][t.scope][t.type][t.source],void 0!==r.removeSource?r.removeSource(t,i):i()}loadWorkerSource(e,t,i){try{this.self.importScripts(t.url),i()}catch(e){i(e.toString())}}syncRTLPluginState(t,i,r){try{e.e0.setState(i);const t=e.e0.getPluginURL();if(e.e0.isLoaded()&&!e.e0.isParsed()&&null!=t){this.self.importScripts(t);const i=e.e0.isParsed();r(i?void 0:new Error(`RTL Text Plugin failed to import scripts from ${t}`),i)}}catch(e){r(e.toString())}}setDracoUrl(e,t){this.dracoUrl=t}getAvailableImages(e,t){this.availableImages[e]||(this.availableImages[e]={});let i=this.availableImages[e][t];return i||(i=[]),i}getLayerIndex(e,t){this.layerIndexes[e]||(this.layerIndexes[e]={});let i=this.layerIndexes[e][t];return i||(i=this.layerIndexes[e][t]=new n,i.scope=t),i}getWorkerSource(e,t,i,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][r]||(this.workerSources[e][r]={}),this.workerSources[e][r][t]||(this.workerSources[e][r][t]={}),this.isSpriteLoaded[e]||(this.isSpriteLoaded[e]={}),!this.workerSources[e][r][t][i]){const n={send:(t,i,r,n,o,s)=>{this.actor.send(t,i,r,e,o,s)},scheduler:this.actor.scheduler};this.workerSources[e][r][t][i]=new this.workerSourceTypes[t](n,this.getLayerIndex(e,r),this.getAvailableImages(e,r),this.isSpriteLoaded[e][r],void 0,this.brightness)}return this.workerSources[e][r][t][i]}getDEMWorkerSource(e,t,i){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][i]||(this.demWorkerSources[e][i]={}),this.demWorkerSources[e][i][t]||(this.demWorkerSources[e][i][t]=new h),this.demWorkerSources[e][i][t]}getRasterArrayWorkerSource(){return this.rasterArrayWorkerSource||(this.rasterArrayWorkerSource=new u),this.rasterArrayWorkerSource}enforceCacheSizeLimit(t,i){e.e1(i)}getWorkerPerformanceMetrics(e,t,i){i(void 0,void 0)}}return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope&&(self.worker=new X(self)),X})),r(["./shared"],(function(e){function t(e,i){if(Array.isArray(e)){if(!Array.isArray(i)||e.length!==i.length)return!1;for(let r=0;r{window.removeEventListener("click",d,!0)}),0)}function f(e,t){const i=e.getBoundingClientRect();return g(e,i,t)}function m(e,t){const i=e.getBoundingClientRect(),r=[];for(let n=0;n=0?0:e.button}function g(t,i,r){const n=t.offsetWidth===i.width?1:t.offsetWidth/i.width;return new e.P((r.clientX-i.left)*n,(r.clientY-i.top)*n)}class y{constructor(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSourceCaches={},this._updatedPaintProps=new Set,this._updatedImages=new Set}isDirty(){return this._changed}setDirty(){this._changed=!0}getUpdatedSourceCaches(){return this._updatedSourceCaches}updateSourceCache(e,t){this._updatedSourceCaches[e]=t,this.setDirty()}discardSourceCacheUpdate(e){delete this._updatedSourceCaches[e]}updateLayer(e){const t=e.scope;this._updatedLayers[t]=this._updatedLayers[t]||new Set,this._updatedLayers[t].add(e.id),this.setDirty()}removeLayer(e){const t=e.scope;this._removedLayers[t]=this._removedLayers[t]||{},this._updatedLayers[t]=this._updatedLayers[t]||new Set,this._removedLayers[t][e.id]=e,this._updatedLayers[t].delete(e.id),this._updatedPaintProps.delete(e.fqid),this.setDirty()}getRemovedLayer(e){return this._removedLayers[e.scope]?this._removedLayers[e.scope][e.id]:null}discardLayerRemoval(e){this._removedLayers[e.scope]&&delete this._removedLayers[e.scope][e.id]}getLayerUpdatesByScope(){const e={};for(const t in this._updatedLayers)e[t]=e[t]||{},e[t].updatedIds=Array.from(this._updatedLayers[t].values());for(const t in this._removedLayers)e[t]=e[t]||{},e[t].removedIds=Object.keys(this._removedLayers[t]);return e}getUpdatedPaintProperties(){return this._updatedPaintProps}updatePaintProperties(e){this._updatedPaintProps.add(e.fqid),this.setDirty()}getUpdatedImages(){return Array.from(this._updatedImages.values())}updateImage(e){this._updatedImages.add(e),this.setDirty()}resetUpdatedImages(){this._updatedImages.clear()}reset(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSourceCaches={},this._updatedPaintProps.clear(),this._updatedImages.clear()}}class x extends e.E{constructor(e){super(),this.requestManager=e,this.models={"":{}},this.numModelsLoading={}}loadModel(t,i){return e.l(this.requestManager.transformRequest(i,e.R.Model).url).then((i=>{if(!i)return;const r=e.c(i),n=new e.M(t,void 0,void 0,r);return n.computeBoundsAndApplyParent(),n})).catch((r=>{if(r&&404===r.status)return null;this.fire(new e.a(new Error(`Could not load model ${t} from ${i}: ${r.message}`)))}))}load(t,i){this.models[i]||(this.models[i]={});const r=Object.keys(t);this.numModelsLoading[i]=(this.numModelsLoading[i]||0)+r.length;const n=[];for(const e of r)n.push(this.loadModel(e,t[e]));Promise.allSettled(n).then((t=>{for(let e=0;e{this.fire(new e.a(new Error(`Could not load models: ${t.message}`)))}))}isLoaded(){for(const e in this.numModelsLoading)if(this.numModelsLoading[e]>0)return!1;return!0}hasModel(e,t){return!!this.getModel(e,t)}getModel(e,t){return this.models[t]||(this.models[t]={}),this.models[t][e]?this.models[t][e].model:void 0}addModel(e,t,i){this.models[i]||(this.models[i]={}),this.hasModel(e,i)&&this.models[i][e].numReferences++,this.load({[e]:this.requestManager.normalizeModelURL(t)},i)}addModels(e,t){this.models[t]||(this.models[t]={});const i={};for(const r in e)this.models[t][r]={},i[r]=this.requestManager.normalizeModelURL(e[r]);this.load(i,t)}addModelsFromBucket(e,t){this.models[t]||(this.models[t]={});const i={};for(const r of e)this.hasModel(r,t)?this.models[t][r].numReferences++:i[r]=this.requestManager.normalizeModelURL(r);this.load(i,t)}removeModel(e,t){if(this.models[t]&&this.models[t][e]&&(this.models[t][e].numReferences--,0===this.models[t][e].numReferences)){const i=this.models[t][e].model;delete this.models[t][e],i.destroy()}}listModels(e){return this.models[e]||(this.models[e]={}),Object.keys(this.models[e])}upload(e,t){this.models[t]||(this.models[t]={});for(const i in this.models[t])this.models[t][i].model&&this.models[t][i].model.upload(e.context)}}class v{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,i,r){const n=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},e.e(this.stateChanges[t][n],r),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==n&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][n]){this.deletedStates[t][n]={};for(const e in this.state[t][n])r[e]||(this.deletedStates[t][n][e]=null)}else for(const e in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][e]&&delete this.deletedStates[t][n][e]}removeFeatureState(e,t,i){if(null===this.deletedStates[e])return;const r=String(t);if(this.deletedStates[e]=this.deletedStates[e]||{},i&&void 0!==t)null!==this.deletedStates[e][r]&&(this.deletedStates[e][r]=this.deletedStates[e][r]||{},this.deletedStates[e][r][i]=null);else if(void 0!==t)if(this.stateChanges[e]&&this.stateChanges[e][r])for(i in this.deletedStates[e][r]={},this.stateChanges[e][r])this.deletedStates[e][r][i]=null;else this.deletedStates[e][r]=null;else this.deletedStates[e]=null}getState(t,i){const r=String(i),n=e.e({},(this.state[t]||{})[r],(this.stateChanges[t]||{})[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return{};for(const t in e)delete n[t]}return n}initializeTileState(e,t){e.setFeatureState(this.state,t)}coalesceChanges(t,i){const r={};for(const n in this.stateChanges){this.state[n]=this.state[n]||{};const t={};for(const i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),e.e(this.state[n][i],this.stateChanges[n][i]),t[i]=this.state[n][i];r[n]=t}for(const n in this.deletedStates){this.state[n]=this.state[n]||{};const t={};if(null===this.deletedStates[n])for(const e in this.state[n])t[e]={},this.state[n][e]={};else for(const e in this.deletedStates[n]){if(null===this.deletedStates[n][e])this.state[n][e]={};else if(this.state[n][e])for(const t of Object.keys(this.deletedStates[n][e]))delete this.state[n][e][t];t[e]=this.state[n][e]}r[n]=r[n]||{},e.e(r[n],t)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const e in t)t[e].setFeatureState(r,i)}}function b(e){const{userImage:t}=e;return!!(t&&t.render&&t.render())&&(e.data.replace(new Uint8Array(t.data.buffer)),!0)}class w extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded={},this.requestors=[],this.patterns={},this.atlasImage={},this.atlasTexture={},this.dirty=!0}createScope(t){this.images[t]={},this.loaded[t]=!1,this.updatedImages[t]={},this.patterns[t]={},this.callbackDispatchedThisFrame[t]={},this.atlasImage[t]=new e.h({width:1,height:1})}isLoaded(){for(const e in this.loaded)if(!this.loaded[e])return!1;return!0}setLoaded(e,t){if(this.loaded[t]!==e&&(this.loaded[t]=e,e)){for(const{ids:e,callback:i}of this.requestors)this._notify(e,t,i);this.requestors=[]}}hasImage(e,t){return!!this.getImage(e,t)}getImage(e,t){return this.images[t][e]}addImage(e,t,i){this._validate(e,i)&&(this.images[t][e]=i)}_validate(t,i){let r=!0;return this._validateStretch(i.stretchX,i.data&&i.data.width)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,i.data&&i.data.height)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new e.a(new Error(`Image "${t}" has invalid "content" value`))),r=!1),r}_validateStretch(e,t){if(!e)return!0;let i=0;for(const r of e){if(r[0]o)return[new e.V(i,r,`${r} is greater than the maximum value ${o}`)]}return[]}function M(t){const i=t.valueSpec,r=e.u(t.value.type);let n,o,s,a={};const l="categorical"!==r&&void 0===t.value.property,c=!l,h="array"===e.j(t.value.stops)&&"array"===e.j(t.value.stops[0])&&"object"===e.j(t.value.stops[0][0]),u=T({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===r)return[new e.V(t.key,t.value,'identity function may not have a "stops" property')];let i=[];const n=t.value;return i=i.concat(E({key:t.key,value:n,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:d})),"array"===e.j(n)&&0===n.length&&i.push(new e.V(t.key,n,"array must have at least one stop")),i},default:function(e){return Z({key:e.key,value:e.value,valueSpec:i,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===r&&l&&u.push(new e.V(t.key,t.value,'missing required property "property"')),"identity"===r||t.value.stops||u.push(new e.V(t.key,t.value,'missing required property "stops"')),"exponential"===r&&t.valueSpec.expression&&!e.s(t.valueSpec)&&u.push(new e.V(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(c&&!e.m(t.valueSpec)?u.push(new e.V(t.key,t.value,"property functions not supported")):l&&!e.n(t.valueSpec)&&u.push(new e.V(t.key,t.value,"zoom functions not supported"))),"categorical"!==r&&!h||void 0!==t.value.property||u.push(new e.V(t.key,t.value,'"property" property is required')),u;function d(t){let r=[];const n=t.value,l=t.key;if("array"!==e.j(n))return[new e.V(l,n,`array expected, ${e.j(n)} found`)];if(2!==n.length)return[new e.V(l,n,`array length 2 expected, length ${n.length} found`)];if(h){if("object"!==e.j(n[0]))return[new e.V(l,n,`object expected, ${e.j(n[0])} found`)];if(void 0===n[0].zoom)return[new e.V(l,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new e.V(l,n,"object stop key must have value")];const i=e.u(n[0].zoom);if("number"!=typeof i)return[new e.V(l,n[0].zoom,"stop zoom values must be numbers")];if(s&&s>i)return[new e.V(l,n[0].zoom,"stop zoom values must appear in ascending order")];i!==s&&(s=i,o=void 0,a={}),r=r.concat(T({key:`${l}[0]`,value:n[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:S,value:p}}))}else r=r.concat(p({key:`${l}[0]`,value:n[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},n));return e.o(e.q(n[1]))?r.concat([new e.V(`${l}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(Z({key:`${l}[1]`,value:n[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const l=e.j(t.value),c=e.u(t.value),h=null!==t.value?t.value:s;if(n){if(l!==n)return[new e.V(t.key,h,`${l} stop domain type must match previous stop domain type ${n}`)]}else n=l;if("number"!==l&&"string"!==l&&"boolean"!==l&&"number"!=typeof c&&"string"!=typeof c&&"boolean"!=typeof c)return[new e.V(t.key,h,"stop domain value must be a number, string, or boolean")];if("number"!==l&&"categorical"!==r){let n=`number expected, ${l} found`;return e.m(i)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new e.V(t.key,h,n)]}return"categorical"!==r||"number"!==l||"number"==typeof c&&isFinite(c)&&Math.floor(c)===c?"categorical"!==r&&"number"===l&&"number"==typeof c&&"number"==typeof o&&void 0!==o&&cnew e.V(`${t.key}${i.key}`,t.value,i.message)));const r=i.value.expression||i.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new e.V(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!e.v(r))return[new e.V(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext)return I(r,t);if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!e.x(r,["zoom","feature-state"]))return[new e.V(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!e.y(r))return[new e.V(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function I(t,i){const r=new Set(["zoom","feature-state","pitch","distance-from-center"]);if(i.valueSpec&&i.valueSpec.expression)for(const e of i.valueSpec.expression.parameters)r.delete(e);if(0===r.size)return[];const n=[];return t instanceof e.C&&r.has(t.name)?[new e.V(i.key,i.value,`["${t.name}"] expression is not supported in a filter for a ${i.object.type} layer with id: ${i.object.id}`)]:(t.eachChild((e=>{n.push(...I(e,i))})),n)}function C(t){const i=t.key,r=t.value,n=t.valueSpec,o=[];return Array.isArray(n.values)?-1===n.values.indexOf(e.u(r))&&o.push(new e.V(i,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(e.u(r))&&o.push(new e.V(i,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),o}function P(t){return e.A(e.q(t.value))?A(e.k({},t,{expressionContext:"filter",valueSpec:t.styleSpec[`filter_${t.layerType||"fill"}`]})):z(t)}function z(t){const i=t.value,r=t.key;if("array"!==e.j(i))return[new e.V(r,i,`array expected, ${e.j(i)} found`)];const n=t.styleSpec;let o,s=[];if(i.length<1)return[new e.V(r,i,"filter array must have at least 1 element")];switch(s=s.concat(C({key:`${r}[0]`,value:i[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),e.u(i[0])){case"<":case"<=":case">":case">=":i.length>=2&&"$type"===e.u(i[1])&&s.push(new e.V(r,i,`"$type" cannot be use with operator "${i[0]}"`));case"==":case"!=":3!==i.length&&s.push(new e.V(r,i,`filter array for operator "${i[0]}" must have 3 elements`));case"in":case"!in":i.length>=2&&(o=e.j(i[1]),"string"!==o&&s.push(new e.V(`${r}[1]`,i[1],`string expected, ${o} found`)));for(let a=2;a{t in r&&i.push(new e.V(n,r[t],`"${t}" is prohibited for ref layers`))})),o.layers.forEach((i=>{e.u(i.id)===l&&(t=i)})),t?t.ref?i.push(new e.V(n,r.ref,"ref cannot reference another ref layer")):a=e.u(t.type):"string"==typeof l&&i.push(new e.V(n,r.ref,`ref layer "${l}" not found`))}else if("background"!==a&&"sky"!==a&&"slot"!==a)if(r.source){const t=o.sources&&o.sources[r.source],s=t&&e.u(t.type);t?"vector"===s&&"raster"===a?i.push(new e.V(n,r.source,`layer "${r.id}" requires a raster source`)):"raster"===s&&"raster"!==a?i.push(new e.V(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==s||r["source-layer"]?"raster-dem"===s&&"hillshade"!==a?i.push(new e.V(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"raster-array"!==s||["raster","raster-particle"].includes(a)?"line"!==a||!r.paint||!r.paint["line-gradient"]&&!r.paint["line-trim-offset"]||"geojson"===s&&t.lineMetrics?"raster-particle"===a&&"raster-array"!==s&&i.push(new e.V(n,r.source,`layer "${r.id}" requires a 'raster-array' source.`)):i.push(new e.V(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):i.push(new e.V(n,r.source,"raster-array source can only be used with layer type 'raster'.")):i.push(new e.V(n,r,`layer "${r.id}" must specify a "source-layer"`)):i.push(new e.V(n,r.source,`source "${r.source}" not found`))}else i.push(new e.V(n,r,'missing required property "source"'));return i=i.concat(T({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":()=>[],type:()=>Z({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"}),filter:t=>P(e.k({layerType:a},t)),layout:t=>T({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>L(e.k({layerType:a},t))}}),paint:t=>T({layer:r,key:t.key,value:t.value,valueSpec:{},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":t=>R(e.k({layerType:a,layer:r},t))}})}})),i}function O(t){const i=t.value,r=t.key,n=e.j(i);return"string"!==n?[new e.V(r,i,`string expected, ${n} found`)]:[]}const B={promoteId:function(t){let{key:i,value:r}=t;if("string"===e.j(r))return O({key:i,value:r});{const e=[];for(const t in r)e.push(...O({key:`${i}.${t}`,value:r[t]}));return e}}};function F(t){const i=t.value,r=t.key,n=t.styleSpec,o=t.style;if(!i.type)return[new e.V(r,i,'"type" is required')];const s=e.u(i.type);let a=[];switch(["vector","raster","raster-dem","raster-array"].includes(s)&&(i.url||i.tiles||a.push(new e.i(r,i,'Either "url" or "tiles" is required.'))),s){case"vector":case"raster":case"raster-dem":case"raster-array":return a=a.concat(T({key:r,value:i,valueSpec:n[`source_${s.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:B})),a;case"geojson":if(a=T({key:r,value:i,valueSpec:n.source_geojson,style:o,styleSpec:n,objectElementValidators:B}),i.cluster)for(const e in i.clusterProperties){const[t,n]=i.clusterProperties[e],o="string"==typeof t?[t,["accumulated"],["get",e]]:t;a.push(...A({key:`${r}.${e}.map`,value:n,expressionContext:"cluster-map"})),a.push(...A({key:`${r}.${e}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return a;case"video":return T({key:r,value:i,valueSpec:n.source_video,style:o,styleSpec:n});case"image":return T({key:r,value:i,valueSpec:n.source_image,style:o,styleSpec:n});case"canvas":return[new e.V(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return C({key:`${r}.type`,value:i.type,valueSpec:{values:N(n)},style:o,styleSpec:n})}}function N(e){return e.source.reduce(((t,i)=>{const r=e[i];return"enum"===r.type.type&&(t=t.concat(Object.keys(r.type.values))),t}),[])}function V(t){const i=t.value,r=t.styleSpec,n=r.light,o=t.style;let s=[];const a=e.j(i);if(void 0===i)return s;if("object"!==a)return s=s.concat([new e.V("light",i,`object expected, ${a} found`)]),s;for(const l in i){const t=l.match(/^(.*)-transition$/);s=s.concat(t&&n[t[1]]&&n[t[1]].transition?Z({key:l,value:i[l],valueSpec:r.transition,style:o,styleSpec:r}):n[l]?Z({key:l,value:i[l],valueSpec:n[l],style:o,styleSpec:r}):[new e.V(l,i[l],`unknown property "${l}"`)])}return s}function U(t){const i=t.value;let r=[];if(!i)return r;const n=e.j(i);if("object"!==n)return r=r.concat([new e.V("light-3d",i,`object expected, ${n} found`)]),r;const o=t.styleSpec,s=o["light-3d"],a=t.key,l=t.style,c=t.style.lights;for(const d of["type","id"])if(!(d in i))return r=r.concat([new e.V("light-3d",i,`missing property ${d} on light`)]),r;if(i.type&&c)for(let d=0;d[],array:E,boolean:function(t){const i=t.value,r=t.key,n=e.j(i);return"boolean"!==n?[new e.V(r,i,`boolean expected, ${n} found`)]:[]},number:S,color:function(t){const i=t.key,r=t.value,n=e.j(r);return"string"!==n?[new e.V(i,r,`color expected, ${n} found`)]:null===e.z(r)?[new e.V(i,r,`color expected, "${r}" found`)]:[]},enum:C,filter:P,function:M,layer:k,object:T,source:F,model:e.F,light:V,"light-3d":U,terrain:j,fog:G,string:O,formatted:function(e){return 0===O(e).length?[]:A(e)},resolvedImage:function(e){return 0===O(e).length?[]:A(e)},projection:function(t){const i=t.value,r=t.styleSpec,n=r.projection,o=t.style;let s=[];const a=e.j(i);if("object"===a)for(const e in i)s=s.concat(Z({key:e,value:i[e],valueSpec:n[e],style:o,styleSpec:r}));else"string"!==a&&(s=s.concat([new e.V("projection",i,`object or string expected, ${a} found`)]));return s},import:function(t){const{value:i,styleSpec:r}=t,{data:n,...o}=i;Object.defineProperty(o,"__line__",{value:i.__line__,enumerable:!1});let s=T(e.k({},t,{value:o,valueSpec:r.import}));return""===e.u(o.id)&&s.push(new e.V(`${t.key}.id`,o,"import id can't be an empty string")),n&&(s=s.concat(W(n,r,{key:`${t.key}.data`}))),s}};function Z(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=t.value,n=t.valueSpec,o=t.styleSpec;if(n.expression&&e.B(e.u(r)))return M(t);if(n.expression&&e.o(e.q(r)))return A(t);if(n.type&&q[n.type]){const r=q[n.type](t);return!0===i&&r.length>0&&"array"===e.j(t.value)?A(t):r}return T(e.k({},t,{valueSpec:n.type?o[n.type]:n}))}function $(t){const i=t.value,r=t.key,n=O(t);return n.length||(-1===i.indexOf("{fontstack}")&&n.push(new e.V(r,i,'"glyphs" url must include a "{fontstack}" token')),-1===i.indexOf("{range}")&&n.push(new e.V(r,i,'"glyphs" url must include a "{range}" token'))),n}function W(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.G;return Z({key:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).key||"",value:t,valueSpec:i.$root,styleSpec:i,style:t,objectElementValidators:{glyphs:$,"*":()=>[]}})}function Q(t){return oe(W(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.G))}const H=e=>oe(F(e)),X=e=>oe(V(e)),Y=e=>oe(U(e)),K=e=>oe(j(e)),J=e=>oe(G(e)),ee=e=>oe(k(e)),te=e=>oe(P(e)),ie=e=>oe(R(e)),re=e=>oe(L(e)),ne=t=>oe(e.F(t));function oe(e){return e.slice().sort(((e,t)=>e.line&&t.line?e.line-t.line:0))}function se(t,i){let r=!1;if(i&&i.length)for(const n of i)n instanceof e.i?e.w(n.message):(t.fire(new e.a(new Error(n.message))),r=!0);return r}const ae=new e.H({anchor:new e.J(e.G.light.anchor),position:new e.K(e.G.light.position),color:new e.J(e.G.light.color),intensity:new e.J(e.G.light.intensity)});class le extends e.E{constructor(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"flat";super(),this._transitionable=new e.L(ae),this.setLight(t,i),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._validate(X,e,i)||(this._transitionable.setTransitionOrValue(e),this.id=t)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&se(this,t.call(Q,e.e({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.G})))}}const ce=new e.H({source:new e.J(e.G.terrain.source),exaggeration:new e.J(e.G.terrain.exaggeration)});let he=class extends e.E{constructor(t,i,r,n){super(),this.scope=r,this._transitionable=new e.L(ce,r,n),this._transitionable.setTransitionOrValue(t,n),this._transitioning=this._transitionable.untransitioned(),this.drapeRenderMode=i}get(){return this._transitionable.serialize()}set(e,t){this._transitionable.setTransitionOrValue(e,t)}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}getExaggeration(t){return this._transitioning.possiblyEvaluate(new e.N(t)).get("exaggeration")}isZoomDependent(){const t=this._transitionable._values.exaggeration;return null!=t&&null!=t.value&&null!=t.value.expression&&t.value.expression instanceof e.Z}};const ue=45,de=65,pe=.05;function fe(t,i,r,n){const o=e.S(ue,de,r),[s,a]=me(t,n);let l=1-Math.min(1,Math.exp((i-s)/(a-s)*-6));return l*=l*l,l=Math.min(1,1.00747*l),l*o*t.alpha}function me(e,t){const i=.5/Math.tan(.5*t);return[e.range[0]+i,e.range[1]+i]}function _e(t,i,r,n,o){const s=e.Q.transformMat4([],[i,r,n],o.mercatorFogMatrix);return fe(t,e.Q.length(s),o.pitch,o._fov)}function ge(t,i,r,n,o,s,a){const l=[[r,n,0],[o,n,0],[o,s,0],[r,s,0]];let c=Number.MAX_VALUE,h=-Number.MAX_VALUE;for(const u of l){const t=e.Q.transformMat4([],u,i),r=e.Q.length(t);c=Math.min(c,r),h=Math.max(h,r)}return[fe(t,c,a.pitch,a._fov),fe(t,h,a.pitch,a._fov)]}const ye=new e.H({range:new e.J(e.G.fog.range),color:new e.J(e.G.fog.color),"high-color":new e.J(e.G.fog["high-color"]),"space-color":new e.J(e.G.fog["space-color"]),"horizon-blend":new e.J(e.G.fog["horizon-blend"]),"star-intensity":new e.J(e.G.fog["star-intensity"]),"vertical-range":new e.J(e.G.fog["vertical-range"])});class xe extends e.E{constructor(t,i,r,n){super(),this._transitionable=new e.L(ye,r,new Map(n)),this.set(t,n),this._transitioning=this._transitionable.untransitioned(),this._transform=i,this.properties=new e.U(ye)}get state(){const t=this._transform,i="globe"===t.projection.name,r=e.W(t.zoom),n=this.properties.get("range"),o=[.5,3];return{range:i?[e.X(o[0],n[0],r),e.X(o[1],n[1],r)]:n,horizonBlend:this.properties.get("horizon-blend"),alpha:this.properties.get("color").a}}get(){return this._transitionable.serialize()}set(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._validate(J,t,r))return;const n=e.e({},t);for(const o of Object.keys(e.G.fog))void 0===n[o]&&(n[o]=e.G.fog[o].default);this._options=n,this._transitionable.setTransitionOrValue(this._options,i)}getOpacity(t){if(!this._transform.projection.supportsFog)return 0;const i=this.properties&&this.properties.get("color")||1;return("globe"===this._transform.projection.name?1:e.S(ue,de,t))*i.a}getOpacityAtLatLng(t,i){return this._transform.projection.supportsFog?function(t,i,r){const n=e.O.fromLngLat(i),o=r.elevation?r.elevation.getAtPointOrZero(n):0;return _e(t,n.x,n.y,o,r)}(this.state,t,i):0}getOpacityForTile(t){if(!this._transform.projection.supportsFog)return[1,1];const i=this._transform.calculateFogTileMatrix(t.toUnwrapped());return ge(this.state,i,0,0,e.Y,e.Y,this._transform)}getOpacityForBounds(e,t,i,r,n){return this._transform.projection.supportsFog?ge(this.state,e,t,i,r,n,this._transform):[1,1]}getFovAdjustedRange(e){return this._transform.projection.supportsFog?me(this.state,e):[0,1]}isVisibleOnFrustum(t){if(!this._transform.projection.supportsFog)return!1;const i=[4,5,6,7];for(const r of i){const i=t.points[r];let n;if(i[2]>=0)n=i;else{const o=t.points[r-4];n=e._(o,i,o[2]/(o[2]-i[2]))}if(_e(this.state,n[0],n[1],0,this._transform)>=pe)return!0}return!1}updateConfig(e){this._transitionable.setTransitionOrValue(this._options,new Map(e))}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}_validate(t,i,r){return(!r||!1!==r.validate)&&se(this,t.call(Q,e.e({value:i,style:{glyphs:!0,sprite:!0},styleSpec:e.G})))}}class ve extends e.E{constructor(t,i,r,n){super(),this.scope=r,this._options=t,this.properties=new e.U(i),this._transitionable=new e.L(i,r,new Map(n)),this._transitionable.setTransitionOrValue(t.properties),this._transitioning=this._transitionable.untransitioned()}updateConfig(e){this._transitionable.setTransitionOrValue(this._options.properties,new Map(e))}updateTransitions(e){this._transitioning=this._transitionable.transitioned(e,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(e){this.properties=this._transitioning.possiblyEvaluate(e)}get(){return this._options.properties=this._transitionable.serialize(),this._options}set(e,t){this._options=e,this._transitionable.setTransitionOrValue(e.properties,t)}shadowsEnabled(){return!!this.properties&&!0===this.properties.get("cast-shadows")}}const be=new e.H({color:new e.J(e.G.properties_light_ambient.color),intensity:new e.J(e.G.properties_light_ambient.intensity)}),we=new e.H({direction:new e.$(e.G.properties_light_directional.direction),color:new e.J(e.G.properties_light_directional.color),intensity:new e.J(e.G.properties_light_directional.intensity),"cast-shadows":new e.J(e.G.properties_light_directional["cast-shadows"]),"shadow-intensity":new e.J(e.G.properties_light_directional["shadow-intensity"])});class Te{constructor(e,t,i,r){this.screenBounds=e,this.cameraPoint=t,this._screenRaycastCache={},this._cameraRaycastCache={},this.isAboveHorizon=i,this.screenGeometry=this.bufferedScreenGeometry(0),this.screenGeometryMercator=this._bufferedScreenMercator(0,r)}static createFromScreenPoints(t,i){let r,n;if(t instanceof e.P||"number"==typeof t[0]){const o=e.P.convert(t);r=[o],n=i.isPointAboveHorizon(o)}else{const o=e.P.convert(t[0]),s=e.P.convert(t[1]);r=[o,s],n=e.a0(o,s).every((e=>i.isPointAboveHorizon(e)))}return new Te(r,i.getCameraPoint(),n,i)}isPointQuery(){return 1===this.screenBounds.length}bufferedScreenGeometry(t){return e.a0(this.screenBounds[0],1===this.screenBounds.length?this.screenBounds[0]:this.screenBounds[1],t)}bufferedCameraGeometry(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.P(1,1)):this.screenBounds[1],n=e.a0(i,r,0,!1);return this.cameraPoint.y>r.y&&(this.cameraPoint.x>i.x&&this.cameraPoint.x=r.x?n[2]=this.cameraPoint:this.cameraPoint.x<=i.x&&(n[3]=this.cameraPoint)),e.a1(n,t)}bufferedCameraGeometryGlobe(t){const i=this.screenBounds[0],r=1===this.screenBounds.length?this.screenBounds[0].add(new e.P(1,1)):this.screenBounds[1],n=e.a0(i,r,t),o=this.cameraPoint.clone();switch(3*((o.y>i.y)+(o.y>r.y))+((o.x>i.x)+(o.x>r.x))){case 0:n[0]=o,n[4]=o.clone();break;case 1:n.splice(1,0,o);break;case 2:n[1]=o;break;case 3:n.splice(4,0,o);break;case 5:n.splice(2,0,o);break;case 6:n[3]=o;break;case 7:n.splice(3,0,o);break;case 8:n[2]=o}return n}containsTile(t,i,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const o=t.queryPadding/i._pixelsPerMercatorPixel+1,s=r?this._bufferedCameraMercator(o,i):this._bufferedScreenMercator(o,i);let a=t.tileID.wrap+(s.unwrapped?n:0);const l=s.polygon.map((i=>e.a2(t.tileTransform,i,a)));if(!e.a3(l,0,0,e.Y,e.Y))return;a=t.tileID.wrap+(this.screenGeometryMercator.unwrapped?n:0);const c=this.screenGeometryMercator.polygon.map((i=>e.a4(t.tileTransform,i,a))),h=c.map((t=>new e.P(t[0],t[1]))),u=i.getFreeCameraOptions().position||new e.O(0,0,0),d=e.a4(t.tileTransform,u,a),p=c.map((t=>{const i=e.Q.sub(t,t,d);return e.Q.normalize(i,i),new e.a5(d,i)})),f=e.a6(t,1,i.zoom)*i._pixelsPerMercatorPixel;return{queryGeometry:this,tilespaceGeometry:h,tilespaceRays:p,bufferedTilespaceGeometry:l,bufferedTilespaceBounds:(m=e.a7(l),m.min.x=e.ad(m.min.x,0,e.Y),m.min.y=e.ad(m.min.y,0,e.Y),m.max.x=e.ad(m.max.x,0,e.Y),m.max.y=e.ad(m.max.y,0,e.Y),m),tile:t,tileID:t.tileID,pixelToTileUnitsFactor:f};var m}_bufferedScreenMercator(e,t){const i=Me(e);if(this._screenRaycastCache[i])return this._screenRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedScreenGeometry(e),t):{polygon:this.bufferedScreenGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._screenRaycastCache[i]=r,r}}_bufferedCameraMercator(e,t){const i=Me(e);if(this._cameraRaycastCache[i])return this._cameraRaycastCache[i];{let r;return r="globe"===t.projection.name?this._projectAndResample(this.bufferedCameraGeometryGlobe(e),t):{polygon:this.bufferedCameraGeometry(e).map((e=>t.pointCoordinate3D(e))),unwrapped:!0},this._cameraRaycastCache[i]=r,r}}_projectAndResample(t,i){const r=function(t,i){const r=e.a9.multiply([],i.pixelMatrix,i.globeMatrix),n=[0,-e.ae,0,1],o=[0,e.ae,0,1],s=[0,0,0,1];e.aa.transformMat4(n,n,r),e.aa.transformMat4(o,o,r),e.aa.transformMat4(s,s,r);const a=new e.P(n[0]/n[3],n[1]/n[3]),l=new e.P(o[0]/o[3],o[1]/o[3]),c=e.ab(t,a)&&n[3]1?Ee(t.slice(0,d),i):[],m=dnew e.P(Se(t.x),t.y))),m=m.map((t=>new e.P(Se(t.x),t.y)));const _=[...f];0===_.length&&_.push(m[m.length-1]);const g=e.X(_[_.length-1].y,(0===m.length?f[0]:m[0]).y,p);let y;return y=c?[new e.P(0,g),new e.P(0,0),new e.P(1,0),new e.P(1,g)]:[new e.P(1,g),new e.P(1,1),new e.P(0,1),new e.P(0,g)],_.push(...y),0===m.length?_.push(f[0]):_.push(...m),{polygon:_.map((t=>new e.O(t.x,t.y))),unwrapped:!1}}(t,i);if(r)return r;const n=function(t,i){let r=!1,n=-1/0,o=0;for(let e=0;en&&(n=t[e].x,o=e);for(let e=0;e.5&&(n.x{e.x-=1})),{polygon:t,unwrapped:r}}(Ee(t,i).map((t=>new e.P(Se(t.x),t.y))),i);return{polygon:n.polygon.map((t=>new e.O(t.x,t.y))),unwrapped:n.unwrapped}}}function Ee(t,i){return e.ac(t,(e=>{const t=i.pointCoordinate3D(e);e.x=t.x,e.y=t.y}),1/256)}function Se(e){return e<0?1+e%1:e%1}function Me(e){return 100*e|0}function Ae(t,i,r,n,o){const s=function(r,n){if(r)return o(r);if(n){t.url&&n.tiles&&t.tiles&&delete t.tiles;const r=e.af(e.e(n,t),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);n.vector_layers&&(r.vectorLayers=n.vector_layers,r.vectorLayerIds=r.vectorLayers.map((e=>e.id))),n.raster_layers&&(r.rasterLayers=n.raster_layers,r.rasterLayerIds=r.rasterLayers.map((e=>e.id))),r.tiles=i.canonicalizeTileset(r,t.url),o(null,r)}};return t.url?e.g(i.transformRequest(i.normalizeSourceURL(t.url,null,r,n),e.R.Source),s):e.f.frame((()=>s(null,t)))}class Ie{constructor(t,i,r){this.bounds=e.ag.convert(this.validateBounds(t)),this.minzoom=i||0,this.maxzoom=r||24}validateBounds(e){return Array.isArray(e)&&4===e.length?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),r=Math.floor(e.a8(this.bounds.getWest())*i),n=Math.floor(e.ah(this.bounds.getNorth())*i),o=Math.ceil(e.a8(this.bounds.getEast())*i),s=Math.ceil(e.ah(this.bounds.getSouth())*i);return t.x>=r&&t.x=n&&t.y{this._tileJSONRequest=null,this._loaded=!0,n?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),r&&2!==r.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${r}`),this.fire(new e.a(n))):o&&(e.e(this,o),o.bounds&&(this.tileBounds=new Ie(o.bounds,this.minzoom,this.maxzoom)),e.am(o.tiles,this.map._requestManager._customAccessToken),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(n)}))}loaded(){return this._loaded}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest();const t=e.aj(this.id,this.scope);this.load((()=>this.map.style.clearSource(t)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.e({},this._options)}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),n={request:this.map._requestManager.transformRequest(r,e.R.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,scope:this.scope,pixelRatio:e.f.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,isSymbolTile:t.isSymbolTile,brightness:this.map.style&&this.map.style.getBrightness()||0,extraShadowCaster:t.isExtraShadowCaster};if(n.request.collectResourceTiming=this._collectResourceTiming,t.actor&&"expired"!==t.state)"loading"===t.state?t.reloadCallback=i:t.request=t.actor.send("reloadTile",n,o.bind(this));else if(t.actor=this._tileWorkers[r]=this._tileWorkers[r]||this.dispatcher.getActor(),this.dispatcher.ready)t.request=t.actor.send("loadTile",n,o.bind(this),void 0,!0);else{const i=e.ak.call({deduped:this._deduped},n,((e,i)=>{e||!i?o.call(this,e):(n.data={cacheControl:i.cacheControl,expires:i.expires,rawData:i.rawData.slice(0)},t.actor&&t.actor.send("loadTile",n,o.bind(this),void 0,!0))}),!0);t.request={cancel:i}}function o(r,n){return delete t.request,t.aborted?i(null):r&&404!==r.status?i(r):(n&&n.resourceTiming&&(t.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&n&&t.setExpiryData(n),t.loadVectorData(n,this.map.painter),e.al(this.dispatcher),i(null),void(t.reloadCallback&&(this.loadTile(t,t.reloadCallback),t.reloadCallback=null)))}}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.actor&&e.actor.send("abortTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope})}unloadTile(e){e.actor&&e.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope}),e.destroy()}hasTransition(){return!1}afterUpdate(){this._tileWorkers={}}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class Pe extends e.E{constructor(t,i,r,n){super(),this.id=t,this.dispatcher=r,this.setEventedParent(n),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},i),e.e(this,e.af(i,["url","scheme","tileSize"]))}load(t){this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"})),this._tileJSONRequest=Ae(this._options,this.map._requestManager,null,null,((i,r)=>{this._tileJSONRequest=null,this._loaded=!0,i?this.fire(new e.a(i)):r&&(e.e(this,r),r.bounds&&(this.tileBounds=new Ie(r.bounds,this.minzoom,this.maxzoom)),e.am(r.tiles),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(i)}))}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}reload(){this.cancelTileJSONRequest();const t=e.aj(this.id,this.scope);this.load((()=>this.map.style.clearSource(t)))}setTiles(e){return this._options.tiles=e,this.reload(),this}setUrl(e){return this.url=e,this._options.url=e,this.reload(),this}onRemove(){this.cancelTileJSONRequest()}serialize(){return e.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(t,i){const r=e.f.devicePixelRatio>=2,n=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),r,this.tileSize);t.request=e.d(this.map._requestManager.transformRequest(n,e.R.Tile),((r,n,o,s)=>(delete t.request,t.aborted?(t.state="unloaded",i(null)):r?(t.state="errored",i(r)):n?(this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:o,expires:s}),t.setTexture(n,this.map.painter),t.state="loaded",e.al(this.dispatcher),void i(null)):i(null))))}abortTile(e,t){e.request&&(e.request.cancel(),delete e.request),t()}unloadTile(t,i){t.texture&&t.texture instanceof e.T?(t.destroy(!0),t.texture&&t.texture instanceof e.T&&this.map.painter.saveTileTexture(t.texture)):t.destroy(),i()}hasTransition(){return!1}cancelTileJSONRequest(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)}}class ze extends Pe{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-array",this.maxzoom=22,this._options=e.e({type:"raster-array"},i)}triggerRepaint(e){const t=this.map.painter._terrain,i=this.map.style.getSourceCache(this.id);t&&t.enabled&&i&&t._clearRenderCacheForTile(i.id,e.tileID),this.map.triggerRepaint()}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize),n=this.map._requestManager.transformRequest(r,e.R.Tile);t.requestParams=n,t.actor||(t.actor=this.dispatcher.getActor()),t.request=t.fetchHeader(void 0,((e,r,n,o)=>{if(delete t.request,t.aborted)return t.state="unloaded",i(null);if(e){if(20===e.code)return;return t.state="errored",i(e)}this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:n,expires:o}),t.state="empty",i(null)}))}unloadTile(t){const i=t.texture;i&&i instanceof e.T?(t.destroy(!0),this.map.painter.saveTileTexture(i)):(t.destroy(),t.flushQueues(),t._isHeaderLoaded=!1,delete t._mrt,delete t.textureDescriptor),t.fbo&&(t.fbo.destroy(),delete t.fbo),delete t.request,delete t.requestParams,delete t.neighboringTiles,t.state="unloaded"}prepareTile(t,i,r){t._isHeaderLoaded&&("empty"!==t.state&&(t.state="reloading"),t.fetchBand(i,r,((i,r)=>{if(i)return t.state="errored",this.fire(new e.a(i)),void this.triggerRepaint(t);r&&(t.setTexture(r,this.map.painter),t.state="loaded",this.triggerRepaint(t))})))}getInitialBand(e){if(!this.rasterLayers)return 0;const t=this.rasterLayers.find((t=>{let{id:i}=t;return i===e})),i=t&&t.fields,r=i&&i.bands&&i.bands;return r?r[0]:0}getTextureDescriptor(t,i,r){if(!t)return;const n=i.sourceLayer||this.rasterLayerIds&&this.rasterLayerIds[0];if(!n)return;let o=null;i instanceof e.aq?o=i.paint.get("raster-array-band"):i instanceof e.ar&&(o=i.paint.get("raster-particle-array-band"));const s=o||this.getInitialBand(n);if(null!=s)if(t.textureDescriptor){if(!t.updateNeeded(n,s)||r)return Object.assign({},t.textureDescriptor,{texture:t.texture})}else this.prepareTile(t,n,s)}}const De=32,Re=33,Le=new Uint16Array(8184);for(let ya=0;ya<2046;ya++){let e=ya+2,t=0,i=0,r=0,n=0,o=0,s=0;for(1&e?r=n=o=De:t=i=s=De;(e>>=1)>1;){const a=t+r>>1,l=i+n>>1;1&e?(r=t,n=i,t=o,i=s):(t=r,i=n,r=o,n=s),o=a,s=l}const a=4*ya;Le[a+0]=t,Le[a+1]=i,Le[a+2]=r,Le[a+3]=n}const ke=new Uint16Array(2178),Oe=new Uint8Array(1089),Be=new Uint16Array(1089);function Fe(e){return 0===e?-.03125:32===e?.03125:0}class Ne{constructor(e,t,i,r){this.id=Ne.uniqueIdxCounter,Ne.uniqueIdxCounter++,this.context=e;const n=e.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||r||t.destroy()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){this.id=Ne.uniqueIdxCounter,Ne.uniqueIdxCounter++;const t=this.context.gl;this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}Ne.uniqueIdxCounter=0;const Ve={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Ue{constructor(e,t,i,r,n,o){this.length=t.length,this.attributes=i,this.itemSize=t.bytesPerElement,this.dynamicDraw=r,this.instanceCount=o,this.context=e;const s=e.gl;this.buffer=s.createBuffer(),e.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||n||t.destroy()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){const t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let i=0;i0&&e.vertexAttribDivisor(n,i)}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class je{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class Ge extends je{getDefault(){return e.aA.transparent}set(e){const t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class qe extends je{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class Ze extends je{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class $e extends je{getDefault(){return[!0,!0,!0,!0]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class We extends je{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class Qe extends je{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class He extends je{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){const t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class Xe extends je{getDefault(){const e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class Ye extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class Ke extends je{getDefault(){return[0,1]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class Je extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class et extends je{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class tt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class it extends je{getDefault(){const e=this.gl;return[e.ONE,e.ZERO,e.ONE,e.ZERO]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.blendFuncSeparate(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class rt extends je{getDefault(){return e.aA.transparent}set(e){const t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class nt extends je{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquationSeparate(e,e),this.current=e,this.dirty=!1)}}class ot extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class st extends je{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class at extends je{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}let lt=class extends je{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}};class ct extends je{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class ht extends je{getDefault(){const e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){const t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class ut extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class dt extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class pt extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class ft extends je{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class mt extends je{getDefault(){return null}set(e){const t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class _t extends je{getDefault(){return null}set(e){this.gl&&(e!==this.current||this.dirty)&&(this.gl.bindVertexArray(e),this.current=e,this.dirty=!1)}}class gt extends je{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class yt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class xt extends je{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;const t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class vt extends je{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class bt extends vt{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class wt extends vt{attachment(){return this.gl.DEPTH_ATTACHMENT}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,this.attachment(),t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class Tt extends vt{attachment(){return this.gl.DEPTH_ATTACHMENT}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);const t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,this.attachment(),t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class Et extends wt{attachment(){return this.gl.DEPTH_STENCIL_ATTACHMENT}}class St{constructor(e,t,i,r,n){this.context=e,this.width=t,this.height=i;const o=this.framebuffer=e.gl.createFramebuffer();r&&(this.colorAttachment=new bt(e,o)),n&&(this.depthAttachmentType=n,this.depthAttachment="renderbuffer"===n?new wt(e,o):new Tt(e,o))}destroy(){const e=this.context.gl;if(this.colorAttachment){const t=this.colorAttachment.get();t&&e.deleteTexture(t)}if(this.depthAttachment&&this.depthAttachmentType)if("renderbuffer"===this.depthAttachmentType){const t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}else{const t=this.depthAttachment.get();t&&e.deleteTexture(t)}e.deleteFramebuffer(this.framebuffer)}}class Mt{constructor(e,t,i){this.func=e,this.mask=t,this.range=i}}Mt.ReadOnly=!1,Mt.ReadWrite=!0,Mt.disabled=new Mt(519,Mt.ReadOnly,[0,1]);const At=7680;class It{constructor(e,t,i,r,n,o){this.test=e,this.ref=t,this.mask=i,this.fail=r,this.depthFail=n,this.pass=o}}It.disabled=new It({func:519,mask:0},0,0,At,At,At);const Ct=771;class Pt{constructor(e,t,i,r){this.blendFunction=e,this.blendColor=t,this.mask=i,this.blendEquation=r}}Pt.Replace=[1,0,1,0],Pt.disabled=new Pt(Pt.Replace,e.aA.transparent,[!1,!1,!1,!1]),Pt.unblended=new Pt(Pt.Replace,e.aA.transparent,[!0,!0,!0,!0]),Pt.alphaBlended=new Pt([1,Ct,1,Ct],e.aA.transparent,[!0,!0,!0,!0]),Pt.multiply=new Pt([774,0,774,0],e.aA.transparent,[!0,!0,!0,!0]);const zt=1029,Dt=2305;class Rt{constructor(e,t,i){this.enable=e,this.mode=t,this.frontFace=i}}Rt.disabled=new Rt(!1,zt,Dt),Rt.backCCW=new Rt(!0,zt,Dt),Rt.backCW=new Rt(!0,zt,2304),Rt.frontCW=new Rt(!0,1028,2304),Rt.frontCCW=new Rt(!0,1028,Dt);class Lt{constructor(e,t){this.gl=e,this.clearColor=new Ge(this),this.clearDepth=new qe(this),this.clearStencil=new Ze(this),this.colorMask=new $e(this),this.depthMask=new We(this),this.stencilMask=new Qe(this),this.stencilFunc=new He(this),this.stencilOp=new Xe(this),this.stencilTest=new Ye(this),this.depthRange=new Ke(this),this.depthTest=new Je(this),this.depthFunc=new et(this),this.blend=new tt(this),this.blendFunc=new it(this),this.blendColor=new rt(this),this.blendEquation=new nt(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new at(this),this.program=new lt(this),this.activeTexture=new ct(this),this.viewport=new ht(this),this.bindFramebuffer=new ut(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new pt(this),this.bindVertexBuffer=new ft(this),this.bindElementBuffer=new mt(this),this.bindVertexArrayOES=new _t(this),this.pixelStoreUnpack=new gt(this),this.pixelStoreUnpackPremultiplyAlpha=new yt(this),this.pixelStoreUnpackFlipY=new xt(this),this.options=t?{...t}:{},this.options.extTextureFilterAnisotropicForceOff||(this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT))),this.extDebugRendererInfo=e.getExtension("WEBGL_debug_renderer_info"),this.extDebugRendererInfo&&(this.renderer=e.getParameter(this.extDebugRendererInfo.UNMASKED_RENDERER_WEBGL),this.vendor=e.getParameter(this.extDebugRendererInfo.UNMASKED_VENDOR_WEBGL)),this.options.extTextureFloatLinearForceOff||(this.extTextureFloatLinear=e.getExtension("OES_texture_float_linear")),this.extRenderToTextureHalfFloat=e.getExtension("EXT_color_buffer_half_float"),this.extTimerQuery=e.getExtension("EXT_disjoint_timer_query_webgl2"),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),this.maxPointSize=e.getParameter(e.ALIASED_POINT_SIZE_RANGE)[1]}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArrayOES.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t,i){return new Ne(this,e,t,i)}createVertexBuffer(e,t,i,r,n){return new Ue(this,e,t,i,r,n)}createRenderbuffer(e,t,i){const r=this.gl,n=r.createRenderbuffer();return this.bindRenderbuffer.set(n),r.renderbufferStorage(r.RENDERBUFFER,e,t,i),this.bindRenderbuffer.set(null),n}createFramebuffer(e,t,i,r){return new St(this,e,t,i,r)}clear(e){let{color:t,depth:i,stencil:r,colorMask:n}=e;const o=this.gl;let s=0;t&&(s|=o.COLOR_BUFFER_BIT,this.clearColor.set(t),this.colorMask.set(n||[!0,!0,!0,!0])),void 0!==i&&(s|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(i),this.depthMask.set(!0)),void 0!==r&&(s|=o.STENCIL_BUFFER_BIT,this.clearStencil.set(r),this.stencilMask.set(255)),o.clear(s)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t(e.blendFunction,Pt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor),e.blendEquation?this.blendEquation.set(e.blendEquation):this.blendEquation.setDefault()),this.colorMask.set(e.mask)}unbindVAO(){this.bindVertexArrayOES.set(null)}}var kt=e.aB([{name:"a_index",type:"Int16",components:1}]);const Ot=.15000000000000002;class Bt{constructor(t,i,r,n){const o={width:r[0],height:r[1],data:null},s=t.gl;this.targetColorTexture=new e.T(t,o,s.RGBA,{useMipmap:!1}),this.backgroundColorTexture=new e.T(t,o,s.RGBA,{useMipmap:!1}),this.context=t,this.setParticleTextureDimension(i,n),this.lastInvalidatedAt=0}setParticleTextureDimension(t,i){if(this.particleTextureDimension===i)return;(this.particleTexture0||this.particleTexture1||this.particleIndexBuffer||this.particleSegment)&&(this.particleTexture0.destroy(),this.particleTexture1.destroy(),this.particleIndexBuffer.destroy(),this.particleSegment.destroy());const r=this.context.gl,n=i*i,o=new Uint8Array(4*n),s=.7692307692307692,a=e.aC(t.key);for(let e=0;e[[new e.P(0,0),new e.P(e.Y+1,0),new e.P(e.Y+1,e.Y+1),new e.P(0,e.Y+1),new e.P(0,0)]]};class Nt{constructor(t,i,r,n,o){this.tileID=t,this.uid=e.aF(),this.uses=0,this.tileSize=i,this.tileZoom=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.isRaster=o,n&&n.style&&(this._lastUpdatedBrightness=n.style.getBrightness()),this.expiredRequestCount=0,this.state="loading",n&&n.transform&&(this.projection=n.transform.projection)}registerFadeDuration(t){const i=t+this.timeAdded;it.getLayer(e))).filter(Boolean);if(0!==e.length){r.layers=e,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((t=>e.filter((e=>e.id===t))[0])));for(const t of e)i[t.fqid]=r}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.aH){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.aH&&i.hasRTLText){this.hasRTLText=!0,e.aI();break}}this.queryPadding=0;for(const e in this.buckets){const t=this.buckets[e],r=i.style.getOwnLayer(e);if(!r)continue;const n=r.queryRadius(t);this.queryPadding=Math.max(this.queryPadding,n)}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage),t.lineAtlas&&(this.lineAtlas=t.lineAtlas),this._lastUpdatedBrightness=t.brightness}else this.collisionBoxArray=new e.aG}unloadVectorData(){if(this.hasData()){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.lineAtlasTexture&&this.lineAtlasTexture.destroy(),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),this.latestFeatureIndex=null,this.state="unloaded"}}getBucket(e){return this.buckets[e.fqid]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const i=t.gl,r=this.imageAtlas;if(r&&!r.uploaded){const n=!!Object.keys(r.patternPositions).length;this.imageAtlasTexture=new e.T(t,r.image,i.RGBA,{useMipmap:n}),this.imageAtlas.uploaded=!0}this.glyphAtlasImage&&(this.glyphAtlasTexture=new e.T(t,this.glyphAtlasImage,i.R8),this.glyphAtlasImage=null),this.lineAtlas&&!this.lineAtlas.uploaded&&(this.lineAtlasTexture=new e.T(t,this.lineAtlas.image,i.R8),this.lineAtlas.uploaded=!0)}prepare(e,t,i){if(this.imageAtlas&&this.imageAtlasTexture&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture,i),!t||!this.latestFeatureIndex||!this.latestFeatureIndex.rawTileData)return;const r=t.style.getBrightness();(this._lastUpdatedBrightness||r)&&(this._lastUpdatedBrightness&&r&&Math.abs(this._lastUpdatedBrightness-r)<.001||(this._lastUpdatedBrightness=r,this.updateBuckets(void 0,t)))}queryRenderedFeatures(e,t,i,r,n,o,s,a){return this.latestFeatureIndex&&(this.latestFeatureIndex.rawTileData||this.latestFeatureIndex.is3DTile)?this.latestFeatureIndex.query({tileResult:r,pixelPosMatrix:s,transform:o,params:n,tileTransform:this.tileTransform},e,t,i):{}}querySourceFeatures(t,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),o=i?i.sourceLayer:"",s=n._geojsonTileLayer||n[o];if(!s)return;const a=e.aJ(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let d=0;de)t=!1;else if(i)if(this.expirationTime=0;e--){const t=4*e,i=Le[t+0],r=Le[t+1],n=Le[t+2],o=Le[t+3],s=i+n>>1,a=r+o>>1,l=s+a-r,c=a+i-s,h=r*Re+i,u=o*Re+n,d=a*Re+s,p=Math.hypot((ke[2*h+0]+ke[2*u+0])/2-ke[2*d+0],(ke[2*h+1]+ke[2*u+1])/2-ke[2*d+1])>=16;Oe[d]=Oe[d]||(p?1:0),e<1022&&(Oe[d]=Oe[d]||Oe[(r+c>>1)*Re+(i+l>>1)]||Oe[(o+c>>1)*Re+(n+l>>1)])}const o=new e.ay,s=new e.az;let a=0;function l(t,i){const r=i*Re+t;return 0===Be[r]&&(o.emplaceBack(ke[2*r+0],ke[2*r+1],t*e.Y/De,i*e.Y/De),Be[r]=++a),Be[r]-1}function c(e,t,i,r,n,o){const a=e+i>>1,h=t+r>>1;if(Math.abs(e-n)+Math.abs(t-o)>1&&Oe[h*Re+a])c(n,o,e,t,a,h),c(i,r,n,o,a,h);else{const a=l(e,t),c=l(i,r),h=l(n,o);s.emplaceBack(a,c,h)}}return c(0,0,De,De,De,0),c(De,De,0,0,0,De),{vertices:o,indices:s}}(this.tileID.canonical,i);n=t.vertices,o=t.indices}else{n=new e.ay,o=new e.az;for(const{x:e,y:i}of r)n.emplaceBack(e,i,0,0);const t=e.aT(n.int16,void 0,4);for(let e=0;e0&&(l=e.a9.invert(new Float64Array(16),i.globeMatrix)),this._makeGlobeTileDebugBorderBuffer(t,n,i,s,l,a),this._makeGlobeTileDebugTextBuffer(t,n,i,s,l,a)}_globePoint(t,i,r,n,o,s,a){let l=e.aX(t,i,r);if(s){const o=1<.5?d=-1:u<-.5&&(d=1);let p=(t/e.Y+r.x)/o+d,f=(i/e.Y+r.y)/o;p=(p-c)*n._pixelsPerMercatorPixel+c,f=(f-h)*n._pixelsPerMercatorPixel+h;const m=[p*n.worldSize,f*n.worldSize,0];e.Q.transformMat4(m,m,s),l=e.aY(l,m,a)}return e.Q.transformMat4(l,l,o)}_makeGlobeTileDebugBorderBuffer(t,i,r,n,o,s){const a=new e.aQ,l=new e.aR,c=new e.aZ,h=(e,t,h,u,d)=>{const p=(h-e)/(d-1),f=(u-t)/(d-1),m=a.length;for(let _=0;_u*e+t;for(let e=0;e0&&void 0!==arguments[0]&&arguments[0];for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlas&&(this.imageAtlas=null),this.lineAtlas&&(this.lineAtlas=null),this.imageAtlasTexture&&(this.imageAtlasTexture.destroy(),delete this.imageAtlasTexture),this.glyphAtlasTexture&&(this.glyphAtlasTexture.destroy(),delete this.glyphAtlasTexture),this.lineAtlasTexture&&(this.lineAtlasTexture.destroy(),delete this.lineAtlasTexture),this._tileBoundsBuffer&&(this._tileBoundsBuffer.destroy(),this._tileBoundsIndexBuffer.destroy(),this._tileBoundsSegments.destroy(),this._tileBoundsBuffer=null),this._tileDebugBuffer&&(this._tileDebugBuffer.destroy(),this._tileDebugSegments.destroy(),this._tileDebugBuffer=null),this._tileDebugIndexBuffer&&(this._tileDebugIndexBuffer.destroy(),this._tileDebugIndexBuffer=null),this._globeTileDebugBorderBuffer&&(this._globeTileDebugBorderBuffer.destroy(),this._globeTileDebugBorderBuffer=null),this._tileDebugTextBuffer&&(this._tileDebugTextBuffer.destroy(),this._tileDebugTextSegments.destroy(),this._tileDebugTextIndexBuffer.destroy(),this._tileDebugTextBuffer=null),this._globeTileDebugTextBuffer&&(this._globeTileDebugTextBuffer.destroy(),this._globeTileDebugTextBuffer=null),!t&&this.texture&&this.texture instanceof e.T&&(this.texture.destroy(),delete this.texture),this.hillshadeFBO&&(this.hillshadeFBO.destroy(),delete this.hillshadeFBO),this.dem&&delete this.dem,this.neighboringTiles&&delete this.neighboringTiles,this.demTexture&&(this.demTexture.destroy(),delete this.demTexture),this.rasterParticleState&&(this.rasterParticleState.destroy(),delete this.rasterParticleState),this.latestFeatureIndex=null,this.state="unloaded"}}const Vt={vector:Ce,raster:Pe,"raster-dem":class extends Pe{constructor(t,i,r,n){super(t,i,r,n),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},i),this.encoding=i.encoding||"mapbox"}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme),!1,this.tileSize);function n(e,r){e&&(t.state="errored",i(e)),r&&(t.dem=r,t.dem.onDeserialize(),t.needsHillshadePrepare=!0,t.needsDEMTextureUpload=!0,t.state="loaded",i(null))}t.request=e.d(this.map._requestManager.transformRequest(r,e.R.Tile),function(r,o,s,a){if(delete t.request,t.aborted)t.state="unloaded",i(null);else if(r)t.state="errored",i(r);else if(o){this.map._refreshExpiredTiles&&t.setExpiryData({cacheControl:s,expires:a});const i=ImageBitmap&&o instanceof ImageBitmap&&e.an(),r=1-(o.width-e.ao(o.width))/2;r<1||t.neighboringTiles||(t.neighboringTiles=this._getNeighboringTiles(t.tileID));const l=i?o:e.f.getImageData(o,r),c={uid:t.uid,coord:t.tileID,source:this.id,scope:this.scope,rawImageData:l,encoding:this.encoding,padding:r};t.actor&&"expired"!==t.state||(t.actor=this.dispatcher.getActor(),t.actor.send("loadDEMTile",c,n.bind(this),void 0,!0))}}.bind(this))}_getNeighboringTiles(t){const i=t.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,o=0===i.x?t.wrap-1:t.wrap,s=(i.x+1+r)%r,a=i.x+1===r?t.wrap+1:t.wrap,l={};return l[new e.ap(t.overscaledZ,o,i.z,n,i.y).key]={backfilled:!1},l[new e.ap(t.overscaledZ,a,i.z,s,i.y).key]={backfilled:!1},i.y>0&&(l[new e.ap(t.overscaledZ,o,i.z,n,i.y-1).key]={backfilled:!1},l[new e.ap(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.ap(t.overscaledZ,a,i.z,s,i.y-1).key]={backfilled:!1}),i.y+10&&void 0!==arguments[0]&&arguments[0];if(this._pendingLoad)return void(this._coalesce=!0);this.fire(new e.b("dataloading",{dataType:"source"})),this._loaded=!1;const i=e.e({append:t},this.workerOptions);i.scope=this.scope;const r=this._data;"string"==typeof r?(i.request=this.map._requestManager.transformRequest(e.f.resolveURL(r),e.R.Source),i.request.collectResourceTiming=this._collectResourceTiming):i.data=JSON.stringify(r),this._pendingLoad=this.actor.send(`${this.type}.loadData`,i,((i,r)=>{if(this._loaded=!0,this._pendingLoad=null,i)this.fire(new e.a(i));else{const t={dataType:"source",sourceDataType:this._metadataFired?"content":"metadata"};this._collectResourceTiming&&r&&r.resourceTiming&&r.resourceTiming[this.id]&&(t.resourceTiming=r.resourceTiming[this.id]),this.fire(new e.b("data",t)),this._metadataFired=!0}this._coalesce&&(this._updateWorkerData(t),this._coalesce=!1)}))}loaded(){return this._loaded}loadTile(t,i){const r=t.actor?"reloadTile":"loadTile";t.actor=this.actor;const n={type:this.type,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,scope:this.scope,pixelRatio:e.f.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,brightness:this.map.style&&this.map.style.getBrightness()||0};t.request=this.actor.send(r,n,((e,n)=>(delete t.request,t.destroy(),t.aborted?i(null):e?i(e):(t.loadVectorData(n,this.map.painter,"reloadTile"===r),i(null)))),void 0,"loadTile"===r)}abortTile(e){e.request&&(e.request.cancel(),delete e.request),e.aborted=!0}unloadTile(e){this.actor.send("removeTile",{uid:e.uid,type:this.type,source:this.id,scope:this.scope}),e.destroy()}onRemove(){this._pendingLoad&&this._pendingLoad.cancel()}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}},video:class extends e.as{constructor(e,t,i,r){super(e,t,i,r),this.roundZoom=!0,this.type="video",this.options=t}load(){this._loaded=!1;const t=this.options;this.urls=[];for(const i of t.urls)this.urls.push(this.map._requestManager.transformRequest(i,e.R.Source).url);e.at(this.urls,((t,i)=>{this._loaded=!0,t?this.fire(new e.a(t)):i&&(this.video=i,this.video.loop=!0,this.video.setAttribute("playsinline",""),this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading())}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.a(new e.V(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new e.T(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),this.width=this.video.videoWidth,this.height=this.video.videoHeight),this._prepareData(t)}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}},image:e.as,model:class extends e.E{constructor(e,t,i,r){super(),this.id=e,this.type="model",this.models=[],this._loaded=!1,this._options=t}load(){const t=[];for(const i in this._options.models){const r=this._options.models[i],n=e.l(this.map._requestManager.transformRequest(r.uri,e.R.Model).url).then((t=>{if(!t)return;const n=e.c(t),o=new e.M(i,r.position,r.orientation,n);o.computeBoundsAndApplyParent(),this.models.push(o)})).catch((t=>{this.fire(new e.a(new Error(`Could not load model ${i} from ${r.uri}: ${t.message}`)))}));t.push(n)}return Promise.allSettled(t).then((()=>{this._loaded=!0,this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"}))})).catch((t=>{this.fire(new e.a(new Error(`Could not load models: ${t.message}`)))}))}onAdd(e){this.map=e,this.load()}hasTransition(){return!1}loaded(){return this._loaded}getModels(){return this.models}loadTile(e,t){}serialize(){return{type:"model"}}},"batched-model":class extends e.E{constructor(e,t,i,r){super(),this.type="batched-model",this.id=e,this.tileSize=512,this._options=t,this.tiles=this._options.tiles,this.maxzoom=t.maxzoom||19,this.minzoom=t.minzoom||0,this.roundZoom=!0,this.usedInConflation=!0,this.dispatcher=i,this.reparseOverscaled=!1,this.scheme="xyz",this._loaded=!1,this.setEventedParent(r)}onAdd(e){this.map=e,this.load()}load(t){this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"}));const i=Array.isArray(this.map._language)?this.map._language.join():this.map._language,r=this.map._worldview;this._tileJSONRequest=Ae(this._options,this.map._requestManager,i,r,((n,o)=>{this._tileJSONRequest=null,this._loaded=!0,n?(i&&console.warn(`Ensure that your requested language string is a valid BCP-47 code or list of codes. Found: ${i}`),r&&2!==r.length&&console.warn(`Requested worldview strings must be a valid ISO alpha-2 code. Found: ${r}`),this.fire(new e.a(n))):o&&(e.e(this,o),o.bounds&&(this.tileBounds=new Ie(o.bounds,this.minzoom,this.maxzoom)),e.am(o.tiles,this.map._requestManager._customAccessToken),this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))),t&&t(n)}))}hasTransition(){return!1}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loaded(){return this._loaded}loadTile(t,i){const r=this.map._requestManager.normalizeTileURL(t.tileID.canonical.url(this.tiles,this.scheme)),n={request:this.map._requestManager.transformRequest(r,e.R.Tile),data:void 0,uid:t.uid,tileID:t.tileID,tileZoom:t.tileZoom,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,scope:this.scope,showCollisionBoxes:this.map.showCollisionBoxes,isSymbolTile:t.isSymbolTile,brightness:this.map.style&&this.map.style.getBrightness()||0};if(t.actor&&"expired"!==t.state)if("loading"===t.state)t.reloadCallback=i;else{if(t.buckets){const e=Object.values(t.buckets);for(const t of e)t.dirty=!0;return void(t.state="loaded")}t.request=t.actor.send("reloadTile",n,o.bind(this))}else t.actor=this.dispatcher.getActor(),t.request=t.actor.send("loadTile",n,o.bind(this),void 0,!0);function o(e,r){return t.aborted?i(null):e&&404!==e.status?i(e):(r&&(r.resourceTiming&&(t.resourceTiming=r.resourceTiming),this.map._refreshExpiredTiles&&t.setExpiryData(r),t.buckets={...t.buckets,...r.buckets},r.featureIndex&&(t.latestFeatureIndex=r.featureIndex)),t.state="loaded",void i(null))}}serialize(){return e.e({},this._options)}},canvas:class extends e.as{constructor(t,i,r,n){super(t,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((e=>!Array.isArray(e)||2!==e.length||e.some((e=>"number"!=typeof e))))||this.fire(new e.a(new e.V(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.a(new e.V(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.a(new e.V(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),i.canvas?"string"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.a(new e.V(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.a(new e.V(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.a(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context;this.texture?!t&&!this._playing||this.texture instanceof e.au||this.texture.update(this.canvas,{premultiply:!0}):this.texture=new e.T(i,this.canvas,i.gl.RGBA,{premultiply:!0}),this._prepareData(i)}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}},custom:class extends e.E{constructor(t,i,r,n){super(),this.id=t,this.type="custom",this._dataType="raster",this._dispatcher=r,this._implementation=i,this.setEventedParent(n),this.scheme="xyz",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this._loaded=!1,this.roundZoom=!0,this._implementation||this.fire(new e.a(new Error(`Missing implementation for ${this.id} custom source`))),this._implementation.loadTile||this.fire(new e.a(new Error(`Missing loadTile implementation for ${this.id} custom source`))),this._implementation.bounds&&(this.tileBounds=new Ie(this._implementation.bounds,this.minzoom,this.maxzoom)),i.update=this._update.bind(this),i.clearTiles=this._clearTiles.bind(this),i.coveringTiles=this._coveringTiles.bind(this),e.e(this,e.af(i,["dataType","scheme","minzoom","maxzoom","tileSize","attribution","minTileCacheSize","maxTileCacheSize"]))}serialize(){return e.af(this,["type","scheme","minzoom","maxzoom","tileSize","attribution"])}load(){this._loaded=!0,this.fire(new e.b("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))}loaded(){return this._loaded}onAdd(t){this._map=t,this._loaded=!1,this.fire(new e.b("dataloading",{dataType:"source"})),this._implementation.onAdd&&this._implementation.onAdd(t),this.load()}onRemove(e){this._implementation.onRemove&&this._implementation.onRemove(e)}hasTile(e){if(this._implementation.hasTile){const{x:t,y:i,z:r}=e.canonical;return this._implementation.hasTile({x:t,y:i,z:r})}return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e,t){const{x:i,y:r,z:n}=e.tileID.canonical,o=new AbortController;e.request=Promise.resolve(this._implementation.loadTile({x:i,y:r,z:n},{signal:o.signal})).then(function(i){return delete e.request,e.aborted?(e.state="unloaded",t(null)):void 0===i?(e.state="errored",t(null)):null===i?(this.loadTileData(e,{width:this.tileSize,height:this.tileSize,data:null}),e.state="loaded",t(null)):function(e){return e instanceof ImageData||e instanceof HTMLCanvasElement||e instanceof ImageBitmap||e instanceof HTMLImageElement}(i)?(this.loadTileData(e,i),e.state="loaded",void t(null)):(e.state="errored",t(new Error(`Can't infer data type for ${this.id}, only raster data supported at the moment`)))}.bind(this)).catch((i=>{20!==i.code&&(e.state="errored",t(i))})),e.request.cancel=()=>o.abort()}loadTileData(e,t){e.setTexture(t,this._map.painter)}unloadTile(t,i){if(t.texture&&t.texture instanceof e.T?(t.destroy(!0),t.texture&&t.texture instanceof e.T&&this._map.painter.saveTileTexture(t.texture)):t.destroy(),this._implementation.unloadTile){const{x:e,y:i,z:r}=t.tileID.canonical;this._implementation.unloadTile({x:e,y:i,z:r})}i()}abortTile(e,t){e.request&&e.request.cancel&&(e.request.cancel(),delete e.request),t()}hasTransition(){return!1}_coveringTiles(){return this._map.transform.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,roundZoom:this.roundZoom}).map((e=>({x:e.canonical.x,y:e.canonical.y,z:e.canonical.z})))}_clearTiles(){const t=e.aj(this.id,this.scope);this._map.style.clearSource(t)}_update(){this.fire(new e.b("data",{dataType:"source",sourceDataType:"content"}))}}},Ut=function(t,i,r,n){const o=new Vt[i.type](t,i,r,n);if(o.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${o.id}`);return e.a$(["load","abort","unload","serialize","prepare"],o),o};function jt(t,i){const r=e.a9.identity([]);return e.a9.scale(r,r,[.5*t.width,.5*-t.height,1]),e.a9.translate(r,r,[1,-1,0]),e.a9.multiply(r,r,t.calculateProjMatrix(i.toUnwrapped())),Float32Array.from(r)}function Gt(e,t,i,r,n,o,s){let a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const l=e.tilesIn(r,s,a);l.sort(Zt);const c=[];for(const u of l)c.push({wrappedTileID:u.tile.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(t,i,e._state,u,n,o,jt(e.transform,u.tile.tileID),a)});const h=function(e){const t={},i={};for(const r of e){const e=r.queryResults,n=r.wrappedTileID,o=i[n]=i[n]||{};for(const i in e){const r=e[i],n=o[i]=o[i]||{},s=t[i]=t[i]||[];for(const e of r)n[e.featureIndex]||(n[e.featureIndex]=!0,s.push(e))}}return t}(c);for(const u in h)h[u].forEach((t=>{const i=t.feature,r=i.layer;r&&"background"!==r.type&&"sky"!==r.type&&"slot"!==r.type&&(i.source=r.source,r["source-layer"]&&(i.sourceLayer=r["source-layer"]),i.state=void 0!==i.id?e.getFeatureState(r["source-layer"],i.id):{})}));return h}function qt(e,t){const i=e.getRenderableIds().map((t=>e.getTileByID(t))),r=[],n={};for(let o=0;o0&&void 0!==arguments[0]?arguments[0]:16384,i=arguments.length>1?arguments[1]:void 0;const r=this._mrt=new e.b0(30),n=Object.assign({},this.requestParams,{headers:{Range:"bytes=0-"+(t-1)}});return this.entireBuffer=null,this.request=e.b1(n,((e,n,o,s)=>{if(e)i(e);else try{const e=r.getHeaderLength(n);if(e>t)return void(this.request=this.fetchHeader(e,i));r.parseHeader(n),this._isHeaderLoaded=!0;let a=0;for(const t of Object.values(r.layers))a=Math.max(a,t.dataIndex[t.dataIndex.length-1].last_byte);n.byteLength>=a&&(this.entireBuffer=n),i(null,this.entireBuffer||n,o,s)}catch(e){i(e)}})),this.request}fetchBand(t,i,r){const n=this._mrt;if(!this._isHeaderLoaded||!n)return void r(new Error("Tile header is not ready"));const o=this.actor;if(!o)return void r(new Error("Can't fetch tile band without an actor"));let s;const a=(e,n)=>{s.complete(e,n),e?r(e):(this.updateTextureDescriptor(t,i),r(null,this.textureDescriptor&&this.textureDescriptor.img))},l=(e,t)=>{if(e)return r(e);const i=o.send("decodeRasterArray",{buffer:t,task:s},a,void 0,!0);this._workQueue.push((()=>{i&&i.cancel(),s.cancel()}))},c=n.getLayer(t);if(!c)return void r(new Error(`Unknown sourceLayer "${t}"`));if(c.hasDataForBand(i))return this.updateTextureDescriptor(t,i),void r(null,this.textureDescriptor?this.textureDescriptor.img:null);const h=c.getDataRange([i]);if(s=n.createDecodingTask(h),!s||s.tasks.length)if(this.flushQueues(),this.entireBuffer)l(null,this.entireBuffer.slice(h.firstByte,h.lastByte+1));else{const t=Object.assign({},this.requestParams,{headers:{Range:`bytes=${h.firstByte}-${h.lastByte}`}}),i=e.b1(t,l);this._fetchQueue.push((()=>{i.cancel(),s.cancel()}))}else r(null)}updateNeeded(e,t){return(!this.textureDescriptor||this.textureDescriptor.band!==t||this.textureDescriptor.layer!==e)&&"errored"!==this.state}updateTextureDescriptor(t,i){if(!this._mrt)return;const r=this._mrt.getLayer(t);if(!r||!r.hasBand(i)||!r.hasDataForBand(i))return;const{bytes:n,tileSize:o,buffer:s,offset:a,scale:l}=r.getBandView(i),c=o+2*s,h={data:n,width:c,height:c},u=this.texture;u&&u instanceof e.T&&u.update(h,{useMipmap:!1,premultiply:!1}),this.textureDescriptor={layer:t,band:i,img:h,buffer:s,offset:a,tileSize:o,format:r.pixelFormat,mix:[l,256*l,65536*l,16777216*l]}}}class Wt{constructor(e,t){this.max=e,this.onRemove=t,this.reset()}reset(){for(const e in this.data)for(const t of this.data[e])t.timeout&&clearTimeout(t.timeout),this.onRemove(t.value);return this.data={},this.order=[],this}add(e,t,i){const r=e.wrapped().key;void 0===this.data[r]&&(this.data[r]=[]);const n={value:t,timeout:void 0};if(void 0!==i&&(n.timeout=setTimeout((()=>{this.remove(e,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const 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){const t=this.data[e].shift();return t.timeout&&clearTimeout(t.timeout),0===this.data[e].length&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),t.value}getByKey(e){const 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;const i=e.wrapped().key,r=void 0===t?0:this.data[i].indexOf(t),n=this.data[i][r];return this.data[i].splice(r,1),n.timeout&&clearTimeout(n.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(n.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this}filter(e){const t=[];for(const i in this.data)for(const r of this.data[i])e(r.value)||t.push(r);for(const i of t)this.remove(i.value.tileID,i)}}class Qt extends e.E{constructor(e,t,i){super(),this.id=e,this._onlySymbols=i,t.on("data",(e=>{"source"===e.dataType&&"metadata"===e.sourceDataType&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===e.dataType&&"content"===e.sourceDataType&&(this.reload(),this.transform&&this.update(this.transform))})),t.on("error",(()=>{this._sourceErrored=!0})),this._source=t,this._tiles={},this._cache=new Wt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._loadedParentTiles={},this.castsShadows=!1,this.tileCoverLift=0,this._coveredTiles={},this._shadowCasterTiles={},this._state=new v,this._isRaster="raster"===this._source.type||"raster-dem"===this._source.type||"raster-array"===this._source.type||"custom"===this._source.type&&"raster"===this._source._dataType}onAdd(e){this.map=e,this._minTileCacheSize=void 0===this._minTileCacheSize&&e?e._minTileCacheSize:this._minTileCacheSize,this._maxTileCacheSize=void 0===this._maxTileCacheSize&&e?e._maxTileCacheSize:this._maxTileCacheSize}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(const e in this._tiles){const t=this._tiles[e];if("errored"!==t.state&&("loaded"!==t.state||!t.bucketsLoaded()))return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform)}_loadTile(e,t){return e.isSymbolTile=this._onlySymbols,e.isExtraShadowCaster=this._shadowCasterTiles[e.tileID.key],this._source.loadTile(e,t)}_unloadTile(e){if(this._source.unloadTile)return this._source.unloadTile(e,(()=>{}))}_abortTile(e){if(this._source.abortTile)return this._source.abortTile(e,(()=>{}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const t in this._tiles){const i=this._tiles[t];i.upload(e),i.prepare(this.map.style.imageManager,this.map?this.map.painter:null,this._source.scope)}}getIds(){return e.b2(this._tiles).map((e=>e.tileID)).sort(Ht).map((e=>e.key))}getRenderableIds(t,i){const r=[];for(const e in this._tiles)this._isIdRenderable(+e,t,i)&&r.push(this._tiles[e]);return t?r.sort(((t,i)=>{const r=t.tileID,n=i.tileID,o=new e.P(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),s=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||s.y-o.y||s.x-o.x})).map((e=>e.tileID.key)):r.map((e=>e.tileID)).sort(Ht).map((e=>e.key))}hasRenderableParent(e){const t=this.findLoadedParent(e,0);return!!t&&this._isIdRenderable(t.tileID.key)}_isIdRenderable(e,t,i){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(t||!this._tiles[e].holdingForFade())&&(i||!this._shadowCasterTiles[e])}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)"errored"!==this._tiles[e].state&&this._reloadTile(+e,"reloading")}}_reloadTile(e,t){const i=this._tiles[e];i&&("loading"!==i.state&&(i.state=t),this._loadTile(i,this._tileLoaded.bind(this,i,e,t)))}_tileLoaded(t,i,r,n){if(n)if(t.state="errored",404!==n.status)this._source.fire(new e.a(n,{tile:t}));else{if(!(t.tileID.key in this._loadedParentTiles))return void this._source.fire(new e.b("data",{dataType:"source",sourceDataType:"error",sourceId:this._source.id}));if("raster-dem"===this._source.type&&this.usedForTerrain&&this.map.painter.terrain){const e=this.map.painter.terrain;this.update(this.transform,e.getScaledDemTileSize(),!0),e.resetTileLookupCache(this.id)}else this.update(this.transform)}else t.timeAdded=e.f.now(),"expired"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),"raster-dem"===this._source.type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),this._source.fire(new e.b("data",{dataType:"source",tile:t,coord:t.tileID,sourceCacheId:this.id}))}_backfillDEM(e){const t=this.getRenderableIds();for(let r=0;r1||(Math.abs(i)>1&&(1===Math.abs(i+n)?i+=n:1===Math.abs(i-n)&&(i-=n)),t.dem&&e.dem&&(e.dem.backfillBorder(t.dem,i,r),e.neighboringTiles&&e.neighboringTiles[o]&&(e.neighboringTiles[o].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,t,i,r){for(const n in this._tiles){let o=this._tiles[n];if(r[n]||!o.hasData()||o.tileID.overscaledZ<=t||o.tileID.overscaledZ>i)continue;let s=o.tileID;for(;o&&o.tileID.overscaledZ>t+1;){const e=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[e.key],o&&o.hasData()&&(s=e)}let a=s;for(;a.overscaledZ>t;)if(a=a.scaledTo(a.overscaledZ-1),e[a.key]){r[s.key]=s;break}}}findLoadedParent(e,t){if(e.key in this._loadedParentTiles){const i=this._loadedParentTiles[e.key];return i&&i.tileID.overscaledZ>=t?i:null}for(let i=e.overscaledZ-1;i>=t;i--){const t=e.scaledTo(i),r=this._getLoadedTile(t);if(r)return r}}_getLoadedTile(e){const t=this._tiles[e.key];return t&&t.hasData()?t:this._cache.getByKey(this._source.reparseOverscaled?e.wrapped().key:e.canonical.key)}updateCacheSize(e,t){t=t||this._source.tileSize;const i=Math.ceil(e.width/t)+1,r=Math.ceil(e.height/t)+1,n=Math.floor(i*r*5),o="number"==typeof this._minTileCacheSize?Math.max(this._minTileCacheSize,n):n,s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,o):o;this._cache.setMaxSize(s)}handleWrapJump(e){const t=Math.round((e-(void 0===this._prevLng?e:this._prevLng))/360);if(this._prevLng=e,t){const e={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+t),e[r.tileID.key]=r}this._tiles=e;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(+t,this._tiles[t])}}update(t,i,r,n){if(this.transform=t,!this._sourceLoaded||this._paused||this.transform.freezeTileCoverage)return;if(this.usedForTerrain&&!r)return;let o;if(this.updateCacheSize(t,i),"globe"!==this.transform.projection.name&&this.handleWrapJump(this.transform.center.lng),this._shadowCasterTiles={},this._coveredTiles={},this.used||this.usedForTerrain)if(this._source.tileID)o=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.ap(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y)));else if(0!==this.tileCoverLift){const n=t.clone();n.tileCoverLift=this.tileCoverLift,o=n.coveringTiles({tileSize:i||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.minzoom<=1&&"globe"===t.projection.name&&(o.push(new e.ap(1,0,1,0,0)),o.push(new e.ap(1,0,1,1,0)),o.push(new e.ap(1,0,1,0,1)),o.push(new e.ap(1,0,1,1,1)))}else o=t.coveringTiles({tileSize:i||this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!r,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain}),this._source.hasTile&&(o=o.filter((e=>this._source.hasTile(e))));else o=[];if(o.length>0&&this.castsShadows&&n&&"globe"!==this.transform.projection.name&&!this.usedForTerrain&&!Xt(this._source.type)){const e=t.coveringZoomLevel({tileSize:i||this._source.tileSize,roundZoom:this._source.roundZoom&&!r}),s=Math.min(e,this._source.maxzoom),a=t.extendTileCoverForShadows(o,n,s);for(const t of a)this._shadowCasterTiles[t.key]=!0,o.push(t)}const s=this._updateRetainedTiles(o);if(Xt(this._source.type)&&0!==o.length){const t={},i={},r=Object.keys(s);for(const o of r){const r=s[o],n=this._tiles[o];if(!n||n.fadeEndTime&&n.fadeEndTime<=e.f.now())continue;const a=this.findLoadedParent(r,Math.max(r.overscaledZ-Qt.maxOverzooming,this._source.minzoom));a&&(this._addTile(a.tileID),t[a.tileID.key]=a.tileID),i[o]=r}const n=o[o.length-1].overscaledZ;for(const e in this._tiles){const t=this._tiles[e];if(s[e]||!t.hasData())continue;let r=t.tileID;for(;r.overscaledZ>n;){r=r.scaledTo(r.overscaledZ-1);const n=this._tiles[r.key];if(n&&n.hasData()&&i[r.key]){s[e]=t.tileID;break}}}for(const e in t)s[e]||(this._coveredTiles[e]=!0,s[e]=t[e])}for(const e in s)this._tiles[e].clearFadeHold();const a=e.b3(this._tiles,s);for(const e of a){const t=this._tiles[e];t.hasSymbolBuckets&&!t.holdingForFade()?t.setHoldDuration(this.map._fadeDuration):t.hasSymbolBuckets&&!t.symbolFadeFinished()||this._removeTile(+e)}this._updateLoadedParentTileCache(),this._onlySymbols&&this._source.afterUpdate&&this._source.afterUpdate()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(+e)}_updateRetainedTiles(e){const t={};if(0===e.length)return t;const i={},r=e.reduce(((e,t)=>Math.min(e,t.overscaledZ)),1/0),n=e[0].overscaledZ,o=Math.max(n-Qt.maxOverzooming,this._source.minzoom),s=Math.max(n+Qt.maxUnderzooming,this._source.minzoom),a={};for(const l of e){const e=this._addTile(l);t[l.key]=l,e.hasData()||r=this._source.maxzoom){const e=l.children(this._source.maxzoom)[0],i=this.getTile(e);if(i&&i.hasData()){t[e.key]=e;continue}}else{const e=l.children(this._source.maxzoom);if(t[e[0].key]&&t[e[1].key]&&t[e[2].key]&&t[e[3].key])continue}let r=e.wasRequested();for(let n=l.overscaledZ-1;n>=o;--n){const o=l.scaledTo(n);if(i[o.key])break;if(i[o.key]=!0,e=this.getTile(o),!e&&r&&(e=this._addTile(o)),e&&(t[o.key]=o,r=e.wasRequested(),e.hasData()))break}}return t}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const t=[];let i,r=this._tiles[e].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}t.push(r.key);const e=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(e),i)break;r=e}for(const e of t)this._loadedParentTiles[e]=i}}_addTile(t){let i=this._tiles[t.key];if(i)return!0!==i.isExtraShadowCaster||!!this._shadowCasterTiles[t.key]||this._reloadTile(t.key,"reloading"),i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const r=Boolean(i);if(!r){const e=this.map?this.map.painter:null,r=this._source.tileSize*t.overscaleFactor();i="raster-array"===this._source.type?new $t(t,r,this.transform.tileZoom,e,this._isRaster):new Nt(t,r,this.transform.tileZoom,e,this._isRaster),this._loadTile(i,this._tileLoaded.bind(this,i,t.key,i.state))}return i?(i.uses++,this._tiles[t.key]=i,r||this._source.fire(new e.b("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i):null}_setTileReloadTimer(e,t){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const i=t.getExpiryTimeout();i&&(this._timers[e]=setTimeout((()=>{this._reloadTile(e,"expired"),delete this._timers[e]}),i))}_removeTile(e){const t=this._tiles[e];t&&(t.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),t.uses>0||(t.hasData()&&"reloading"!==t.state||"empty"===t.state?this._cache.add(t.tileID,t,t.getExpiryTimeout()):(t.aborted=!0,this._abortTile(t),this._unloadTile(t))))}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(+e);this._source._clear&&this._source._clear(),this._cache.reset(),this.map&&this.usedForTerrain&&this.map.painter.terrain&&this.map.painter.terrain.resetTileLookupCache(this.id)}tilesIn(t,i,r){const n=[],o=this.transform;if(!o)return n;const s="globe"===o.projection.name,a=e.a8(o.center.lng);for(const l in this._tiles){const c=this._tiles[l];if(r&&c.clearQueryDebugViz(),c.holdingForFade())continue;let h;if(s){const t=c.tileID.canonical;if(0===t.z){const i=[Math.abs(e.ad(a,...Yt(t,-1))-a),Math.abs(e.ad(a,...Yt(t,1))-a)];h=[0,2*i.indexOf(Math.min(...i))-1]}else{const i=[Math.abs(e.ad(a,...Yt(t,-1))-a),Math.abs(e.ad(a,...Yt(t,0))-a),Math.abs(e.ad(a,...Yt(t,1))-a)];h=[i.indexOf(Math.min(...i))-1]}}else h=[0];for(const e of h){const r=t.containsTile(c,o,i,e);r&&n.push(r)}}return n}getShadowCasterCoordinates(){return this._getRenderableCoordinates(!1,!0)}getVisibleCoordinates(e){return this._getRenderableCoordinates(e)}_getRenderableCoordinates(e,t){const i=this.getRenderableIds(e,t).map((e=>this._tiles[e].tileID)),r="globe"===this.transform.projection.name;for(const n of i)n.projMatrix=this.transform.calculateProjMatrix(n.toUnwrapped()),n.expandedProjMatrix=r?this.transform.calculateProjMatrix(n.toUnwrapped(),!1,!0):n.projMatrix;return i}sortCoordinatesByDistance(e){const t=e.slice(),i=this.transform._camera.position,r=this.transform._camera.forward(),n={};for(const o of t){const e=1/(1<n[e.key]-n[t.key])),t}hasTransition(){if(this._source.hasTransition())return!0;if(Xt(this._source.type))for(const t in this._tiles){const i=this._tiles[t];if(void 0!==i.fadeEndTime&&i.fadeEndTime>=e.f.now())return!0}return!1}setFeatureState(e,t,i){this._state.updateState(e=e||"_geojsonTileLayer",t,i)}removeFeatureState(e,t,i){this._state.removeFeatureState(e=e||"_geojsonTileLayer",t,i)}getFeatureState(e,t){return this._state.getState(e=e||"_geojsonTileLayer",t)}setDependencies(e,t,i){const r=this._tiles[e];r&&r.setDependencies(t,i)}reloadTilesForDependencies(e,t){for(const i in this._tiles)this._tiles[i].hasDependency(e,t)&&this._reloadTile(+i,"reloading");this._cache.filter((i=>!i.hasDependency(e,t)))}_preloadTiles(t,i){if(!this._sourceLoaded){const e=()=>{this._sourceLoaded&&(this._source.off("data",e),this._preloadTiles(t,i))};return void this._source.on("data",e)}const r=new Map,n=Array.isArray(t)?t:[t],o=this.map.painter.terrain,s=this.usedForTerrain&&o?o.getScaledDemTileSize():this._source.tileSize;for(const e of n){const t=e.coveringTiles({tileSize:s,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom&&!this.usedForTerrain,reparseOverscaled:this._source.reparseOverscaled,isTerrainDEM:this.usedForTerrain});for(const e of t)r.set(e.key,e);this.usedForTerrain&&e.updateElevation(!1)}const a=Array.from(r.values());e.b4(a,((e,t)=>{const i=new Nt(e,this._source.tileSize*e.overscaleFactor(),this.transform.tileZoom,this.map.painter,this._isRaster);this._loadTile(i,(e=>{"raster-dem"===this._source.type&&i.dem&&this._backfillDEM(i),t(e,i)}))}),i)}}function Ht(e,t){const i=Math.abs(2*e.wrap)-+(e.wrap<0),r=Math.abs(2*t.wrap)-+(t.wrap<0);return e.overscaledZ-t.overscaledZ||r-i||t.canonical.y-e.canonical.y||t.canonical.x-e.canonical.x}function Xt(e){return"raster"===e||"image"===e||"video"===e||"custom"===e}function Yt(e,t){const i=1<0:"model"===i.type&&(r=!i.isHidden(e)&&i.paint.get("model-opacity")>0),this.layersGotHidden=this.layersGotHidden||!r&&t.visible,t.visible=r}}updateZOffset(e,t){this.currentBuildingBuckets=[];for(const r of this.layers){const e=r.layer,i=this.style.getLayerSourceCache(e);let n=1;"fill-extrusion"===e.type&&(n=r.visible?e.paint.get("fill-extrusion-vertical-scale"):0);let o=i?i.getTile(t):null;if(!o&&i&&t.canonical.z>i.getSource().minzoom){let e=t.scaledTo(Math.min(i.getSource().maxzoom,t.overscaledZ-1));for(;e.overscaledZ>=i.getSource().minzoom&&(o=i.getTile(e),!o&&0!==e.overscaledZ);)e=e.scaledTo(e.overscaledZ-1)}this.currentBuildingBuckets.push({bucket:o?o.getBucket(e):null,tileID:o?o.tileID:t,verticalScale:n})}e.hasAnyZOffset=!1;let i=!1;for(let r=0;r{e in i&&(r[e]=i[e])})),r}function ei(e){e=e.slice();const t=Object.create(null);for(let i=0;i0?(n-s)/a:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}class hi{constructor(e,t,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(e/i),this.yCellCount=Math.ceil(t/i);for(let o=0;othis.width||r<0||t>this.height)return!n&&[];const s=[];if(e<=0&&t<=0&&this.width<=i&&this.height<=r){if(n)return!0;for(let e=0;e0:s}_queryCircle(e,t,i,r,n){const o=e-i,s=e+i,a=t-i,l=t+i;if(s<0||o>this.width||l<0||a>this.height)return!r&&[];const c=[];return this._forEachCell(o,a,s,l,this._queryCellCircle,c,{hitTest:r,circle:{x:e,y:t,radius:i},seenUids:{box:{},circle:{}}},n),r?c.length>0:c}query(e,t,i,r,n){return this._query(e,t,i,r,!1,n)}hitTest(e,t,i,r,n){return this._query(e,t,i,r,!0,n)}hitTestCircle(e,t,i,r){return this._queryCircle(e,t,i,!0,r)}_queryCell(e,t,i,r,n,o,s,a){const l=s.seenUids,c=this.boxCells[n];if(null!==c){const n=this.bboxes;for(const h of c)if(!l.box[h]){l.box[h]=!0;const c=4*h;if(e<=n[c+2]&&t<=n[c+3]&&i>=n[c+0]&&r>=n[c+1]&&(!a||a(this.boxKeys[h]))){if(s.hitTest)return o.push(!0),!0;o.push({key:this.boxKeys[h],x1:n[c],y1:n[c+1],x2:n[c+2],y2:n[c+3]})}}}const h=this.circleCells[n];if(null!==h){const n=this.circles;for(const c of h)if(!l.circle[c]){l.circle[c]=!0;const h=3*c;if(this._circleAndRectCollide(n[h],n[h+1],n[h+2],e,t,i,r)&&(!a||a(this.circleKeys[c]))){if(s.hitTest)return o.push(!0),!0;{const e=n[h],t=n[h+1],i=n[h+2];o.push({key:this.circleKeys[c],x1:e-i,y1:t-i,x2:e+i,y2:t+i})}}}}}_queryCellCircle(e,t,i,r,n,o,s,a){const l=s.circle,c=s.seenUids,h=this.boxCells[n];if(null!==h){const e=this.bboxes;for(const t of h)if(!c.box[t]){c.box[t]=!0;const i=4*t;if(this._circleAndRectCollide(l.x,l.y,l.radius,e[i+0],e[i+1],e[i+2],e[i+3])&&(!a||a(this.boxKeys[t])))return o.push(!0),!0}}const u=this.circleCells[n];if(null!==u){const e=this.circles;for(const t of u)if(!c.circle[t]){c.circle[t]=!0;const i=3*t;if(this._circlesCollide(e[i],e[i+1],e[i+2],l.x,l.y,l.radius)&&(!a||a(this.circleKeys[t])))return o.push(!0),!0}}}_forEachCell(e,t,i,r,n,o,s,a){const l=this._convertToXCellCoord(e),c=this._convertToYCellCoord(t),h=this._convertToXCellCoord(i),u=this._convertToYCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++)if(n.call(this,e,t,i,r,this.xCellCount*l+d,o,s,a))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,t,i,r,n,o){const s=r-e,a=n-t,l=i+o;return l*l>s*s+a*a}_circleAndRectCollide(e,t,i,r,n,o,s){const a=(o-r)/2,l=Math.abs(e-(r+a));if(l>a+i)return!1;const c=(s-n)/2,h=Math.abs(t-(n+c));if(h>c+i)return!1;if(l<=a||h<=c)return!0;const u=l-a,d=h-c;return u*u+d*d<=i*i}}const ui={unknown:0,flipRequired:1,flipNotRequired:2},di=Math.tan(85*Math.PI/180);function pi(t,i,r,n,o,s,a){const l=e.a9.create();if(r)if("globe"===s.name){const t=e.b6(o,i);e.a9.multiply(l,l,t)}else{const t=e.b7.invert([],a);l[0]=t[0],l[1]=t[1],l[4]=t[2],l[5]=t[3],n||e.a9.rotateZ(l,l,o.angle)}else e.a9.multiply(l,o.labelPlaneMatrix,t);return l}function fi(e,t,i,r,n,o,s){const a=pi(e,t,i,r,n,o,s);return"globe"===o.name&&i||(a[2]=a[6]=a[10]=a[14]=0),a}function mi(t,i,r,n,o,s,a){if(r){if("globe"===s.name){const l=pi(t,i,r,n,o,s,a);return e.a9.invert(l,l),e.a9.multiply(l,t,l),l}{const i=e.a9.clone(t),r=e.a9.identity([]);return r[0]=a[0],r[1]=a[1],r[4]=a[2],r[5]=a[3],e.a9.multiply(i,i,r),n||e.a9.rotateZ(i,i,-o.angle),i}}return o.glCoordMatrix}function _i(t,i,r,n){const o=[t,i,r,1];r?e.aa.transformMat4(o,o,n):Ai(o,o,n);const s=o[3];return o[0]/=s,o[1]/=s,o[2]/=s,o}function gi(e,t){return Math.min(.5+e/t*.5,1.5)}function yi(e,t){const i=e[0]/e[3],r=e[1]/e[3];return i>=-t[0]&&i<=t[0]&&r>=-t[1]&&r<=t[1]}function xi(t,i,r,n,o,s,a,l,c,h){const u=r.transform,d=n?t.textSizeData:t.iconSizeData,p=e.b8(d,r.transform.zoom),f="globe"===u.projection.name,m=[256/r.width*2+1,256/r.height*2+1],_=n?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;_.clear();let g=null;f&&(g=n?t.text.globeExtVertexArray:t.icon.globeExtVertexArray);const y=t.lineVertexArray,x=n?t.text.placedSymbolArray:t.icon.placedSymbolArray,v=r.transform.width/r.transform.height;let b,w=!1;for(let T=0;TMath.abs(r)?{useVertical:!0}:t===e.b9.vertical?n>0?{needsFlipping:!0}:null:i!==ui.unknown&&function(e,t){return 0===e||Math.abs(t/e)>di}(r,n)?i===ui.flipRequired?{needsFlipping:!0}:null:r<0?{needsFlipping:!0}:null}function wi(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x){const v=i/24,b=t.lineOffsetX*v,w=t.lineOffsetY*v,{lineStartIndex:T,glyphStartIndex:E,numGlyphs:S,segment:M,writingMode:A,flipState:I}=t,C=T+t.lineLength,P=t=>{if(u){const[i,r,n]=t.up,o=h.length;e.bb(u,o+0,i,r,n),e.bb(u,o+1,i,r,n),e.bb(u,o+2,i,r,n),e.bb(u,o+3,i,r,n)}const[i,r,n]=t.point;e.bc(h,i,r,n,t.angle)};if(S>1){const e=vi(v,l,b,w,r,d,p,t,c,s,f,_,!1,g,y,x);if(!e)return{notEnoughRoom:!0};if(n&&!r){let[i,r,n]=e.first.point,[o,s,l]=e.last.point;[i,r]=_i(i,r,n,a),[o,s]=_i(o,s,l,a);const c=bi(A,I,(o-i)*m,s-r);if(t.flipState=c&&c.needsFlipping?ui.flipRequired:ui.flipNotRequired,c)return c}P(e.first);for(let t=E+1;t0?s:Ei(p,n,i,1,o,void 0,g,y.canonical),l=bi(A,I,(a[0]-i[0])*m,a[1]-i[1]);if(t.flipState=l&&l.needsFlipping?ui.flipRequired:ui.flipNotRequired,l)return l}const i=Si(v*l.getoffsetX(E),b,w,r,d,p,M,T,C,c,s,f,_,!1,!1,g,y,x);if(!i)return{notEnoughRoom:!0};P(i)}return{}}function Ti(e,t,i,r,n){const{x:o,y:s,z:a}=r.projectTilePoint(e.x,e.y,t);if(!n)return _i(o,s,a,i);const[l,c,h]=n(e);return _i(o+l,s+c,a+h,i)}function Ei(t,i,r,n,o,s,a,l){const c=Ti(t.sub(i)._unit()._add(t),l,o,a,s);return e.Q.sub(c,r,c),e.Q.normalize(c,c),e.Q.scaleAndAdd(c,r,c,n)}function Si(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y){const x=n?t-i:t+i;let v=x>0?1:-1,b=0;n&&(v*=-1,b=Math.PI),v<0&&(b+=Math.PI);let w=l+a+(v>0?0:1)|0,T=o,E=o,S=0,M=0;const A=Math.abs(x),I=[],C=[];let P=s,z=P;const D=()=>Ei(z,P,E,A-S+1,u,p,_,g.canonical);for(;S+M<=A;){if(w+=v,w=c)return null;if(E=T,z=P,I.push(E),f&&C.push(z),P=new e.P(h.getx(w),h.gety(w)),T=d[w],!T){const e=Ti(P,g.canonical,u,_,p);T=e[3]>0?d[w]=e:D()}S+=M,M=e.Q.distance(E,T)}m&&p&&(d[w]&&(T=D(),M=e.Q.distance(E,T)),d[w]=T);const R=(A-S)/M,L=P.sub(z)._mult(R)._add(z),k=e.Q.sub([],T,E),O=e.Q.scaleAndAdd([],E,k,R);let B=[0,0,1],F=k[0],N=k[1];if(y&&(B=_.upVector(g.canonical,L.x,L.y),0!==B[0]||0!==B[1]||1!==B[2])){const t=[B[2],0,-B[0]],i=e.Q.cross([],B,t);e.Q.normalize(t,t),e.Q.normalize(i,i),F=e.Q.dot(k,t),N=e.Q.dot(k,i)}if(r){const t=e.Q.cross([],B,k);e.Q.normalize(t,t),e.Q.scaleAndAdd(O,O,t,r*v)}const V=b+Math.atan2(N,F);return I.push(O),f&&C.push(L),{point:O,angle:V,path:I,tilePath:C,up:B}}function Mi(e,t){const i=t.length,r=i+4*e;t.resize(r),t.float32.fill(-1/0,4*i,4*r)}function Ai(e,t,i){const r=t[0],n=t[1];return e[0]=i[0]*r+i[4]*n+i[12],e[1]=i[1]*r+i[5]*n+i[13],e[3]=i[3]*r+i[7]*n+i[15],e}const Ii=100;class Ci{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new hi(e.width+200,e.height+200,25),r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new hi(e.width+200,e.height+200,25);this.transform=e,this.grid=i,this.ignoredGrid=r,this.pitchfactor=Math.cos(e._pitch)*e.cameraToCenterDistance,this.screenRightBoundary=e.width+Ii,this.screenBottomBoundary=e.height+Ii,this.gridRightBoundary=e.width+200,this.gridBottomBoundary=e.height+200,this.fogState=t}placeCollisionBox(e,t,i,r,n,o,s,a){let l=i.projectedAnchorX,c=i.projectedAnchorY,h=i.projectedAnchorZ;const u=i.elevation,d=i.tileID,p=e.getProjection();if(u&&d){const[e,t,r]=p.upVector(d.canonical,i.tileAnchorX,i.tileAnchorY),n=p.upVectorScale(d.canonical,this.transform.center.lat,this.transform.worldSize).metersToTile;l+=e*u*n,c+=t*u*n,h+=r*u*n}const f=this.projectAndGetPerspectiveRatio(s,l,c,h,i.tileID,"globe"===p.name||!!u||this.transform.pitch>0,p),m=o*f.perspectiveRatio,_=(i.x1*t+r.x-i.padding)*m+f.point.x,g=(i.y1*t+r.y-i.padding)*m+f.point.y,y=(i.x2*t+r.x+i.padding)*m+f.point.x,x=(i.y2*t+r.y+i.padding)*m+f.point.y,v=f.perspectiveRatio<=.55||f.occluded;return!this.isInsideGrid(_,g,y,x)||!n&&this.grid.hitTest(_,g,y,x,a)||v?{box:[],offscreen:!1,occluded:f.occluded}:{box:[_,g,y,x],offscreen:this.isOffscreen(_,g,y,x),occluded:!1}}placeCollisionCircles(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=[],g=this.transform.elevation,y=t.getProjection(),x=g?g.getAtTileOffsetFunc(m,this.transform.center.lat,this.transform.worldSize,y):null,v=new e.P(r.tileAnchorX,r.tileAnchorY);let{x:b,y:w,z:T}=y.projectTilePoint(v.x,v.y,m.canonical);if(x){const[e,t,i]=x(v);b+=e,w+=t,T+=i}const E="globe"===y.name,S=this.projectAndGetPerspectiveRatio(a,b,w,T,m,E||!!g||this.transform.pitch>0,y),{perspectiveRatio:M}=S,A=(u?s/M:s*M)/e.bf,I=_i(b,w,T,l),C=S.signedDistanceFromCamera>0?vi(A,o,r.lineOffsetX*A,r.lineOffsetY*A,!1,I,v,r,n,l,{},g&&!u?x:null,u&&!!g,y,m,u):null;let P=!1,z=!1,D=!0;if(C&&!S.occluded){const t=.5*p*M+f,r=new e.P(-100,-100),n=new e.P(this.screenRightBoundary,this.screenBottomBoundary),o=new ci,{first:s,last:a}=C,l=s.path.length;let u=[];for(let e=l-1;e>=1;e--)u.push(s.path[e]);for(let e=1;e{let[i,r,n]=e;return x&&!E&&(n=x(te[3]<=0))&&(u=[]));let g=[];if(u.length>0){let t=1/0,i=-1/0,o=1/0,s=-1/0;for(const e of u)t=Math.min(t,e[0]),o=Math.min(o,e[1]),i=Math.max(i,e[0]),s=Math.max(s,e[1]);i>=r.x&&t<=n.x&&s>=r.y&&o<=n.y&&(g=[u.map((t=>new e.P(t[0],t[1])))],(tn.x||on.y)&&(g=e.bd(g,r.x,r.y,n.x,n.y)))}for(const e of g){o.reset(e,.25*t);let r=0;r=o.length<=.5*t?1:Math.ceil(o.paddedLength/m)+1;for(let e=0;e0){if(e.aa.transformMat4(l,l,t),this.fogState&&o&&"globe"!==a.name){const t=function(t,i,r,n,o,s){const a=s.calculateFogTileMatrix(o),l=[i,r,n];return e.Q.transformMat4(l,l,a),fe(t,e.Q.length(l),s.pitch,s._fov)}(this.fogState,i,r,n,o.toUnwrapped(),this.transform);c=t>.9}}else Ai(l,l,t);const h=l[3];return{point:new e.P((l[0]/h+1)/2*this.transform.width+Ii,(-l[1]/h+1)/2*this.transform.height+Ii),perspectiveRatio:Math.min(.5+this.transform.getCameraToCenterDistance(a)/h*.5,1.5),signedDistanceFromCamera:h,occluded:s&&l[2]>h||c}}isOffscreen(e,t,i,r){return i=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(e,t,i,r){return i>=0&&e=0&&t5&&void 0!==arguments[5]&&arguments[5];this.text=new Ri(e?e.text:null,t,i,n),this.icon=new Ri(e?e.icon:null,t,r,n),this.clipped=o}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class ki{constructor(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.text=e,this.icon=t,this.skipFade=i,this.clipped=r}}class Oi{constructor(){this.invProjMatrix=e.a9.create(),this.viewportMatrix=e.a9.create(),this.circles=[]}}class Bi{constructor(e,t,i,r,n){this.bucketInstanceId=e,this.featureIndex=t,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=n}}class Fi{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const t=++this.maxGroupID;this.collisionGroups[e]={ID:t,predicate:e=>e.collisionGroupID===t}}return this.collisionGroups[e]}}function Ni(t,i,r,n,o){const{horizontalAlign:s,verticalAlign:a}=e.bi(t),l=-(s-.5)*i,c=-(a-.5)*r,h=e.bh(t,n);return new e.P(l+h[0]*o,c+h[1]*o)}function Vi(t,i,r,n,o){const s=new e.P(t,i);return r&&s._rotate(n?o:-o),s}class Ui{constructor(e,t,i,r,n,o){this.transform=e.clone(),this.projection=e.projection.name,this.collisionIndex=new Ci(this.transform,n),this.buildingIndex=o,this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=t,this.retainedQueryData={},this.collisionGroups=new Fi(i),this.collisionCircleArrays={},this.prevPlacement=r,r&&(r.prevPlacement=void 0),this.placedOrientations={}}getBucketParts(t,i,r,n){const o=r.getBucket(i),s=r.latestFeatureIndex;if(!o||!s||i.fqid!==o.layerIds[0])return;const a=o.layers[0].layout,l=r.collisionBoxArray,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),h=r.tileSize/e.Y,u=r.tileID.toUnwrapped();this.transform.setProjection(o.projection);const d=(p=r.tileID,f=o.getProjection(),m=this.transform,f.name===this.projection?m.calculateProjMatrix(p.toUnwrapped()):Pi(m,f,p));var p,f,m;const _="map"===a.get("text-pitch-alignment"),g="map"===a.get("text-rotation-alignment");i.compileFilter();const y=i.dynamicFilter(),x=i.dynamicFilterNeedsFeature(),v=this.transform.calculatePixelsToTileUnitsMatrix(r),b=fi(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);let w=null;if(_){const t=mi(d,r.tileID.canonical,_,g,this.transform,o.getProjection(),v);w=e.a9.multiply([],this.transform.labelPlaneMatrix,t)}let T=null;y&&r.latestFeatureIndex&&(T={unwrappedTileID:u,dynamicFilter:y,dynamicFilterNeedsFeature:x,featureIndex:r.latestFeatureIndex}),this.retainedQueryData[o.bucketInstanceId]=new Bi(o.bucketInstanceId,s,o.sourceLayerIndex,o.index,r.tileID);const E={bucket:o,layout:a,posMatrix:d,textLabelPlaneMatrix:b,labelToScreenMatrix:w,clippingData:T,scale:c,textPixelRatio:h,holdingForFade:r.holdingForFade(),collisionBoxArray:l,partiallyEvaluatedTextSize:e.b8(o.textSizeData,this.transform.zoom),partiallyEvaluatedIconSize:e.b8(o.iconSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(n)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=e;t.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:E})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:E})}attemptAnchorPlacement(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g){const{textOffset0:y,textOffset1:x,crossTileID:v}=u,b=[y,x],w=Ni(e,i,r,b,n),T=this.collisionIndex.placeCollisionBox(p,n,t,Vi(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate);if(m){const e=p.getSymbolInstanceIconSize(g,this.transform.zoom,u.placedIconSymbolIndex);if(0===this.collisionIndex.placeCollisionBox(p,e,m,Vi(w.x,w.y,o,s,this.transform.angle),h,a,l,c.predicate).box.length)return}if(T.box.length>0){let t;return this.prevPlacement&&this.prevPlacement.variableOffsets[v]&&this.prevPlacement.placements[v]&&this.prevPlacement.placements[v].text&&(t=this.prevPlacement.variableOffsets[v].anchor),this.variableOffsets[v]={textOffset:b,width:i,height:r,anchor:e,textScale:n,prevAnchor:t},this.markUsedJustification(p,e,u,f),p.allowVerticalPlacement&&(this.markUsedOrientation(p,f,u),this.placedOrientations[v]=f),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,r,n){const{bucket:o,layout:s,posMatrix:a,textLabelPlaneMatrix:l,labelToScreenMatrix:c,clippingData:h,textPixelRatio:u,holdingForFade:d,collisionBoxArray:p,partiallyEvaluatedTextSize:f,partiallyEvaluatedIconSize:m,collisionGroup:_}=t.parameters,g=s.get("text-optional"),y=s.get("icon-optional"),x=s.get("text-allow-overlap"),v=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),w="map"===s.get("text-pitch-alignment"),T="viewport-y"===s.get("symbol-z-order"),E=s.get("symbol-z-elevate");this.transform.setProjection(o.projection);let S=x&&(v||!o.hasIconData()||y),M=v&&(x||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p),r&&n&&o.updateCollisionDebugBuffers(this.transform.zoom,p);const A=(t,n,p)=>{const{crossTileID:T,numVerticalGlyphVertices:E}=t;if(h){const r={zoom:this.transform.zoom,pitch:this.transform.pitch};let n=null;if(h.dynamicFilterNeedsFeature){const e=this.retainedQueryData[o.bucketInstanceId];n=h.featureIndex.loadFeature({featureIndex:t.featureIndex,bucketIndex:e.bucketIndex,sourceLayerIndex:e.sourceLayerIndex,layoutVertexArrayOffset:0})}if(!(0,h.dynamicFilter)(r,n,this.retainedQueryData[o.bucketInstanceId].tileID.canonical,new e.P(t.tileAnchorX,t.tileAnchorY),this.transform.calculateDistanceTileData(h.unwrappedTileID)))return this.placements[T]=new ki(!1,!1,!1,!0),void i.add(T)}if(i.has(T))return;if(d)return void(this.placements[T]=new ki(!1,!1,!1));let A=!1,I=!1,C=!0,P=!1,z=!1,D=null,R={box:null,offscreen:null,occluded:null},L={box:null,offscreen:null,occluded:null},k=null,O=null,B=null,F=0,N=0,V=0;p.textFeatureIndex?F=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(F=t.featureIndex),p.verticalTextFeatureIndex&&(N=p.verticalTextFeatureIndex);const U=e=>{e.tileID=this.retainedQueryData[o.bucketInstanceId].tileID;const i=this.transform.elevation;e.elevation=t.zOffset+(i?i.getAtTileOffset(e.tileID,e.tileAnchorX,e.tileAnchorY):0)},j=p.textBox;if(j){U(j);const i=i=>{let r=e.b9.horizontal;if(o.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[T];e&&(this.placedOrientations[T]=e,r=e,this.markUsedOrientation(o,r,t))}return r},r=(t,i)=>{if(o.allowVerticalPlacement&&E>0&&p.verticalTextBox){for(const r of o.writingModes)if(r===e.b9.vertical?(R=i(),L=R):R=t(),R&&R.box&&R.box.length)break}else R=t()};if(s.get("text-variable-anchor")){let l=s.get("text-variable-anchor");if(this.prevPlacement&&this.prevPlacement.variableOffsets[T]){const e=this.prevPlacement.variableOffsets[T];l.indexOf(e.anchor)>0&&(l=l.filter((t=>t!==e.anchor)),l.unshift(e.anchor))}const c=(e,i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),c=(e.x2-e.x1)*s+2*e.padding,h=(e.y2-e.y1)*s+2*e.padding,d=t.hasIconTextFit&&!v?i:null;d&&U(d);let p={box:[],offscreen:!1,occluded:!1};const g=x?2*l.length:l.length;for(let y=0;y=l.length,t,n,o,r,d,f,m);if(i&&(p=i.placedGlyphBoxes,p&&p.box&&p.box.length)){A=!0,D=i.shift;break}}return p};r((()=>c(j,p.iconBox,e.b9.horizontal)),(()=>{const t=p.verticalTextBox;return t&&U(t),o.allowVerticalPlacement&&!(R&&R.box&&R.box.length)&&E>0&&t?c(t,p.verticalIconBox,e.b9.vertical):{box:null,offscreen:null,occluded:null}})),R&&(A=R.box,C=R.offscreen,P=R.occluded);const h=i(!(!R||!R.box));if(!A&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[T];e&&(this.variableOffsets[T]=e,this.markUsedJustification(o,e.anchor,t,h))}}else{const s=(i,r)=>{const s=o.getSymbolInstanceTextSize(f,t,this.transform.zoom,n),l=this.collisionIndex.placeCollisionBox(o,s,i,new e.P(0,0),x,u,a,_.predicate);return l&&l.box&&l.box.length&&(this.markUsedOrientation(o,r,t),this.placedOrientations[T]=r),l};r((()=>s(j,e.b9.horizontal)),(()=>{const t=p.verticalTextBox;return o.allowVerticalPlacement&&E>0&&t?(U(t),s(t,e.b9.vertical)):{box:null,offscreen:null,occluded:null}})),i(!!(R&&R.box&&R.box.length))}}if(k=R,A=k&&k.box&&k.box.length>0,C=k&&k.offscreen,P=k&&k.occluded,t.useRuntimeCollisionCircles){const i=o.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex>=0?t.centerJustifiedTextSymbolIndex:t.verticalPlacedTextSymbolIndex),n=e.ba(o.textSizeData,f,i),h=s.get("text-padding");O=this.collisionIndex.placeCollisionCircles(o,x,i,o.lineVertexArray,o.glyphOffsetArray,n,a,l,c,r,w,_.predicate,t.collisionCircleDiameter*n/e.bf,h,this.retainedQueryData[o.bucketInstanceId].tileID),A=x||O.circles.length>0&&!O.collisionDetected,C=C&&O.offscreen,P=O.occluded}if(p.iconFeatureIndex&&(V=p.iconFeatureIndex),p.iconBox){const i=i=>{U(i);const r=t.hasIconTextFit&&D?Vi(D.x,D.y,b,w,this.transform.angle):new e.P(0,0),n=o.getSymbolInstanceIconSize(m,this.transform.zoom,t.placedIconSymbolIndex);return this.collisionIndex.placeCollisionBox(o,n,i,r,v,u,a,_.predicate)};L&&L.box&&L.box.length&&p.verticalIconBox?(B=i(p.verticalIconBox),I=B.box.length>0):(B=i(p.iconBox),I=B.box.length>0),C=C&&B.offscreen,z=B.occluded}const G=g||0===t.numHorizontalGlyphVertices&&0===E,q=y||0===t.numIconVertices;if(G||q?q?G||(I=I&&A):A=I&&A:I=A=I&&A,A&&k&&k.box&&this.collisionIndex.insertCollisionBox(k.box,s.get("text-ignore-placement"),o.bucketInstanceId,L&&L.box&&N?N:F,_.ID),I&&B&&this.collisionIndex.insertCollisionBox(B.box,s.get("icon-ignore-placement"),o.bucketInstanceId,V,_.ID),O&&(A&&this.collisionIndex.insertCollisionCircles(O.circles,s.get("text-ignore-placement"),o.bucketInstanceId,F,_.ID),r)){const e=o.bucketInstanceId;let t=this.collisionCircleArrays[e];void 0===t&&(t=this.collisionCircleArrays[e]=new Oi);for(let i=0;i=0;--e){const i=t[e];A(o.symbolInstances.get(i),i,o.collisionArrays[i])}o.hasAnyZOffset&&e.w(`${o.layerIds[0]} layer symbol-z-elevate: symbols are not sorted by elevation if symbol-z-order is evaluated to viewport-y`)}else if(o.hasAnyZOffset){const e=o.getSortedIndexesByZOffset();for(let t=0;t=0&&(t.text.placedSymbolArray.get(o).crossTileID=u>=0&&o!==u?0:c),s>=0&&(t.text.placedSymbolArray.get(s).crossTileID=u>=0&&s!==u?0:c),a>=0&&(t.text.placedSymbolArray.get(a).crossTileID=u>=0&&a!==u?0:c),l>=0&&(t.text.placedSymbolArray.get(l).crossTileID=u>=0&&l!==u?0:c)}markUsedOrientation(t,i,r){const n=i===e.b9.horizontal||i===e.b9.horizontalOnly?i:0,o=i===e.b9.vertical?i:0,{leftJustifiedTextSymbolIndex:s,centerJustifiedTextSymbolIndex:a,rightJustifiedTextSymbolIndex:l,verticalPlacedTextSymbolIndex:c}=r,h=t.text.placedSymbolArray;s>=0&&(h.get(s).placedOrientation=n),a>=0&&(h.get(a).placedOrientation=n),l>=0&&(h.get(l).placedOrientation=n),c>=0&&(h.get(c).placedOrientation=o)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const t=this.prevPlacement;let i=!1;this.prevZoomAdjustment=t?t.zoomAdjustment(this.transform.zoom):0;const r=t?t.symbolFadeChange(e):1,n=t?t.opacities:{},o=t?t.variableOffsets:{},s=t?t.placedOrientations:{};for(const a in this.placements){const e=this.placements[a],t=n[a];t?(this.opacities[a]=new Li(t,r,e.text,e.icon,null,e.clipped),i=i||e.text!==t.text.placed||e.icon!==t.icon.placed):(this.opacities[a]=new Li(null,r,e.text,e.icon,e.skipFade,e.clipped),i=i||e.text||e.icon)}for(const a in n){const e=n[a];if(!this.opacities[a]){const t=new Li(e,r,!1,!1);t.isHidden()||(this.opacities[a]=t,i=i||e.text.placed||e.icon.placed)}}for(const a in o)this.variableOffsets[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.variableOffsets[a]=o[a]);for(const a in s)this.placedOrientations[a]||!this.opacities[a]||this.opacities[a].isHidden()||(this.placedOrientations[a]=s[a]);i?this.lastPlacementChangeTime=e:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)}updateLayerOpacities(e,t){const i=new Set;for(const r of t){const t=r.getBucket(e);t&&r.latestFeatureIndex&&e.fqid===t.layerIds[0]&&(this.updateBucketOpacities(t,i,r.collisionBoxArray),t.layers[0].layout.get("symbol-z-elevate")&&this.buildingIndex&&(this.buildingIndex.updateZOffset(t,r.tileID),t.updateZOffset()))}}updateBucketOpacities(t,i,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const n=t.layers[0].layout,o=!!t.layers[0].dynamicFilter(),s=new Li(null,0,!1,!1,!0),a=n.get("text-allow-overlap"),l=n.get("icon-allow-overlap"),c=n.get("text-variable-anchor"),h="map"===n.get("text-rotation-alignment"),u="map"===n.get("text-pitch-alignment"),d=new Li(null,0,a&&(l||!t.hasIconData()||n.get("icon-optional")),l&&(a||!t.hasTextData()||n.get("text-optional")),!0);!t.collisionArrays&&r&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(r);const p=(e,t,i)=>{for(let r=0;r0||a>0,v=_>0,b=this.placedOrientations[l],w=b===e.b9.vertical,T=b===e.b9.horizontal||b===e.b9.horizontalOnly;if(!x&&!v||y.isHidden()||f++,x){const e=Xi(y.text);p(t.text,n,w?Yi:e),p(t.text,a,T?Yi:e);const i=y.text.isHidden(),{leftJustifiedTextSymbolIndex:o,centerJustifiedTextSymbolIndex:s,rightJustifiedTextSymbolIndex:c,verticalPlacedTextSymbolIndex:h}=r,u=t.text.placedSymbolArray,d=i||w?1:0;o>=0&&(u.get(o).hidden=d),s>=0&&(u.get(s).hidden=d),c>=0&&(u.get(c).hidden=d),h>=0&&(u.get(h).hidden=i||T?1:0);const f=this.variableOffsets[l];f&&this.markUsedJustification(t,f.anchor,r,b);const m=this.placedOrientations[l];m&&(this.markUsedJustification(t,"left",r,m),this.markUsedOrientation(t,m,r))}if(v){const e=Xi(y.icon),{placedIconSymbolIndex:i,verticalPlacedIconSymbolIndex:n}=r,o=t.icon.placedSymbolArray,s=y.icon.isHidden()?1:0;i>=0&&(p(t.icon,_,w?Yi:e),o.get(i).hidden=s),n>=0&&(p(t.icon,r.numVerticalIconVertices,T?Yi:e),o.get(n).hidden=s)}if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const i=t.collisionArrays[m];if(i){let n=new e.P(0,0),s=!0;if(i.textBox||i.verticalTextBox){if(c){const e=this.variableOffsets[l];e?(n=Ni(e.anchor,e.width,e.height,e.textOffset,e.textScale),h&&n._rotate(u?this.transform.angle:-this.transform.angle)):s=!1}o&&(s=!y.clipped),i.textBox&&ji(t.textCollisionBox.collisionVertexArray,y.text.placed,!s||w,n.x,n.y),i.verticalTextBox&&ji(t.textCollisionBox.collisionVertexArray,y.text.placed,!s||T,n.x,n.y)}const a=s&&Boolean(!T&&i.verticalIconBox);i.iconBox&&ji(t.iconCollisionBox.collisionVertexArray,y.icon.placed,a,r.hasIconTextFit?n.x:0,r.hasIconTextFit?n.y:0),i.verticalIconBox&&ji(t.iconCollisionBox.collisionVertexArray,y.icon.placed,!a,r.hasIconTextFit?n.x:0,r.hasIconTextFit?n.y:0)}}}if(t.fullyClipped=0===f,t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(e){return 0===this.fadeDuration?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function ji(e,t,i,r,n){e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0),e.emplaceBack(t?1:0,i?1:0,r||0,n||0)}const Gi=Math.pow(2,25),qi=Math.pow(2,24),Zi=Math.pow(2,17),$i=Math.pow(2,16),Wi=Math.pow(2,9),Qi=Math.pow(2,8),Hi=Math.pow(2,1);function Xi(e){if(0===e.opacity&&!e.placed)return 0;if(1===e.opacity&&e.placed)return 4294967295;const t=e.placed?1:0,i=Math.floor(127*e.opacity);return i*Gi+t*qi+i*Zi+t*$i+i*Wi+t*Qi+i*Hi+t}const Yi=0;class Ki{constructor(e){this._sortAcrossTiles="viewport-y"!==e.layout.get("symbol-z-order")&&void 0!==e.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs=new Set,this._bucketParts=[]}continuePlacement(e,t,i,r,n){const o=this._bucketParts;for(;this._currentTileIndexe.sortKey-t.sortKey)));this._currentPartIndex{const t=e.f.now()-o;return!this._forceFullPlacement&&t>2};for(;this._currentPlacementIndex>=0;){const o=i[t[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===o.type&&(!o.minzoom||o.minzoom<=a)&&(!o.maxzoom||o.maxzoom>a)){const t=o,i=t.layout.get("symbol-z-elevate"),a=this._inProgressLayer=this._inProgressLayer||new Ki(t),l=e.aj(o.source,o.scope);if(a.continuePlacement(i?n[l]:r[l],this.placement,this._showCollisionBoxes,o,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const er=512/e.Y/2;class tr{constructor(t,i,r){this.tileID=t,this.bucketInstanceId=r,this.index=new e.bj(i.length,16,Int32Array),this.keys=[],this.crossTileIDs=[];const n=t.canonical.x*e.Y,o=t.canonical.y*e.Y;for(let e=0;ee.overscaledZ)for(const n in i){const o=i[n];o.tileID.isChildOf(e)&&o.findMatches(t.symbolInstances,e,r)}else{const o=i[e.scaledTo(Number(n)).key];o&&o.findMatches(t.symbolInstances,e,r)}}for(let n=0;n{t[e]=!0}));for(const i in this.layerIndexes)t[i]||delete this.layerIndexes[i]}}class or{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(i)||i<0||isNaN(r)||r<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=i,this.right=r}interpolate(t,i,r){return null!=i.top&&null!=t.top&&(this.top=e.X(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.X(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=e.X(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=e.X(t.right,i.right,r)),this}getCenter(t,i){const r=e.ad((this.left+t-this.right)/2,0,t),n=e.ad((this.top+i-this.bottom)/2,0,i);return new e.P(r,n)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new or(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}function sr(t,i){const r=e.bn(t,3);e.a9.fromQuat(t,i),e.bp(t,3,r)}function ar(t,i){const r=e.bl.identity([]);return e.bl.rotateZ(r,r,-i),e.bl.rotateX(r,r,-t),r}function lr(t,i){const r=[t[0],t[1],0],n=[i[0],i[1],0];if(e.Q.length(r)>=1e-15){const t=e.Q.normalize([],r);e.Q.scale(n,t,e.Q.dot(n,t)),i[0]=n[0],i[1]=n[1]}const o=e.Q.cross([],i,t);if(e.Q.len(o)<1e-15)return null;const s=Math.atan2(-o[1],o[0]);return ar(Math.atan2(Math.sqrt(t[0]*t[0]+t[1]*t[1]),-t[2]),s)}class cr{constructor(e,t){this.position=e,this.orientation=t}get position(){return this._position}set position(t){if(t){const i=t instanceof e.O?t:new e.O(t[0],t[1],t[2]);this._renderWorldCopies&&(i.x=e.bk(i.x,0,1)),this._position=i}else this._position=null}lookAtPoint(t,i){if(this.orientation=null,!this.position)return;const r=this.position,n=this._elevation?this._elevation.getAtPointOrZero(e.O.fromLngLat(t)):0,o=e.O.fromLngLat(t,n),s=[o.x-r.x,o.y-r.y,o.z-r.z];i||(i=[0,0,1]),i[2]=Math.abs(i[2]),this.orientation=lr(s,i)}setPitchBearing(t,i){this.orientation=ar(e.bm(t),e.bm(-i))}}class hr{constructor(t,i){this._transform=e.a9.identity([]),this.orientation=i,this.position=t}get mercatorPosition(){const t=this.position;return new e.O(t[0],t[1],t[2])}get position(){const t=e.bn(this._transform,3);return[t[0],t[1],t[2]]}set position(t){var i;t&&e.bp(this._transform,3,[(i=t)[0],i[1],i[2],1])}get orientation(){return this._orientation}set orientation(t){this._orientation=t||e.bl.identity([]),t&&sr(this._transform,this._orientation)}getPitchBearing(){const e=this.forward(),t=this.right();return{bearing:Math.atan2(-t[1],t[0]),pitch:Math.atan2(Math.sqrt(e[0]*e[0]+e[1]*e[1]),-e[2])}}setPitchBearing(e,t){this._orientation=ar(e,t),sr(this._transform,this._orientation)}forward(){const t=e.bn(this._transform,2);return[-t[0],-t[1],-t[2]]}up(){const t=e.bn(this._transform,1);return[-t[0],-t[1],-t[2]]}right(){const t=e.bn(this._transform,0);return[t[0],t[1],t[2]]}getCameraToWorld(t,i){const r=new Float64Array(16);return e.a9.invert(r,this.getWorldToCamera(t,i)),r}getCameraToWorldMercator(){return this._transform}getWorldToCameraPosition(t,i,r){const n=this.position;e.Q.scale(n,n,-t);const o=new Float64Array(16);return e.a9.fromScaling(o,[r,r,r]),e.a9.translate(o,o,n),o[10]*=i,o}getWorldToCamera(t,i){const r=new Float64Array(16),n=new Float64Array(4),o=this.position;return e.bl.conjugate(n,this._orientation),e.Q.scale(o,o,-t),e.a9.fromQuat(r,n),e.a9.translate(r,r,o),r[1]*=-1,r[5]*=-1,r[9]*=-1,r[13]*=-1,r[8]*=i,r[9]*=i,r[10]*=i,r[11]*=i,r}getCameraToClipPerspective(t,i,r,n){const o=new Float64Array(16);return e.a9.perspective(o,t,i,r,n),o}getCameraToClipOrthographic(t,i,r,n,o,s){const a=new Float64Array(16);return e.a9.ortho(a,t,i,r,n,o,s),a}getDistanceToElevation(t){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=0===t?0:e.bo(t,i?e.ax(this.position[1]):this.position[1]),n=this.forward();return(r-this.position[2])/n[2]}clone(){return new hr([...this.position],[...this.orientation])}}const ur=(e,t,i)=>(1-i)*e+i*t,dr=e=>e*e*e*e*e;class pr{constructor(t,i,r,n,o,s,a){this.tileSize=512,this._renderWorldCopies=void 0===o||o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setProjection(s),this.setMaxBounds(a),this.width=0,this.height=0,this._center=new e.bq(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._nearZ=0,this._farZ=0,this._unmodified=!0,this._edgeInsets=new or,this._projMatrixCache={},this._alignedProjMatrixCache={},this._fogTileMatrixCache={},this._expandedProjMatrixCache={},this._distanceTileDataCache={},this._camera=new hr,this._centerAltitude=0,this._averageElevation=0,this.cameraElevationReference="ground",this._pixelsPerMercatorPixel=1,this.globeRadius=0,this.globeCenterInViewSpace=[0,0,0],this._tileCoverLift=0,this.freezeTileCoverage=!1,this._horizonShift=.1,this._orthographicProjectionAtLowPitch=!1}clone(){const e=new pr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies,this.getProjection());return e._elevation=this._elevation,e._centerAltitude=this._centerAltitude,e._centerAltitudeValidForExaggeration=this._centerAltitudeValidForExaggeration,e.tileSize=this.tileSize,e.mercatorFromTransition=this.mercatorFromTransition,e.width=this.width,e.height=this.height,e.cameraElevationReference=this.cameraElevationReference,e._center=this._center,e._setZoom(this.zoom),e._seaLevelZoom=this._seaLevelZoom,e.angle=this.angle,e._fov=this._fov,e._pitch=this._pitch,e._nearZ=this._nearZ,e._farZ=this._farZ,e._averageElevation=this._averageElevation,e._orthographicProjectionAtLowPitch=this._orthographicProjectionAtLowPitch,e._unmodified=this._unmodified,e._edgeInsets=this._edgeInsets.clone(),e._camera=this._camera.clone(),e._calcMatrices(),e.freezeTileCoverage=this.freezeTileCoverage,e.frustumCorners=this.frustumCorners,e}get isOrthographic(){return"globe"!==this.projection.name&&this._orthographicProjectionAtLowPitch&&this.pitch<15}get elevation(){return this._elevation}set elevation(e){this._elevation!==e&&(this._elevation=e,this._updateCameraOnTerrain(),this._calcMatrices())}get depthOcclusionForSymbolsAndCircles(){return"globe"!==this.projection.name&&!this.isOrthographic}updateElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this._elevation&&this._elevation.exaggeration()!==this._centerAltitudeValidForExaggeration;(null==this._seaLevelZoom||i)&&this._updateCameraOnTerrain(),(e||i)&&this._constrainCamera(t),this._calcMatrices()}getProjection(){return e.af(this.projection,["name","center","parallels"])}setProjection(i){this.projectionOptions=i||{name:"mercator"};const r=this.projection?this.getProjection():void 0;this.projection=e.br(this.projectionOptions);const n=!t(r,this.getProjection());return n&&this._calcMatrices(),this.mercatorFromTransition=!1,n}setOrthographicProjectionAtLowPitch(e){return this._orthographicProjectionAtLowPitch!==e&&(this._orthographicProjectionAtLowPitch=e,this._calcMatrices(),!0)}setMercatorFromTransition(){const t=this.projection.name;this.mercatorFromTransition=!0,this.projectionOptions={name:"mercator"},this.projection=e.br({name:"mercator"});const i=t!==this.projection.name;return i&&this._calcMatrices(),i}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies&&!0===this.projection.supportsWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get cameraWorldSizeForFog(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get cameraWorldSize(){const e=Math.max(this._camera.getDistanceToElevation(this._averageElevation,!0),Number.EPSILON);return this._worldSizeFromZoom(this._zoomFromMercatorZ(e))}get pixelsPerMeter(){return this.projection.pixelsPerMeter(this.center.lat,this.worldSize)}get cameraPixelsPerMeter(){return e.bo(1,this.center.lat)*this.cameraWorldSizeForFog}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return e.bk(this.rotation,-180,180)}set bearing(e){this.rotation=e}get rotation(){return-this.angle/Math.PI*180}set rotation(t){const i=-t*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=e.b7.create(),e.b7.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ad(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get aspect(){return this.width/this.height}get fov(){return this._fov/Math.PI*180}get fovX(){return this._fov}get fovY(){const e=1/Math.tan(.5*this.fovX);return 2*Math.atan(1/this.aspect/e)}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=e.bm(t),this._calcMatrices())}get averageElevation(){return this._averageElevation}set averageElevation(e){this._averageElevation=e,this._calcFogMatrices(),this._distanceTileDataCache={}}get zoom(){return this._zoom}set zoom(e){const t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._setZoom(t),this._updateSeaLevelZoom(),this._constrain(),this._calcMatrices())}_setZoom(e){this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom}get tileCoverLift(){return this._tileCoverLift}set tileCoverLift(e){this._tileCoverLift!==e&&(this._tileCoverLift=e)}_updateCameraOnTerrain(){const e=this.elevation?this.elevation.getAtPoint(this.locationCoordinate(this.center),Number.NEGATIVE_INFINITY):Number.NEGATIVE_INFINITY,t=this.elevation&&e===Number.NEGATIVE_INFINITY&&this.elevation.visibleDemTiles.length>0&&this.elevation.exaggeration()>0&&this._centerAltitudeValidForExaggeration;if(!this._elevation||e===Number.NEGATIVE_INFINITY&&(!t||!this._centerAltitude))return this._centerAltitude=0,this._seaLevelZoom=null,void(this._centerAltitudeValidForExaggeration=void 0);const i=this._elevation;t||this._centerAltitude&&this._centerAltitudeValidForExaggeration&&i.exaggeration()&&this._centerAltitudeValidForExaggeration!==i.exaggeration()?(this._centerAltitude=this._centerAltitude/this._centerAltitudeValidForExaggeration*i.exaggeration(),this._centerAltitudeValidForExaggeration=i.exaggeration()):(this._centerAltitude=e||0,this._centerAltitudeValidForExaggeration=i.exaggeration()),this._updateSeaLevelZoom()}_updateSeaLevelZoom(){void 0!==this._centerAltitudeValidForExaggeration&&(this._seaLevelZoom=this._zoomFromMercatorZ((this.pixelsPerMeter*this._centerAltitude+this.cameraToCenterDistance)/this.worldSize))}sampleAverageElevation(){if(!this._elevation)return 0;const t=this._elevation,i=[[.5,.2],[.3,.5],[.5,.5],[.7,.5],[.5,.8]],r=this.horizonLineFromTop();let n=0,o=0;for(let s=0;s0,h=t.y+10,d=s.wrap-(c?0:1),p=s.wrap+(l?0:1),f=c?t.x-1:a-1,m=l?t.x+1:0;i[0]<0?(n.push(new e.ap(r,p,t.z,m,t.y)),i[1]<0&&h&&(n.push(new e.ap(r,o,t.z,t.x,t.y+1)),n.push(new e.ap(r,p,t.z,m,t.y+1))),i[1]>0&&u&&(n.push(new e.ap(r,o,t.z,t.x,t.y-1)),n.push(new e.ap(r,p,t.z,m,t.y-1)))):i[0]>0?(n.push(new e.ap(r,d,t.z,f,t.y)),i[1]<0&&h&&(n.push(new e.ap(r,o,t.z,t.x,t.y+1)),n.push(new e.ap(r,d,t.z,f,t.y+1))),i[1]>0&&u&&(n.push(new e.ap(r,o,t.z,t.x,t.y-1)),n.push(new e.ap(r,d,t.z,f,t.y-1)))):i[1]<0&&h?n.push(new e.ap(r,o,t.z,t.x,t.y+1)):u&&n.push(new e.ap(r,o,t.z,t.x,t.y-1))}if(n.length>1){n.sort(((e,t)=>e.overscaledZ-t.overscaledZ||e.wrap-t.wrap||e.canonical.z-t.canonical.z||e.canonical.x-t.canonical.x||e.canonical.y-t.canonical.y));let e=0,t=0;for(;te.isChildOf(t)))||o.push(e);return n=o.filter((e=>!t.some((t=>!!(e.overscaledZt.maxzoom&&(i=t.maxzoom);const a=this.locationCoordinate(this.center),l=this.center.lat,c=1<{const i=1/4e4,r=new e.O(t.x+i,t.y,t.z),n=new e.O(t.x,t.y+i,t.z),o=t.toLngLat(),s=r.toLngLat(),a=n.toLngLat(),l=this.locationCoordinate(o),c=this.locationCoordinate(s),h=this.locationCoordinate(a),u=Math.hypot(c.x-l.x,c.y-l.y),d=Math.hypot(h.x-l.x,h.y-l.y);return Math.sqrt(u*d)*T/i},S=t=>{const i=b,r=w;return{aabb:e.bx(this,c,0,0,0,t,r,i,this.projection),zoom:0,x:0,y:0,minZ:r,maxZ:i,wrap:t,fullyVisible:!1}},M=[];let A=[];const I=i,C=t.reparseOverscaled?r:i,P=e=>e*e,z=P((_-this._centerAltitude)*m),D=e=>{if(!this._elevation||!e.tileID||!s)return;const t=this._elevation.getMinMaxForTile(e.tileID),i=e.aabb;t?(i.min[2]=t.min,i.max[2]=t.max,i.center[2]=(i.min[2]+i.max[2])/2):(e.shouldSplit=R(e),e.shouldSplit||(i.min[2]=i.max[2]=i.center[2]=this._centerAltitude))},R=t=>{if(t.zoom=.9)return!0}else if(o&&(s=P(t.aabb.distanceZ(g)*m)),this.projection.isReprojectedInTileSpace&&r<=5){const i=Math.pow(2,t.zoom),r=E(new e.O((t.x+.5)/i,(t.y+.5)/i));a=r>.85?1:r}const c=i*i+n*n+s,h=P((1<{if(t*P(.707)0;){const r=M.pop(),n=r.x,a=r.y;let l=r.fullyVisible;const d=()=>"globe"===this.projection.name&&(0===r.y||r.y===(1<>1),d={aabb:s?r.aabb.quadrant(t):e.bx(this,c,r.zoom+1,i,h,r.wrap,r.minZ,r.maxZ,this.projection),zoom:r.zoom+1,x:i,y:h,wrap:r.wrap,fullyVisible:l,tileID:void 0,shouldSplit:void 0,minZ:r.minZ,maxZ:r.maxZ};o&&!u&&(d.tileID=new e.ap(r.zoom+1===I?C:r.zoom+1,r.wrap,r.zoom+1,i,h),D(d)),M.push(d)}else{const o=r.zoom===I?C:r.zoom;if(t.minzoom&&t.minzoom>o)continue;if(!l){let t=y?r.aabb.intersectsPrecise(p):r.aabb.intersectsPreciseFlat(p);if(0===t&&d()){const i=new e.bv(r.zoom,n,a);t=e.bw(this,c,i,!0).intersectsPrecise(p)}if(0===t)continue}const s=h[0]-(.5+n+(r.wrap<{const o=[0,0,0,1],s=[e.Y,e.Y,0,1],a=this.calculateFogTileMatrix(n.tileID.toUnwrapped());e.aa.transformMat4(o,o,a),e.aa.transformMat4(s,s,a);const l=e.aa.min([],o,s),c=e.aa.max([],o,s),h=e.by(l,c);if(0===h)return!0;let u=!1;const d=this._elevation;if(d&&h>i&&0!==r){const i=this.calculateProjMatrix(n.tileID.toUnwrapped());let o;t.isTerrainDEM||(o=d.getMinMaxForTile(n.tileID)),o||(o={min:w,max:b});const s=e.bK(this.rotation),a=[s[0]*e.Y,s[1]*e.Y,o.max];e.Q.transformMat4(a,a,i),u=(1-a[1])*this.height*.5e.distanceSq-t.distanceSq)).map((e=>e.tileID))}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(t){const i=e.ad(t.lat,-e.bz,e.bz),r=this.projection.project(t.lng,i);return new e.P(r.x*this.worldSize,r.y*this.worldSize)}unproject(e){return this.projection.unproject(e.x/this.worldSize,e.y/this.worldSize)}get point(){return this.project(this.center)}get pointMerc(){return this.point._div(this.worldSize)}get pixelsPerMeterRatio(){return this.pixelsPerMeter/e.bo(1,this.center.lat)/this.worldSize}setLocationAtPoint(t,i){let r,n;const o=this.centerPoint;if("globe"===this.projection.name){const e=this.worldSize;r=(i.x-o.x)/e,n=(i.y-o.y)/e}else{const e=this.pointCoordinate(i),t=this.pointCoordinate(o);r=e.x-t.x,n=e.y-t.y}const s=this.locationCoordinate(t);this.setLocation(new e.O(s.x-r,s.y-n))}setLocation(e){this.center=this.coordinateLocation(e),this.projection.wrap&&(this.center=this.center.wrap())}locationPoint(e){return this.projection.locationPoint(this,e)}locationPoint3D(e){return this.projection.locationPoint(this,e,!0)}pointLocation(e){return this.coordinateLocation(this.pointCoordinate(e))}pointLocation3D(e){return this.coordinateLocation(this.pointCoordinate3D(e))}locationCoordinate(t,i){const r=i?e.bo(i,t.lat):void 0,n=this.projection.project(t.lng,t.lat);return new e.O(n.x,n.y,r)}coordinateLocation(e){return this.projection.unproject(e.x,e.y)}pointRayIntersection(t,i){const r=null!=i?i:this._centerAltitude,n=[t.x,t.y,0,1],o=[t.x,t.y,1,1];e.aa.transformMat4(n,n,this.pixelMatrixInverse),e.aa.transformMat4(o,o,this.pixelMatrixInverse);const s=o[3];e.aa.scale(n,n,1/n[3]),e.aa.scale(o,o,1/s);const a=n[2],l=o[2];return{p0:n,p1:o,t:a===l?0:(r-a)/(l-a)}}screenPointToMercatorRay(t){const i=[t.x,t.y,0,1],r=[t.x,t.y,1,1];return e.aa.transformMat4(i,i,this.pixelMatrixInverse),e.aa.transformMat4(r,r,this.pixelMatrixInverse),e.aa.scale(i,i,1/i[3]),e.aa.scale(r,r,1/r[3]),i[2]=e.bo(i[2],this._center.lat)*this.worldSize,r[2]=e.bo(r[2],this._center.lat)*this.worldSize,e.aa.scale(i,i,1/this.worldSize),e.aa.scale(r,r,1/this.worldSize),new e.a5([i[0],i[1],i[2]],e.Q.normalize([],e.Q.sub([],r,i)))}rayIntersectionCoordinate(t){const{p0:i,p1:r,t:n}=t,o=e.bo(i[2],this._center.lat),s=e.bo(r[2],this._center.lat);return new e.O(e.X(i[0],r[0],n)/this.worldSize,e.X(i[1],r[1],n)/this.worldSize,e.X(o,s,n))}pointCoordinate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._centerAltitude;return this.projection.pointCoordinate(this,e.x,e.y,t)}pointCoordinate3D(t){if(!this.elevation)return this.pointCoordinate(t);let i=this.projection.pointCoordinate3D(this,t.x,t.y);if(i)return new e.O(i[0],i[1],i[2]);let r=0,n=this.horizonLineFromTop();if(t.y>n)return this.pointCoordinate(t);const o=.02*n,s=t.clone();for(let a=0;a<10&&n-r>o;a++){s.y=e.X(r,n,.66);const t=this.projection.pointCoordinate3D(this,s.x,s.y);t?(n=s.y,i=t):r=s.y}return i?new e.O(i[0],i[1],i[2]):this.pointCoordinate(t)}isPointAboveHorizon(e){return this.projection.isPointAboveHorizon(this,e)}isPointOnSurface(t){if(t.y<0||t.y>this.height||t.x<0||t.x>this.width)return!1;if(this.elevation||this.zoom>=e.bA)return!this.isPointAboveHorizon(t);const i=this.pointCoordinate(t);return i.y>=0&&i.y<=1}_coordinatePoint(t,i){const r=i&&this.elevation?this.elevation.getAtPointOrZero(t,this._centerAltitude):this._centerAltitude,n=[t.x*this.worldSize,t.y*this.worldSize,r+t.toAltitude(),1];return e.aa.transformMat4(n,n,this.pixelMatrix),n[3]>0?new e.P(n[0]/n[3],n[1]/n[3]):new e.P(Number.MAX_VALUE,Number.MAX_VALUE)}_getBoundsNonRectangular(){const{top:t,left:i}=this._edgeInsets,r=this.height-this._edgeInsets.bottom,n=this.width-this._edgeInsets.right,o=this.pointLocation3D(new e.P(i,t)),s=this.pointLocation3D(new e.P(n,t)),a=this.pointLocation3D(new e.P(n,r)),l=this.pointLocation3D(new e.P(i,r));let c=Math.min(o.lng,s.lng,a.lng,l.lng),h=Math.max(o.lng,s.lng,a.lng,l.lng),u=Math.min(o.lat,s.lat,a.lat,l.lat),d=Math.max(o.lat,s.lat,a.lat,l.lat);const p=Math.pow(2,-this.zoom)/16*270,f="globe"===this.projection.name?1:4,m=(t,i,r,n,o)=>{const s=(t+r)/2,a=(i+n)/2,l=new e.P(s,a),{lng:_,lat:g}=this.pointLocation3D(l),y=Math.max(0,c-_,u-g,_-h,g-d);c=Math.min(c,_),h=Math.max(h,_),u=Math.min(u,g),d=Math.max(d,g),(op)&&(m(t,i,s,a,o+1),m(s,a,r,n,o+1))};if(m(i,t,n,t,1),m(n,t,n,r,1),m(n,r,i,r,1),m(i,r,i,t,1),"globe"===this.projection.name){const[t,i]=e.bB(this);t?(d=90,h=180,c=-180):i&&(u=-90,h=180,c=-180)}return new e.ag(new e.bq(c,u),new e.bq(h,d))}_getBoundsRectangular(t,i){const{top:r,left:n}=this._edgeInsets,o=this.height-this._edgeInsets.bottom,s=this.width-this._edgeInsets.right,a=new e.P(n,r),l=new e.P(s,r),c=new e.P(s,o),h=new e.P(n,o);let u=this.pointCoordinate(a,t),d=this.pointCoordinate(l,t);const p=this.pointCoordinate(c,i),f=this.pointCoordinate(h,i),m=(e,t)=>(t.y-e.y)/(t.x-e.x);return u.y>1&&d.y>=0?u=new e.O((1-f.y)/m(f,u)+f.x,1):u.y<0&&d.y<=1&&(u=new e.O(-f.y/m(f,u)+f.x,0)),d.y>1&&u.y>=0?d=new e.O((1-p.y)/m(p,d)+p.x,1):d.y<0&&u.y<=1&&(d=new e.O(-p.y/m(p,d)+p.x,0)),(new e.ag).extend(this.coordinateLocation(u)).extend(this.coordinateLocation(d)).extend(this.coordinateLocation(f)).extend(this.coordinateLocation(p))}_getBoundsRectangularTerrain(){const e=this.elevation;if(!e.visibleDemTiles.length||e.isUsingMockSource())return this._getBoundsRectangular(0,0);const t=e.visibleDemTiles.reduce(((e,t)=>{if(t.dem){const i=t.dem.tree;e.min=Math.min(e.min,i.minimums[0]),e.max=Math.max(e.max,i.maximums[0])}return e}),{min:Number.MAX_VALUE,max:0});return this._getBoundsRectangular(t.min*e.exaggeration(),t.max*e.exaggeration())}getBounds(){return"mercator"===this.projection.name||"equirectangular"===this.projection.name?this._terrainEnabled()?this._getBoundsRectangularTerrain():this._getBoundsRectangular(0,0):this._getBoundsNonRectangular()}horizonLineFromTop(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this.height/2/Math.tan(this._fov/2)/Math.tan(Math.max(this._pitch,.1))-this.centerOffset.y,i=this.height/2-t*(1-this._horizonShift);return e?Math.max(0,i):i}getMaxBounds(){return this.maxBounds}setMaxBounds(t){this.maxBounds=t,this.minLat=-e.bz,this.maxLat=e.bz,this.minLng=-180,this.maxLng=180,t&&(this.minLat=t.getSouth(),this.maxLat=t.getNorth(),this.minLng=t.getWest(),this.maxLng=t.getEast(),this.maxLng1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=t.key;let o;if(o=r?this._expandedProjMatrixCache:i?this._alignedProjMatrixCache:this._projMatrixCache,o[n])return o[n];const s=this.calculatePosMatrix(t,this.worldSize);let a;return a=this.projection.isReprojectedInTileSpace?this.mercatorMatrix:r?this.expandedFarZProjMatrix:i?this.alignedProjMatrix:this.projMatrix,e.a9.multiply(s,a,s),o[n]=new Float32Array(s),o[n]}calculatePixelsToTileUnitsMatrix(t){const i=t.tileID.key,r=this._pixelsToTileUnitsCache;if(r[i])return r[i];const n=e.bC(t,this);return r[i]=n,r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}globeToMercatorMatrix(){if("globe"===this.projection.name){const t=1/this.worldSize,i=e.a9.fromScaling([],[t,t,t]);return e.a9.multiply(i,i,this.globeMatrix),i}}recenterOnTerrain(){if(!this._elevation||"globe"===this.projection.name)return;const t=this._elevation;this._updateCameraState();const i=e.bo(1,this._center.lat)*this.worldSize,r=this._computeCameraPosition(i),n=this._camera.forward(),o=e.bo(1,this._center.lat);r[2]/=o,n[2]/=o,e.Q.normalize(n,n);const s=t.raycast(r,n,t.exaggeration());if(s){const t=e.Q.scaleAndAdd([],r,n,s),i=new e.O(t[0],t[1],e.bo(t[2],e.ax(t[1]))),a=(i.z+e.Q.length([i.x-r[0],i.y-r[1],i.z-r[2]*o]))*this._pixelsPerMercatorPixel;this._seaLevelZoom=this._zoomFromMercatorZ(a),this._centerAltitude=i.toAltitude(),this._center=this.coordinateLocation(i),this._updateZoomFromElevation(),this._constrain(),this._calcMatrices()}}_constrainCamera(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!this._elevation)return;const i=this._elevation,r=e.bo(1,this._center.lat)*this.worldSize,n=this._computeCameraPosition(r),o=i.getAtPointOrZero(new e.O(...n)),s=this.pixelsPerMeter/this.worldSize*o,a=this._minimumHeightOverTerrain(),l=n[2]-s;if(l<=a)if(l<0||t){const t=this.locationCoordinate(this._center,this._centerAltitude),i=[n[0],n[1],t.z-n[2]],r=e.Q.length(i);i[2]-=(a-l)/this._pixelsPerMercatorPixel;const o=e.Q.length(i);if(0===o)return;e.Q.scale(i,i,r/o*this._pixelsPerMercatorPixel),this._camera.position=[n[0],n[1],t.z*this._pixelsPerMercatorPixel-i[2]],this._updateStateFromCamera()}else this._isCameraConstrained=!0}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t="globe"===this.projection.name||this.mercatorFromTransition;if(this.projection.isReprojectedInTileSpace||t){const i=this.center;return i.lat=e.ad(i.lat,this.minLat,this.maxLat),(this.maxBounds||!this.renderWorldCopies&&!t)&&(i.lng=e.ad(i.lng,this.minLng,this.maxLng)),this.center=i,void(this._constraining=!1)}const i=this._unmodified,{x:r,y:n}=this.point;let o=0,s=r,a=n;const l=this.width/2,c=this.height/2,h=this.worldMinY*this.scale,u=this.worldMaxY*this.scale;if(n-cu&&(a=u-c),u-ht&&(s=t-l),t-e{for(let n=0;n<16;n++)e[n]=ur(t[n],i[n],r)})(a,a,l,dr(this.pitch>=15?1:this.pitch/15))}else a=l;const c=e.a9.mul([],l,s);let h=e.a9.mul([],a,s);if(this.projection.isReprojectedInTileSpace){const t=this.locationCoordinate(this.center),i=e.a9.identity([]);e.a9.translate(i,i,[t.x*this.worldSize,t.y*this.worldSize,0]),e.a9.multiply(i,i,e.bE(this)),e.a9.translate(i,i,[-t.x*this.worldSize,-t.y*this.worldSize,0]),e.a9.multiply(h,h,i),e.a9.multiply(c,c,i),this.inverseAdjustmentMatrix=e.bF(this)}else this.inverseAdjustmentMatrix=[1,0,0,1];if(this.mercatorMatrix=e.a9.scale([],h,[this.worldSize,this.worldSize,this.worldSize/o,1]),this.projMatrix=h,this.invProjMatrix=e.a9.invert(new Float64Array(16),this.projMatrix),i){const i=this._camera.getCameraToClipPerspective(this._fov,this.width/this.height,this._nearZ,1/0);i[8]=2*-t.x/this.width,i[9]=2*t.y/this.height,this.expandedFarZProjMatrix=e.a9.mul([],i,s)}else this.expandedFarZProjMatrix=this.projMatrix;const u=e.a9.invert([],a);this.frustumCorners=e.bG.fromInvProjectionMatrix(u,this.horizonLineFromTop(),this.height),this.cameraFrustum=e.bt.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,0,!i);const d=new Float32Array(16);e.a9.identity(d),e.a9.scale(d,d,[1,-1,1]),e.a9.rotateX(d,d,this._pitch),e.a9.rotateZ(d,d,this.angle);const p=e.a9.perspective(new Float32Array(16),this._fov,this.width/this.height,this._nearZ,this._farZ);this.starsProjMatrix=e.a9.clone(p);const f=(Math.PI/2-this._pitch)*(this.height/this._fov)*this._horizonShift;p[8]=2*-t.x/this.width,p[9]=2*(t.y+f)/this.height,this.skyboxMatrix=e.a9.multiply(d,p,d);const m=this.point,_=m.x,g=m.y,y=this.width%2/2,x=this.height%2/2,v=Math.cos(this.angle),b=Math.sin(this.angle),w=_-Math.round(_)+v*y+b*x,T=g-Math.round(g)+v*x+b*y,E=new Float64Array(h);if(e.a9.translate(E,E,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedProjMatrix=E,h=e.a9.create(),e.a9.scale(h,h,[this.width/2,-this.height/2,1]),e.a9.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=e.a9.create(),e.a9.scale(h,h,[1,-1,1]),e.a9.translate(h,h,[-1,-1,0]),e.a9.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=e.a9.multiply(new Float64Array(16),this.labelPlaneMatrix,c),this._calcFogMatrices(),this._distanceTileDataCache={},h=e.a9.invert(new Float64Array(16),this.pixelMatrix),!h)throw new Error("failed to invert matrix");if(this.pixelMatrixInverse=h,"globe"===this.projection.name||this.mercatorFromTransition){this.globeMatrix=e.bH(this);const t=[this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]];this.globeCenterInViewSpace=e.Q.transformMat4(t,t,s),this.globeRadius=this.worldSize/2/Math.PI-1}else this.globeMatrix=h;this._projMatrixCache={},this._alignedProjMatrixCache={},this._pixelsToTileUnitsCache={},this._expandedProjMatrixCache={}}_calcFogMatrices(){this._fogTileMatrixCache={};const t=this.cameraWorldSizeForFog,i=this.cameraPixelsPerMeter,r=this._camera.position,n=1/this.height/this._pixelsPerMercatorPixel,o=[t,t,i];e.Q.scale(o,o,n),e.Q.scale(r,r,-1),e.Q.multiply(r,r,o);const s=e.a9.create();e.a9.translate(s,s,r),e.a9.scale(s,s,o),this.mercatorFogMatrix=s,this.worldToFogMatrix=this._camera.getWorldToCameraPosition(t,i,n)}_computeCameraPosition(e){const t=(e=e||this.pixelsPerMeter)/this.pixelsPerMeter,i=this._camera.forward(),r=this.point,n=this._mercatorZfromZoom(this._seaLevelZoom?this._seaLevelZoom:this._zoom)*t-e/this.worldSize*this._centerAltitude;return[r.x/this.worldSize-i[0]*n,r.y/this.worldSize-i[1]*n,e/this.worldSize*this._centerAltitude-i[2]*n]}_updateCameraState(){this.height&&(this._camera.setPitchBearing(this._pitch,this.angle),this._camera.position=this._computeCameraPosition())}_translateCameraConstrained(t){const i=this._maxCameraBoundsDistance()*Math.cos(this._pitch),r=this._camera.position[2],n=t[2];let o=1;this.projection.wrap&&(this.center=this.center.wrap()),n>0&&(o=Math.min((i-r)/n,1)),this._camera.position=e.Q.scaleAndAdd([],this._camera.position,t,o),this._updateStateFromCamera()}_updateStateFromCamera(){const t=this._camera.position,i=this._camera.forward(),{pitch:r,bearing:n}=this._camera.getPitchBearing(),o=e.bo(this._centerAltitude,this.center.lat)*this._pixelsPerMercatorPixel,s=this._mercatorZfromZoom(this._maxZoom)*Math.cos(e.bm(this._maxPitch)),a=Math.max((t[2]-o)/Math.cos(r),s),l=this._zoomFromMercatorZ(a);e.Q.scaleAndAdd(t,t,i,a),this._pitch=e.ad(r,e.bm(this.minPitch),e.bm(this.maxPitch)),this.angle=e.bk(n,-Math.PI,Math.PI),this._setZoom(e.ad(l,this._minZoom,this._maxZoom)),this._updateSeaLevelZoom(),this._center=this.coordinateLocation(new e.O(t[0],t[1],t[2])),this._unmodified=!1,this._constrain(),this._calcMatrices()}_worldSizeFromZoom(e){return Math.pow(2,e)*this.tileSize}_mercatorZfromZoom(e){return this.cameraToCenterDistance/this._worldSizeFromZoom(e)}_minimumHeightOverTerrain(){const e=Math.min(null!=this._seaLevelZoom?this._seaLevelZoom:this._zoom,this._maxZoom)+4;return this._mercatorZfromZoom(e)}_zoomFromMercatorZ(e){return this.scaleZoom(this.cameraToCenterDistance/(e*this.tileSize))}zoomFromMercatorZAdjusted(t){let i=0,r=e.bA,n=0,o=1/0;for(;r-i>1e-6&&r>i;){const e=i+.5*(r-i),s=this.tileSize*Math.pow(2,e),a=this.getCameraToCenterDistance(this.projection,e,s),l=this.scaleZoom(a/(t*this.tileSize)),c=Math.abs(e-l);cc||i.y>1)return!0}return!1}isHorizonVisible(){return this.pitch+e.bI(this.fovAboveCenter)>88||this.anyCornerOffEdge(new e.P(0,0),new e.P(this.width,this.height))}zoomDeltaToMovement(t,i){const r=e.Q.length(e.Q.sub([],this._camera.position,t)),n=this._zoomFromMercatorZ(r)+i;return r-this._mercatorZfromZoom(n)}getCameraPoint(){if("globe"===this.projection.name){const t=function(t,i){let[r,n,o]=t;const s=[r,n,o,1];e.aa.transformMat4(s,s,i);const a=s[3]=Math.max(s[3],1e-6);return s[0]/=a,s[1]/=a,s[2]/=a,s}([this.globeMatrix[12],this.globeMatrix[13],this.globeMatrix[14]],this.pixelMatrix);return new e.P(t[0],t[1])}{const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}}getCameraToCenterDistance(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.zoom,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.worldSize;const n=e.bD(t,i,this.width,this.height,1024),o=t.pixelSpaceConversion(this.center.lat,r,n);let s=.5/Math.tan(.5*this._fov)*this.height*o;return this.isOrthographic&&(s=ur(1,s,dr(this.pitch>=15?1:this.pitch/15))),s}getWorldToCameraMatrix(){const t=this._camera.getWorldToCamera(this.worldSize,"meters"===this.projection.zAxisUnit?this.pixelsPerMeter:1);return"globe"===this.projection.name&&e.a9.multiply(t,t,this.globeMatrix),t}getFrustum(t){return e.bt.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,t,"meters"===this.projection.zAxisUnit)}}const fr={BaseColor:5,MetallicRoughness:6,Normal:7,Occlusion:8,Emission:9,ShadowMap0:10},mr=(t,i)=>{if(i>0&&t.terrain&&e.w("Cutoff is currently disabled on terrain"),i<=0||t.terrain)return{shouldRenderCutoff:!1,uniformValues:{u_cutoff_params:[0,0,0,1]}};const r=t.transform,n=Math.max(Math.abs(r._zoom-(t.minCutoffZoom-1)),1),o=r.isLODDisabled(!1)?e.S(60,45,r.pitch):e.S(30,15,r.pitch),s=r._farZ-r._nearZ,a=i*r.height,l=((1-(c=o))*r.cameraToCenterDistance+c*(r._farZ+a))*n;var c;return{shouldRenderCutoff:o<1,uniformValues:{u_cutoff_params:[r._nearZ,r._farZ,(l-r._nearZ)/s,(l-a-r._nearZ)/s]}}},_r={cascadeCount:2,shadowMapResolution:2048};class gr{constructor(e,t){this.aabb=e,this.lastCascade=t}}class yr{add(e,t){const i=this.receivers[e.key];void 0!==i?(i.aabb.min[0]=Math.min(i.aabb.min[0],t.min[0]),i.aabb.min[1]=Math.min(i.aabb.min[1],t.min[1]),i.aabb.min[2]=Math.min(i.aabb.min[2],t.min[2]),i.aabb.max[0]=Math.max(i.aabb.max[0],t.max[0]),i.aabb.max[1]=Math.max(i.aabb.max[1],t.max[1]),i.aabb.max[2]=Math.max(i.aabb.max[2],t.max[2])):this.receivers[e.key]=new gr(t,null)}clear(){this.receivers={}}get(e){return this.receivers[e.key]}computeRequiredCascades(t,i,r){const n=e.bV.fromPoints(t.points);let o=0;for(const s in this.receivers){const t=this.receivers[s];if(!t)continue;if(!n.intersectsAabb(t.aabb))continue;t.aabb.min=n.closestPoint(t.aabb.min),t.aabb.max=n.closestPoint(t.aabb.max);const a=t.aabb.getCorners();for(let n=0;n1||o[1]<-1||o[1]>1){s=!1;break}}if(t.lastCascade=n,o=Math.max(o,n),s)break}}return o+1}}class xr{constructor(e){this.painter=e,this._enabled=!1,this._shadowLayerCount=0,this._numCascadesToRender=0,this._cascades=[],this._groundShadowTiles=[],this._receivers=new yr,this._depthMode=new Mt(e.context.gl.LEQUAL,Mt.ReadWrite,[0,1]),this._uniformValues={u_light_matrix_0:new Float32Array(16),u_light_matrix_1:new Float32Array(16),u_shadow_intensity:0,u_fade_range:[0,0],u_shadow_normal_offset:[1,1,1],u_shadow_texel_size:1,u_shadow_map_resolution:1,u_shadow_direction:[0,0,1],u_shadow_bias:[36e-5,.0012,.012],u_shadowmap_0:0,u_shadowmap_1:0},this._forceDisable=!1,this.useNormalOffset=!1,e.tp.registerParameter(this,["Shadows"],"_forceDisable",{label:"forceDisable"},(()=>{this.painter.style.map.triggerRepaint()})),e.tp.registerParameter(_r,["Shadows"],"cascadeCount",{min:1,max:2,step:1}),e.tp.registerParameter(_r,["Shadows"],"shadowMapResolution",{min:32,max:2048,step:32}),e.tp.registerBinding(this,["Shadows"],"_numCascadesToRender",{readonly:!0,label:"numCascadesToRender"})}destroy(){for(const e of this._cascades)e.texture.destroy(),e.framebuffer.destroy();this._cascades=[]}updateShadowParameters(t,i){const r=this.painter;if(this._enabled=!1,this._shadowLayerCount=0,this._receivers.clear(),!i||!i.properties)return;const n=i.properties.get("shadow-intensity");if(!i.shadowsEnabled()||n<=0)return;if(this._shadowLayerCount=r.style.order.reduce(((e,i)=>{const n=r.style._mergedLayers[i];return e+(n.hasShadowPass()&&!n.isHidden(t.zoom)?1:0)}),0),this._enabled=this._shadowLayerCount>0,!this.enabled)return;const o=r.context,s=_r.shadowMapResolution,a=_r.shadowMapResolution;if(0===this._cascades.length||_r.shadowMapResolution!==this._cascades[0].texture.size[0]){this._cascades=[];for(let t=0;t<_r.cascadeCount;++t){const t=r._shadowMapDebug,i=o.gl,n=o.createFramebuffer(s,a,t,"texture"),l=new e.T(o,{width:s,height:a,data:null},i.DEPTH_COMPONENT);if(n.depthAttachment.set(l.texture),t){const t=new e.T(o,{width:s,height:a,data:null},i.RGBA);n.colorAttachment.set(t.texture)}this._cascades.push({framebuffer:n,texture:l,matrix:[],far:0,boundingSphereRadius:0,frustum:new e.bt,scale:0})}}this.shadowDirection=br(i);let l=0;if(t.elevation){const e=t.elevation,i=[1e4,-1e4];e.visibleDemTiles.filter((e=>e.dem)).forEach((e=>{const t=e.dem.tree;i[0]=Math.min(i[0],t.minimums[0]),i[1]=Math.max(i[1],t.maximums[0])})),1e4!==i[0]&&(l=(i[1]-i[0])*e.exaggeration())}const c=1.5*t.cameraToCenterDistance,h=3*c,u=new Float64Array(16);for(let f=0;f3&&void 0!==arguments[3]?arguments[3]:0;if(!this.enabled)return;const o=this.painter.transform,s=this.painter.context,a=s.gl,l=this._uniformValues,c=new Float64Array(16),h=o.calculatePosMatrix(t,o.worldSize);for(let u=0;u2&&void 0!==arguments[2]&&arguments[2];if(!this.enabled)return;const n=this.painter.context,o=n.gl,s=this._uniformValues,a=new Float64Array(16);for(let l=0;l<_r.cascadeCount;l++)e.a9.multiply(a,this._cascades[l].matrix,t),s[0===l?"u_light_matrix_0":"u_light_matrix_1"]=Float32Array.from(a),n.activeTexture.set(o.TEXTURE0+fr.ShadowMap0+l),this._cascades[l].texture.bind(o.NEAREST,o.CLAMP_TO_EDGE);if(this.useNormalOffset=r,r){const e=5;s.u_shadow_normal_offset=[1,e,e],s.u_shadow_bias=[6e-5,.0012,.012]}else s.u_shadow_bias=[36e-5,.0012,.012];i.setShadowUniformValues(n,s)}getShadowUniformValues(){return this._uniformValues}getCurrentCascadeFrustum(){return this._cascades[this.painter.currentShadowCascade].frustum}computeSimplifiedTileShadowVolume(t,i,r,n){if(n[2]>=0)return{};const o=function(t,i,r){const n=r/(1<0&&(e.Q.add(o[1],o[1],[n[0]*s,0,0]),e.Q.add(o[2],o[2],[n[0]*s,0,0])),n[1]<0?(e.Q.add(o[0],o[0],[0,n[1]*s,0]),e.Q.add(o[1],o[1],[0,n[1]*s,0])):n[1]>0&&(e.Q.add(o[2],o[2],[0,n[1]*s,0]),e.Q.add(o[3],o[3],[0,n[1]*s,0]));const a={};return a.vertices=o,a.planes=[vr(o[1],o[0],o[4]),vr(o[2],o[1],o[5]),vr(o[3],o[2],o[6]),vr(o[0],o[3],o[7])],a}addShadowReceiver(t,i,r){this._receivers.add(t,e.bV.fromTileIdAndHeight(t,i,r))}getMaxCascadeForTile(e){const t=this._receivers.get(e);return t&&t.lastCascade?t.lastCascade:0}}function vr(t,i,r){const n=e.Q.sub([],r,i),o=e.Q.sub([],t,i),s=e.Q.cross([],n,o),a=e.Q.length(s);return 0===a?[0,0,1,0]:(e.Q.scale(s,s,1/a),[s[0],s[1],s[2],-e.Q.dot(s,i)])}function br(t){const i=t.properties.get("direction"),r=e.bT(i.x,i.y,i.z);r[2]=e.ad(r[2],0,75);const n=e.bW([r[0],r[1],r[2]]);return e.Q.fromValues(n.x,n.y,n.z)}function wr(t,i){const r=t.properties.get("color"),n=t.properties.get("intensity"),o=t.properties.get("direction"),s=[o.x,o.y,o.z],a=i.properties.get("color"),l=i.properties.get("intensity"),c=Math.max(e.Q.dot([0,0,1],s),0),h=[0,0,0];e.Q.scale(h,a.toArray01Linear().slice(0,3),l);const u=[0,0,0];return e.Q.scale(u,r.toArray01Linear().slice(0,3),c*n),e.bX([h[0]>0?h[0]/(h[0]+u[0]):0,h[1]>0?h[1]/(h[1]+u[1]):0,h[2]>0?h[2]/(h[2]+u[2]):0])}function Tr(t,i,r,n,o,s){const a=t.zoom,l=t.scale,c=t.worldSize,h=1/c,u=t.aspect,d=Math.sqrt(1+u*u)*Math.tan(.5*t.fovX),p=d*d,f=n-r,m=n+r;let _,g;p>f/m?(_=n,g=n*d):(_=.5*m*(1+p),g=.5*Math.sqrt(f*f+2*(n*n+r*r)*p+m*m*p*p));const y=t.projection.pixelsPerMeter(t.center.lat,c),x=t._camera.getCameraToWorldMercator(),v=[0,0,-_*h];e.Q.transformMat4(v,v,x);let b=g*h;const w=t._edgeInsets;if(!(0===w.left&&0===w.top&&0===w.right&&0===w.bottom||w.left===w.right&&w.top===w.bottom)){const i=t._camera.getWorldToCamera(t.worldSize,"meters"===t.projection.zAxisUnit?y:1),o=t._camera.getCameraToClipPerspective(t._fov,t.width/t.height,r,n);o[8]=2*-t.centerOffset.x/t.width,o[9]=2*t.centerOffset.y/t.height;const s=new Float64Array(16);e.a9.mul(s,o,i);const h=new Float64Array(16);e.a9.invert(h,s);const u=e.bt.fromInvProjectionMatrix(h,c,a,!0);for(const r of u.points){const i=((T=r)[0]/=l,T[1]/=l,T[2]=e.bo(T[2],t._center.lat),T);b=Math.max(b,e.Q.len(e.Q.subtract([],v,i)))}}var T;b*=o/(o-1);const E=Math.acos(i[2]),S=Math.atan2(-i[0],-i[1]),M=new hr;M.position=v,M.setPitchBearing(E,S);const A=M.getWorldToCamera(c,y),I=b*c,C=Math.min(t._mercatorZfromZoom(17)*c*-2,-2*I),P=M.getCameraToClipOrthographic(-I,I,-I,I,C,(I+s*y)/i[2]),z=new Float64Array(16);e.a9.multiply(z,P,A);const D=e.Q.fromValues(Math.floor(1e6*v[0])/1e6*c,Math.floor(1e6*v[1])/1e6*c,0),R=.5*o,L=[0,0,0];e.Q.transformMat4(L,D,z),e.Q.scale(L,L,R);const k=[Math.floor(L[0]),Math.floor(L[1]),Math.floor(L[2])],O=[0,0,0];e.Q.sub(O,L,k),e.Q.scale(O,O,-1/R);const B=new Float64Array(16);return e.a9.identity(B),e.a9.translate(B,B,O),e.a9.multiply(z,B,z),[z,I]}const Er=(e,t)=>se(e,t&&t.filter((e=>"source.canvas"!==e.identifier))),Sr=e.af(ti,["addLayer","removeLayer","setLights","setPaintProperty","setLayoutProperty","setSlot","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData","setTerrain","setFog","setProjection","setCamera","addImport","removeImport","updateImport"]),Mr=e.af(ti,["setCenter","setZoom","setBearing","setPitch"]),Ar={version:8,layers:[],sources:{}},Ir={duration:300,delay:0};class Cr extends e.E{constructor(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.map=t,this.scope=i.scope||"",this.globalId=null,this.fragments=[],this.importDepth=i.importDepth||0,this.importsCache=i.importsCache||new Map,this.resolvedImports=i.resolvedImports||new Set,this.transition=e.e({},Ir),this._buildingIndex=new Kt(this),this.crossTileSymbolIndex=new nr,this._mergedOrder=[],this._drapedFirstOrder=[],this._mergedLayers={},this._mergedSourceCaches={},this._mergedOtherSourceCaches={},this._mergedSymbolSourceCaches={},this._has3DLayers=!1,this._hasCircleLayers=!1,this._hasSymbolLayers=!1,this._changes=i.styleChanges||new y,this.dispatcher=i.dispatcher?i.dispatcher:new e.bZ(e.b_(),this),i.imageManager?this.imageManager=i.imageManager:(this.imageManager=new w,this.imageManager.setEventedParent(this)),this.imageManager.createScope(this.scope),this.glyphManager=i.glyphManager?i.glyphManager:new e.b$(t._requestManager,i.localFontFamily?e.c0.all:i.localIdeographFontFamily?e.c0.ideographs:e.c0.none,i.localFontFamily||i.localIdeographFontFamily),i.modelManager?this.modelManager=i.modelManager:(this.modelManager=new x(t._requestManager),this.modelManager.setEventedParent(this)),this._layers={},this._serializedLayers={},this._sourceCaches={},this._otherSourceCaches={},this._symbolSourceCaches={},this._loaded=!1,this._precompileDone=!1,this._shouldPrecompile=!1,this._availableImages=[],this._order=[],this._markersNeedUpdate=!1,this.options=i.configOptions?i.configOptions:new Map,this._configDependentLayers=i.configDependentLayers?i.configDependentLayers:new Set,this._config=i.config,this._initialConfig=i.initialConfig,this.dispatcher.broadcast("setReferrer",e.c1());const r=this;this._rtlTextPluginCallback=Cr.registerForPluginStateChange((t=>{r.dispatcher.broadcast("syncRTLPluginState",{pluginStatus:t.pluginStatus,pluginURL:t.pluginURL},((t,i)=>{if(e.c2(t),i&&i.every((e=>e)))for(const e in r._sourceCaches){const t=r._sourceCaches[e],i=t.getSource().type;"vector"!==i&&"geojson"!==i||t.reload()}}))})),this.on("data",(e=>{if("source"!==e.dataType||"metadata"!==e.sourceDataType)return;const t=this.getOwnSource(e.sourceId);if(t&&t.vectorLayerIds)for(const i in this._layers){const e=this._layers[i];e.source===t.id&&this._validateLayer(e)}}))}load(e){return e?("string"==typeof e?this.loadURL(e):this.loadJSON(e),this):this}_getGlobalId(t){if(!t)return null;if("string"==typeof t){if(e.c3(t))return t;const i=e.c4(t);if(!i.startsWith("http"))try{return new URL(i,location.href).toString()}catch(e){return i}return i}return`json://${e.c5(JSON.stringify(t))}`}_diffStyle(t,i,r){this.globalId=this._getGlobalId(t);const n=(e,t)=>{try{t(null,this.setState(e,r))}catch(e){t(e,!1)}};if("string"==typeof t){const r=this.map._requestManager.normalizeStyleURL(t),o=this.map._requestManager.transformRequest(r,e.R.Style);e.g(o,((t,r)=>{t?this.fire(new e.a(t)):r&&n(r,i)}))}else"object"==typeof t&&n(t,i)}loadURL(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.b("dataloading",{dataType:"style"}));const r="boolean"==typeof i.validate?i.validate:!e.c3(t);this.globalId=this._getGlobalId(t),t=this.map._requestManager.normalizeStyleURL(t,i.accessToken),this.resolvedImports.add(t);const n=this.importsCache.get(t);if(n)return this._load(n,r);const o=this.map._requestManager.transformRequest(t,e.R.Style);this._request=e.g(o,((i,n)=>{if(this._request=null,i)this.fire(new e.a(i));else if(n)return this.importsCache.set(t,n),this._load(n,r)}))}loadJSON(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.fire(new e.b("dataloading",{dataType:"style"})),this.globalId=this._getGlobalId(t),this._request=e.f.frame((()=>{this._request=null,this._load(t,!1!==i.validate)}))}loadEmpty(){this.fire(new e.b("dataloading",{dataType:"style"})),this._load(Ar,!1)}_loadImports(t,i,r){if(this.importDepth>=4)return e.w("Style doesn't support nesting deeper than 5"),Promise.resolve();const n=[];for(const e of t){const t=this._createFragmentStyle(e),o=new Promise((e=>{t.once("style.import.load",e),t.once("error",e)})).then((()=>this.mergeAll()));if(n.push(o),this.resolvedImports.has(e.url)){t.loadEmpty();continue}const s=e.data||this.importsCache.get(e.url);s?(t.loadJSON(s,{validate:i}),this._isInternalStyle(s)&&(t.globalId=null)):e.url?t.loadURL(e.url,{validate:i}):t.loadEmpty();const a={style:t,id:e.id,config:e.config};if(r){const e=this.fragments.findIndex((e=>{let{id:t}=e;return t===r}));this.fragments=this.fragments.slice(0,e).concat(a).concat(this.fragments.slice(e))}else this.fragments.push(a)}return Promise.allSettled(n)}getImportGlobalIds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const i of e.fragments)i.style.globalId&&t.add(i.style.globalId),this.getImportGlobalIds(i.style,t);return[...t.values()]}_createFragmentStyle(t){const i=this.scope?e.aj(t.id,this.scope):t.id;let r;const n=this._initialConfig&&this._initialConfig[i];(t.config||n)&&(r=e.e({},t.config,n));const o=new Cr(this.map,{scope:i,styleChanges:this._changes,importDepth:this.importDepth+1,importsCache:this.importsCache,resolvedImports:new Set(this.resolvedImports),dispatcher:this.dispatcher,imageManager:this.imageManager,glyphManager:this.glyphManager,modelManager:this.modelManager,config:r,configOptions:this.options,configDependentLayers:this._configDependentLayers});return o.setEventedParent(this.map,{style:o}),o}_reloadImports(){this.mergeAll(),this._updateMapProjection(),this.updateConfigDependencies(),this.map._triggerCameraUpdate(this.camera),this.dispatcher.broadcast("setLayers",{layers:this._serializeLayers(this._order),scope:this.scope,options:this.options}),this._shouldPrecompile=this.isRootStyle()}_isInternalStyle(e){return this.isRootStyle()&&(e.fragment||!!e.schema&&!1!==e.fragment)}_load(t,i){const r=t.schema;if(this._isInternalStyle(t)){const r=e.e({},Ar,{imports:[{id:"basemap",data:t,url:""}]});return void this._load(r,i)}if(this.updateConfig(this._config,r),i&&Er(this,Q(t)))return;this._loaded=!0,this.stylesheet=e.c6(t);for(const e in t.sources)this.addSource(e,t.sources[e],{validate:!1,isInitialLoad:!0});t.sprite?this._loadSprite(t.sprite):(this.imageManager.setLoaded(!0,this.scope),this.dispatcher.broadcast("spriteLoaded",{scope:this.scope,isLoaded:!0})),this.glyphManager.setURL(t.glyphs,this.scope);const n=ei(this.stylesheet.layers);if(this._order=n.map((e=>e.id)),this.stylesheet.light&&e.w("The `light` root property is deprecated, prefer using `lights` with `flat` light type instead."),this.stylesheet.lights)if(1===this.stylesheet.lights.length&&"flat"===this.stylesheet.lights[0].type){const e=this.stylesheet.lights[0];this.light=new le(e.properties,e.id)}else this.setLights(this.stylesheet.lights);this.light||(this.light=new le(this.stylesheet.light)),this._layers={},this._serializedLayers={};for(const a of n){const t=e.c7(a,this.scope,this.options);t.isConfigDependent&&this._configDependentLayers.add(t.fqid),t.setEventedParent(this,{layer:{id:t.id}}),this._layers[t.id]=t,this._serializedLayers[t.id]=t.serialize();const i=this.getOwnLayerSourceCache(t),r=!!this.directionalLight&&this.directionalLight.shadowsEnabled();i&&t.canCastShadows()&&r&&(i.castsShadows=!0)}this.stylesheet.models&&this.modelManager.addModels(this.stylesheet.models,this.scope);const o=this.stylesheet.terrain;o&&(void 0===this.disableElevatedTerrain&&(this.disableElevatedTerrain=e.f.hasCanvasFingerprintNoise()),this.disableElevatedTerrain?e.w("Terrain and hillshade are disabled because of Canvas2D limitations when fingerprinting protection is enabled (e.g. in private browsing mode)."):this.terrainSetForDrapingOnly()||this._createTerrain(o,1)),this.stylesheet.fog&&this._createFog(this.stylesheet.fog),this.stylesheet.transition&&this.setTransition(this.stylesheet.transition),this.fire(new e.b("data",{dataType:"style"}));const s=this.isRootStyle();t.imports?this._loadImports(t.imports,i).then((()=>{this._reloadImports(),this.fire(new e.b(s?"style.load":"style.import.load"))})):(this._reloadImports(),this.fire(new e.b(s?"style.load":"style.import.load")))}isRootStyle(){return 0===this.importDepth}mergeAll(){let t,i,r,n,o,s,a,l;this.terrain&&this.terrain.scope!==this.scope&&delete this.terrain,this.forEachFragmentStyle((e=>{if(e.stylesheet){if(null!=e.light&&(t=e.light),e.stylesheet.lights)for(const t of e.stylesheet.lights)"ambient"===t.type&&null!=e.ambientLight&&(i=e.ambientLight),"directional"===t.type&&null!=e.directionalLight&&(r=e.directionalLight);n=this._prioritizeTerrain(n,e.terrain,e.stylesheet.terrain),e.stylesheet.fog&&null!=e.fog&&(o=e.fog),null!=e.stylesheet.camera&&(l=e.stylesheet.camera),null!=e.stylesheet.projection&&(s=e.stylesheet.projection),null!=e.stylesheet.transition&&(a=e.stylesheet.transition)}})),this.light=t,this.ambientLight=i,this.directionalLight=r,this.fog=o,null===n?delete this.terrain:this.terrain=n,this.camera=l||{"camera-projection":"perspective"},this.projection=s||{name:"mercator"},this.transition=e.e({},Ir,a),this.mergeSources(),this.mergeLayers()}forEachFragmentStyle(e){const t=i=>{for(const e of i.fragments)t(e.style);e(i)};t(this)}_prioritizeTerrain(e,t,i){const r=e&&0===e.drapeRenderMode;return null===i?t&&0===t.drapeRenderMode?t:r?e:null:null!=t&&(!e||r||t&&1===t.drapeRenderMode)?t:e}mergeTerrain(){let e;this.terrain&&this.terrain.scope!==this.scope&&delete this.terrain,this.forEachFragmentStyle((t=>{e=this._prioritizeTerrain(e,t.terrain,t.stylesheet.terrain)})),null===e?delete this.terrain:this.terrain=e}mergeProjection(){let e;this.forEachFragmentStyle((t=>{null!=t.stylesheet.projection&&(e=t.stylesheet.projection)})),this.projection=e||{name:"mercator"}}mergeSources(){const t={},i={},r={};this.forEachFragmentStyle((n=>{for(const i in n._sourceCaches){const r=e.aj(i,n.scope);t[r]=n._sourceCaches[i]}for(const t in n._otherSourceCaches){const r=e.aj(t,n.scope);i[r]=n._otherSourceCaches[t]}for(const t in n._symbolSourceCaches){const i=e.aj(t,n.scope);r[i]=n._symbolSourceCaches[t]}})),this._mergedSourceCaches=t,this._mergedOtherSourceCaches=i,this._mergedSymbolSourceCaches=r}mergeLayers(){var t=this;const i={},r=[],n={};this._has3DLayers=!1,this._hasCircleLayers=!1,this._hasSymbolLayers=!1,this.forEachFragmentStyle((t=>{for(const n of t._order){const o=t._layers[n];if("slot"===o.type){const t=e.c8(n);if(i[t])continue;i[t]=[]}o.slot&&i[o.slot]?i[o.slot].push(o):r.push(o)}})),this._mergedOrder=[];const o=function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];for(const s of r)if("slot"===s.type){const t=e.c8(s.id);i[t]&&o(i[t])}else{const i=e.aj(s.id,s.scope);t._mergedOrder.push(i),n[i]=s,s.is3D()&&(t._has3DLayers=!0),"circle"===s.type&&(t._hasCircleLayers=!0),"symbol"===s.type&&(t._hasSymbolLayers=!0)}};o(r),this._mergedLayers=n,this.updateDrapeFirstLayers(),this._buildingIndex.processLayersChanged()}terrainSetForDrapingOnly(){return!!this.terrain&&0===this.terrain.drapeRenderMode}getCamera(){return this.stylesheet.camera}setCamera(t){return this.stylesheet.camera=e.e({},this.stylesheet.camera,t),this.camera=this.stylesheet.camera,this}setProjection(e){e?this.stylesheet.projection=e:delete this.stylesheet.projection,this.mergeProjection(),this._updateMapProjection()}applyProjectionUpdate(){this._loaded&&(this.dispatcher.broadcast("setProjection",this.map.transform.projectionOptions),this.map.transform.projection.requiresDraping?(this.getTerrain()||this.stylesheet.terrain)&&!this.disableElevatedTerrain||this.setTerrainForDraping():this.terrainSetForDrapingOnly()&&this.setTerrain(null,0))}_updateMapProjection(){this.isRootStyle()&&(this.map._useExplicitProjection?this.applyProjectionUpdate():this.map._prioritizeAndUpdateProjection(null,this.projection))}_loadSprite(t){this._spriteRequest=function(t,i,r){let n,o,s;const a=e.f.devicePixelRatio>1?"@2x":"";let l=e.g(i.transformRequest(i.normalizeSpriteURL(t,a,".json"),e.R.SpriteJSON),((e,t)=>{l=null,s||(s=e,n=t,h())})),c=e.d(i.transformRequest(i.normalizeSpriteURL(t,a,".png"),e.R.SpriteImage),((e,t)=>{c=null,s||(s=e,o=t,h())}));function h(){if(s)r(s);else if(n&&o){const t=e.f.getImageData(o),i={};for(const r in n){const{width:o,height:s,x:a,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:p}=n[r],f=new e.h({width:o,height:s});e.h.copy(t,f,{x:a,y:l},{x:0,y:0},{width:o,height:s}),i[r]={data:f,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:p}}r(null,i)}}return{cancel(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(t,this.map._requestManager,((t,i)=>{if(this._spriteRequest=null,t)this.fire(new e.a(t));else if(i)for(const e in i)this.imageManager.addImage(e,this.scope,i[e]);this.imageManager.setLoaded(!0,this.scope),this._availableImages=this.imageManager.listImages(this.scope),this.dispatcher.broadcast("setImages",{scope:this.scope,images:this._availableImages}),this.dispatcher.broadcast("spriteLoaded",{scope:this.scope,isLoaded:!0}),this.fire(new e.b("data",{dataType:"style"}))}))}_validateLayer(t){const i=this.getOwnSource(t.source);if(!i)return;const r=t.sourceLayer;r&&("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(r))&&this.fire(new e.a(new Error(`Source layer "${r}" does not exist on source "${i.id}" as specified by style layer "${t.id}"`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._changes.getUpdatedSourceCaches()).length)return!1;for(const e in this._sourceCaches)if(!this._sourceCaches[e].loaded())return!1;if(!this.imageManager.isLoaded())return!1;if(!this.modelManager.isLoaded())return!1;for(const{style:e}of this.fragments)if(!e.loaded())return!1;return!0}_serializeImports(){if(this.stylesheet.imports)return this.stylesheet.imports.map(((e,t)=>{const i=this.fragments[t];return i&&i.style&&(e.data=i.style.serialize()),e}))}_serializeSources(){const e={};for(const t in this._sourceCaches){const i=this._sourceCaches[t].getSource();e[i.id]||(e[i.id]=i.serialize())}return e}_serializeLayers(e){const t=[];for(const i of e){const e=this._layers[i];e&&"custom"!==e.type&&t.push(e.serialize())}return t}hasLightTransitions(){return!(!this.light||!this.light.hasTransition())||!(!this.ambientLight||!this.ambientLight.hasTransition())||!(!this.directionalLight||!this.directionalLight.hasTransition())}hasFogTransition(){return!!this.fog&&this.fog.hasTransition()}hasTransitions(){if(this.hasLightTransitions())return!0;if(this.hasFogTransition())return!0;for(const e in this._sourceCaches)if(this._sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}get order(){return this.terrain?this._drapedFirstOrder:this._mergedOrder}isLayerDraped(e){return!!this.terrain&&e.isDraped(this.getLayerSourceCache(e))}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading")}_checkLayer(t){const i=this.getOwnLayer(t);if(i)return i;this.fire(new e.a(new Error(`The layer '${t}' does not exist in the map's style.`)))}_checkSource(t){const i=this.getOwnSource(t);if(i)return i;this.fire(new e.a(new Error(`The source '${t}' does not exist in the map's style.`)))}update(t){if(!this._loaded)return;this.ambientLight&&this.ambientLight.recalculate(t),this.directionalLight&&this.directionalLight.recalculate(t);const i=this.calculateLightsBrightness();t.brightness=i||0,i!==this._brightness&&(this._brightness=i,this.dispatcher.broadcast("setBrightness",i));const r=this._changes.isDirty();if(this._changes.isDirty()){const e=this._changes.getLayerUpdatesByScope();for(const t in e){const{updatedIds:i,removedIds:r}=e[t];(i||r)&&this._updateWorkerLayers(t,i,r)}this.updateSourceCaches(),this._updateTilesForChangedImages(),this.updateLayers(t),this.light&&this.light.updateTransitions(t),this.ambientLight&&this.ambientLight.updateTransitions(t),this.directionalLight&&this.directionalLight.updateTransitions(t),this.fog&&this.fog.updateTransitions(t),this._changes.reset()}const n={};for(const e in this._mergedSourceCaches){const t=this._mergedSourceCaches[e];n[e]=t.used,t.used=!1,t.tileCoverLift=0}for(const e of this._mergedOrder){const i=this._mergedLayers[e];if(i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)){const e=this.getLayerSourceCache(i);e&&(e.used=!0,e.tileCoverLift=Math.max(e.tileCoverLift,i.tileCoverLift()))}if(!this._precompileDone&&this._shouldPrecompile)for(let e=i.minzoom||0;e<(i.maxzoom||25.5);e++){const e=this.map.painter;if(e){const r=i.getProgramIds();if(!r)continue;for(const n of r){const r=i.getDefaultProgramParams(n,t.zoom);r&&(e.style=this,this.fog&&(e._fogVisible=!0,r.overrideFog=!0,e.getOrCreateProgram(n,r)),e._fogVisible=!1,r.overrideFog=!1,e.getOrCreateProgram(n,r),(this.stylesheet.terrain||this.stylesheet.projection&&"globe"===this.stylesheet.projection.name)&&(r.overrideRtt=!0,e.getOrCreateProgram(n,r)))}}}}this._shouldPrecompile&&(this._precompileDone=!0);for(const o in n){const t=this._mergedSourceCaches[o];n[o]!==t.used&&t.getSource().fire(new e.b("data",{sourceDataType:"visibility",dataType:"source",sourceId:t.getSource().id}))}this.light&&this.light.recalculate(t),this.terrain&&this.terrain.recalculate(t),this.fog&&this.fog.recalculate(t),this.z=t.zoom,this._markersNeedUpdate&&(this._updateMarkersOpacity(),this._markersNeedUpdate=!1),r&&this.fire(new e.b("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=this._changes.getUpdatedImages();if(e.length){for(const t in this._sourceCaches)this._sourceCaches[t].reloadTilesForDependencies(["icons","patterns"],e);this._changes.resetUpdatedImages()}}_updateWorkerLayers(e,t,i){const r=this.getFragmentStyle(e);r&&this.dispatcher.broadcast("updateLayers",{layers:t?r._serializeLayers(t):[],scope:e,removedIds:i||[],options:r.options})}setState(i,r){if(this._checkLoaded(),Er(this,Q(i)))return!1;(i=e.c6(i)).layers=ei(i.layers);const n=function(e,i){if(!e)return[{command:ti.setStyle,args:[i]}];let r=[];try{if(!t(e.version,i.version))return[{command:ti.setStyle,args:[i]}];t(e.center,i.center)||r.push({command:ti.setCenter,args:[i.center]}),t(e.zoom,i.zoom)||r.push({command:ti.setZoom,args:[i.zoom]}),t(e.bearing,i.bearing)||r.push({command:ti.setBearing,args:[i.bearing]}),t(e.pitch,i.pitch)||r.push({command:ti.setPitch,args:[i.pitch]}),t(e.sprite,i.sprite)||r.push({command:ti.setSprite,args:[i.sprite]}),t(e.glyphs,i.glyphs)||r.push({command:ti.setGlyphs,args:[i.glyphs]}),t(e.imports,i.imports)||function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0;i=i||[];const n=(e=e||[]).map(ai),o=i.map(ai),s=e.reduce(li,{}),a=i.reduce(li,{}),l=n.slice();let c,h,u,d;for(c=0,h=0;c{e.source&&n[e.source]?r.push({command:ti.removeLayer,args:[e.id]}):s.push(e)}));let a=e.terrain;a&&n[a.source]&&(r.push({command:ti.setTerrain,args:[void 0]}),a=void 0),r=r.concat(o),t(a,i.terrain)||r.push({command:ti.setTerrain,args:[i.terrain]}),function(e,i,r){i=i||[];const n=(e=e||[]).map(ai),o=i.map(ai),s=e.reduce(li,{}),a=i.reduce(li,{}),l=n.slice(),c=Object.create(null);let h,u,d,p,f,m,_;for(h=0,u=0;h!(e.command in Mr)));if(0===n.length)return!1;const o=n.filter((e=>!(e.command in Sr)));if(o.length>0)throw new Error(`Unimplemented: ${o.map((e=>e.command)).join(", ")}.`);const s=[];return n.forEach((e=>{s.push(this[e.command].apply(this,e.args))})),r&&Promise.all(s).then(r),this.stylesheet=i,this.mergeAll(),this.dispatcher.broadcast("setLayers",{layers:this._serializeLayers(this._order),scope:this.scope,options:this.options}),!0}addImage(t,i){return this.getImage(t)?this.fire(new e.a(new Error("An image with this name already exists."))):(this.imageManager.addImage(t,this.scope,i),this._afterImageUpdated(t),this)}updateImage(e,t){this.imageManager.updateImage(e,this.scope,t)}getImage(e){return this.imageManager.getImage(e,this.scope)}removeImage(t){return this.getImage(t)?(this.imageManager.removeImage(t,this.scope),this._afterImageUpdated(t),this):this.fire(new e.a(new Error("No image with this name exists.")))}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(this.scope),this._changes.updateImage(t),this.dispatcher.broadcast("setImages",{scope:this.scope,images:this._availableImages}),this.fire(new e.b("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this._availableImages.slice()}addModel(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._checkLoaded(),this._validate(ne,`models.${e}`,t,null,i)||(this.modelManager.addModel(e,t,this.scope),this._changes.setDirty()),this}hasModel(e){return this.modelManager.hasModel(e,this.scope)}removeModel(t){return this.hasModel(t)?(this.modelManager.removeModel(t,this.scope),this):this.fire(new e.a(new Error("No model with this ID exists.")))}listModels(){return this._checkLoaded(),this.modelManager.listModels(this.scope)}addSource(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._checkLoaded(),void 0!==this.getOwnSource(t))throw new Error(`There is already a source with ID "${t}".`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(i.type)>=0&&this._validate(H,`sources.${t}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=Ut(t,i,this.dispatcher,this);n.scope=this.scope,n.setEventedParent(this,(()=>({isSourceLoaded:this._isSourceCacheLoaded(n.id),source:n.serialize(),sourceId:n.id})));const o=t=>{const i=(t?"symbol:":"other:")+n.id,r=e.aj(i,this.scope),o=this._sourceCaches[i]=new Qt(r,n,t);(t?this._symbolSourceCaches:this._otherSourceCaches)[n.id]=o,o.onAdd(this.map)};o(!1),"vector"!==i.type&&"geojson"!==i.type||o(!0),n.onAdd&&n.onAdd(this.map),r.isInitialLoad||(this.mergeSources(),this._changes.setDirty())}removeSource(t){this._checkLoaded();const i=this.getOwnSource(t);if(!i)throw new Error("There is no source with this ID");for(const n in this._layers)if(this._layers[n].source===t)return this.fire(new e.a(new Error(`Source "${t}" cannot be removed while layer "${n}" is using it.`)));if(this.terrain&&this.terrain.scope===this.scope&&this.terrain.get().source===t)return this.fire(new e.a(new Error(`Source "${t}" cannot be removed while terrain is using it.`)));const r=this.getOwnSourceCaches(t);for(const n of r){const t=e.c8(n.id);delete this._sourceCaches[t],this._changes.discardSourceCacheUpdate(n.id),n.fire(new e.b("data",{sourceDataType:"metadata",dataType:"source",sourceId:n.getSource().id})),n.setEventedParent(null),n.clearTiles()}return delete this._otherSourceCaches[t],delete this._symbolSourceCaches[t],this.mergeSources(),i.setEventedParent(null),i.onRemove&&i.onRemove(this.map),this._changes.setDirty(),this}setGeoJSONSourceData(e,t){this._checkLoaded(),this.getOwnSource(e).setData(t),this._changes.setDirty()}getOwnSource(e){const t=this.getOwnSourceCache(e);return t&&t.getSource()}getOwnSources(){const e=[];for(const t in this._otherSourceCaches){const i=this.getOwnSourceCache(t);i&&e.push(i.getSource())}return e}areTilesLoaded(){const e=this._mergedSourceCaches;for(const t in e){const i=e[t]._tiles;for(const e in i){const t=i[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}setLights(t){if(this._checkLoaded(),!t)return delete this.ambientLight,void delete this.directionalLight;const i=this._getTransitionParameters();for(const e of t){if(this._validate(Y,"lights",e))return;switch(e.type){case"ambient":if(this.ambientLight){const t=this.ambientLight;t.set(e),t.updateTransitions(i)}else this.ambientLight=new ve(e,be,this.scope,this.options);break;case"directional":if(this.directionalLight){const t=this.directionalLight;t.set(e),t.updateTransitions(i)}else this.directionalLight=new ve(e,we,this.scope,this.options)}}const r=new e.N(this.z||0,i);this.ambientLight&&this.ambientLight.recalculate(r),this.directionalLight&&this.directionalLight.recalculate(r),this._brightness=this.calculateLightsBrightness(),this.dispatcher.broadcast("setBrightness",this._brightness)}calculateLightsBrightness(){const t=this.directionalLight,i=this.ambientLight;if(!t||!i)return;const r=e=>.2126*(e[0]<=.03928?e[0]/12.92:Math.pow((e[0]+.055)/1.055,2.4))+.7152*(e[1]<=.03928?e[1]/12.92:Math.pow((e[1]+.055)/1.055,2.4))+.0722*(e[2]<=.03928?e[2]/12.92:Math.pow((e[2]+.055)/1.055,2.4)),n=t.properties.get("color").toArray01(),o=t.properties.get("intensity"),s=t.properties.get("direction"),a=1-e.bT(s.x,s.y,s.z)[2]/90,l=r(n)*o*a,c=i.properties.get("color").toArray01(),h=i.properties.get("intensity");return(l+r(c)*h)/2}getBrightness(){return this._brightness}getLights(){if(!this.enable3dLights())return null;const e=[];return this.directionalLight&&e.push(this.directionalLight.get()),this.ambientLight&&e.push(this.ambientLight.get()),e}enable3dLights(){return!!this.ambientLight&&!!this.directionalLight}getFragmentStyle(t){if(!t)return this;if(e.c9(t)){const i=e.ca(t),r=this.fragments.find((e=>{let{id:t}=e;return t===i}));if(!r)throw new Error(`Style import not found: ${t}`);const n=e.c8(t);return r.style.getFragmentStyle(n)}{const e=this.fragments.find((e=>{let{id:i}=e;return i===t}));if(!e)throw new Error(`Style import not found: ${t}`);return e.style}}getConfigProperty(t,i){const r=this.getFragmentStyle(t);if(!r)return null;const n=e.aj(i,r.scope),o=r.options.get(n),s=o?o.value||o.default:null;return s?s.serialize():null}setConfigProperty(t,i,r){const n=this.getFragmentStyle(t);if(!n)return;const o=n.stylesheet.schema;if(!o||!o[i])return;const s=e.t(r);if("success"!==s.result)return void Er(this,s.value);const a=s.value.expression,l=e.aj(i,n.scope),c=n.options.get(l);if(!c)return;let h;const{minValue:u,maxValue:d,stepValue:p,type:f,values:m}=o[i],_=e.t(o[i].default);"success"===_.result&&(h=_.value.expression),h?(this.options.set(l,{...c,value:a,default:h,minValue:u,maxValue:d,stepValue:p,type:f,values:m}),this.updateConfigDependencies()):this.fire(new e.a(new Error(`No schema defined for the config option "${i}" in the "${t}" fragment.`)))}getConfig(t){const i=this.getFragmentStyle(t);if(!i)return null;const r=i.stylesheet.schema;if(!r)return null;const n={};for(const o in r){const t=e.aj(o,i.scope),r=i.options.get(t),s=r?r.value||r.default:null;n[o]=s?s.serialize():null}return n}setConfig(e,t){const i=this.getFragmentStyle(e);i&&(i.updateConfig(t,i.stylesheet.schema),this.updateConfigDependencies())}getSchema(e){const t=this.getFragmentStyle(e);return t?t.stylesheet.schema:null}setSchema(e,t){const i=this.getFragmentStyle(e);i&&(i.stylesheet.schema=t,i.updateConfig(i._config,t),this.updateConfigDependencies())}updateConfig(t,i){if(this._config=t,t||i)if(i)for(const r in i){let n,o;const s=e.t(i[r].default);if("success"===s.result&&(n=s.value.expression),t&&void 0!==t[r]){const i=e.t(t[r]);"success"===i.result&&(o=i.value.expression)}const{minValue:a,maxValue:l,stepValue:c,type:h,values:u}=i[r];if(n){const t=e.aj(r,this.scope);this.options.set(t,{default:n,value:o,minValue:a,maxValue:l,stepValue:c,type:h,values:u})}else this.fire(new e.a(new Error(`No schema defined for config option "${r}".`)))}else this.fire(new e.a(new Error("Attempting to set config for a style without schema.")))}updateConfigDependencies(){for(const e of this._configDependentLayers){const t=this.getLayer(e);t&&(t.possiblyEvaluateVisibility(),this._updateLayer(t))}this.ambientLight&&this.ambientLight.updateConfig(this.options),this.directionalLight&&this.directionalLight.updateConfig(this.options),this.fog&&this.fog.updateConfig(this.options),this._changes.setDirty()}addLayer(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const n=t.id;if(this._layers[n])return void this.fire(new e.a(new Error(`Layer with id "${n}" already exists on this map`)));let o;if("custom"===t.type){if(Er(this,e.cb(t)))return;o=e.c7(t,this.scope,this.options)}else{if("object"==typeof t.source&&(this.addSource(n,t.source),t=e.c6(t),t=e.e(t,{source:n})),this._validate(ee,`layers.${n}`,t,{arrayIndex:-1},r))return;o=e.c7(t,this.scope,this.options),this._validateLayer(o),o.setEventedParent(this,{layer:{id:n}}),this._serializedLayers[o.id]=o.serialize()}o.isConfigDependent&&this._configDependentLayers.add(o.fqid);let s=this._order.length;if(i){const t=this._order.indexOf(i);if(-1===t)return void this.fire(new e.a(new Error(`Layer with id "${i}" does not exist on this map.`)));o.slot===this._layers[i].slot?s=t:e.w(`Layer with id "${i}" has a different slot. Layers can only be rearranged within the same slot.`)}this._order.splice(s,0,n),this._layerOrderChanged=!0,this._layers[n]=o;const a=this.getOwnLayerSourceCache(o),l=!!this.directionalLight&&this.directionalLight.shadowsEnabled();a&&o.canCastShadows()&&l&&(a.castsShadows=!0);const c=this._changes.getRemovedLayer(o);if(c&&o.source&&a&&"custom"!==o.type){this._changes.discardLayerRemoval(o);const t=e.aj(o.source,o.scope);c.type!==o.type?this._changes.updateSourceCache(t,"clear"):(this._changes.updateSourceCache(t,"reload"),a.pause())}this._updateLayer(o),o.onAdd&&o.onAdd(this.map),o.scope=this.scope,this.mergeLayers()}moveLayer(t,i){this._checkLoaded();const r=this._checkLayer(t);if(!r)return;if(t===i)return;const n=this._order.indexOf(t);this._order.splice(n,1);let o=this._order.length;if(i){const t=this._order.indexOf(i);if(-1===t)return void this.fire(new e.a(new Error(`Layer with id "${i}" does not exist on this map.`)));r.slot===this._layers[i].slot?o=t:e.w(`Layer with id "${i}" has a different slot. Layers can only be rearranged within the same slot.`)}this._order.splice(o,0,t),this._changes.setDirty(),this._layerOrderChanged=!0,this.mergeLayers()}removeLayer(e){this._checkLoaded();const t=this._checkLayer(e);if(!t)return;t.setEventedParent(null);const i=this._order.indexOf(e);this._order.splice(i,1),delete this._layers[e],delete this._serializedLayers[e],this._changes.setDirty(),this._layerOrderChanged=!0,this._configDependentLayers.delete(t.fqid),this._changes.removeLayer(t);const r=this.getOwnLayerSourceCache(t);if(r&&r.castsShadows){let e=!1;for(const i in this._layers)if(this._layers[i].source===t.source&&this._layers[i].canCastShadows()){e=!0;break}r.castsShadows=e}t.onRemove&&t.onRemove(this.map),this.mergeLayers()}getOwnLayer(e){return this._layers[e]}hasLayer(e){return e in this._mergedLayers}hasLayerType(e){for(const t in this._layers)if(this._layers[t].type===e)return!0;return!1}setLayerZoomRange(e,t,i){this._checkLoaded();const r=this._checkLayer(e);r&&(r.minzoom===t&&r.maxzoom===i||(null!=t&&(r.minzoom=t),null!=i&&(r.maxzoom=i),this._updateLayer(r)))}setSlot(e,t){this._checkLoaded();const i=this._checkLayer(e);i&&i.slot!==t&&(i.slot=t,this._updateLayer(i))}setFilter(i,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const o=this._checkLayer(i);if(o&&!t(o.filter,r))return null==r?(o.filter=void 0,void this._updateLayer(o)):void(this._validate(te,`layers.${o.id}.filter`,r,{layerType:o.type},n)||(o.filter=e.c6(r),this._updateLayer(o)))}getFilter(t){const i=this._checkLayer(t);if(i)return e.c6(i.filter)}setLayoutProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this._checkLayer(i);if(s&&!t(s.getLayoutProperty(r),n)){if(null!=n&&(!o||!1!==o.validate)&&Er(s,re.call(Q,{key:`layers.${i}.layout.${r}`,layerType:s.type,objectKey:r,value:n,styleSpec:e.G,style:{glyphs:!0,sprite:!0}})))return;s.setLayoutProperty(r,n),s.isConfigDependent&&this._configDependentLayers.add(s.fqid),this._updateLayer(s)}}getLayoutProperty(e,t){const i=this._checkLayer(e);if(i)return i.getLayoutProperty(t)}setPaintProperty(i,r,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._checkLoaded();const s=this._checkLayer(i);if(!s)return;if(t(s.getPaintProperty(r),n))return;if(null!=n&&(!o||!1!==o.validate)&&Er(s,ie.call(Q,{key:`layers.${i}.paint.${r}`,layerType:s.type,objectKey:r,value:n,styleSpec:e.G})))return;const a=s.setPaintProperty(r,n);s.isConfigDependent&&this._configDependentLayers.add(s.fqid),a&&this._updateLayer(s),this._changes.updatePaintProperties(s)}getPaintProperty(e,t){const i=this._checkLayer(e);if(i)return i.getPaintProperty(t)}setFeatureState(t,i){this._checkLoaded();const r=t.source,n=t.sourceLayer,o=this._checkSource(r);if(!o)return;const s=o.type;if("geojson"===s&&n)return void this.fire(new e.a(new Error("GeoJSON sources cannot have a sourceLayer parameter.")));if("vector"===s&&!n)return void this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")));void 0===t.id&&this.fire(new e.a(new Error("The feature id parameter must be provided.")));const a=this.getOwnSourceCaches(r);for(const e of a)e.setFeatureState(n,t.id,i)}removeFeatureState(t,i){this._checkLoaded();const r=t.source,n=this._checkSource(r);if(!n)return;const o=n.type,s="vector"===o?t.sourceLayer:void 0;if("vector"===o&&!s)return void this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")));if(i&&"string"!=typeof t.id&&"number"!=typeof t.id)return void this.fire(new e.a(new Error("A feature id is required to remove its specific state property.")));const a=this.getOwnSourceCaches(r);for(const e of a)e.removeFeatureState(s,t.id,i)}getFeatureState(t){this._checkLoaded();const i=t.source,r=t.sourceLayer,n=this._checkSource(i);if(n){if("vector"!==n.type||r)return void 0===t.id&&this.fire(new e.a(new Error("The feature id parameter must be provided."))),this.getOwnSourceCaches(i)[0].getFeatureState(r,t.id);this.fire(new e.a(new Error("The sourceLayer parameter must be provided for vector source types.")))}}setTransition(t){return this.stylesheet.transition=e.e({},this.stylesheet.transition,t),this.transition=this.stylesheet.transition,this}getTransition(){return e.e({},this.stylesheet.transition)}serialize(){this._checkLoaded();const t=this.getTerrain(),i=t&&this.terrain&&this.terrain.scope===this.scope?t:this.stylesheet.terrain;return e.cc({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,fragment:this.stylesheet.fragment,imports:this._serializeImports(),schema:this.stylesheet.schema,camera:this.stylesheet.camera,light:this.stylesheet.light,lights:this.stylesheet.lights,terrain:i,fog:this.stylesheet.fog,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,projection:this.stylesheet.projection,sources:this._serializeSources(),layers:this._serializeLayers(this._order)},(e=>void 0!==e))}_updateLayer(t){this._changes.updateLayer(t);const i=this.getLayerSourceCache(t),r=e.aj(t.source,t.scope),n=this._changes.getUpdatedSourceCaches();t.source&&!n[r]&&i&&"raster"!==i.getSource().type&&(this._changes.updateSourceCache(r,"reload"),i.pause()),t.invalidateCompiledFilter()}_flattenAndSortRenderedFeatures(e){const t=e=>"fill-extrusion"===this._mergedLayers[e].type||"model"===this._mergedLayers[e].type,i=this.order,r={},n=[];for(let s=i.length-1;s>=0;s--){const o=i[s];if(t(o)){r[o]=s;for(const t of e){const e=t[o];if(e)for(const t of e)n.push(t)}}}n.sort(((e,t)=>t.intersectionZ-e.intersectionZ));const o=[];for(let s=i.length-1;s>=0;s--){const a=i[s];if(t(a))for(let e=n.length-1;e>=0;e--){const t=n[e].feature;if(r[t.layer.id]{const t=this.getLayer(e);return t&&t.is3D()})):this.has3DLayers(),l=Te.createFromScreenPoints(t,r);for(const e in this._mergedSourceCaches){const t=this._mergedSourceCaches[e].getSource();if(!t||t.scope!==i.scope)continue;const c=this._mergedSourceCaches[e].getSource().id;i.layers&&!n[c]||o.push(Gt(this._mergedSourceCaches[e],this._mergedLayers,s,l,i,r,a,!!this.map._showQueryGeometry))}return this.placement&&o.push(function(e,t,i,r,n,o,s){const a={},l=o.queryRenderedSymbols(r),c=[];for(const h of Object.keys(l).map(Number))c.push(s[h]);c.sort(Zt);for(const h of c){const i=h.featureIndex.lookupSymbolFeatures(l[h.bucketInstanceId],t,h.bucketIndex,h.sourceLayerIndex,n.filter,n.layers,n.availableImages,e);for(const e in i){const t=a[e]=a[e]||[],r=i[e];r.sort(((e,t)=>{const i=h.featureSortOrder;if(i){const r=i.indexOf(e.featureIndex);return i.indexOf(t.featureIndex)-r}return t.featureIndex-e.featureIndex}));for(const e of r)t.push(e)}}for(const h in a)a[h].forEach((t=>{const r=t.feature,n=i(e[h]);if(!n)return;const o=n.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=o}));return a}(this._mergedLayers,s,this.getLayerSourceCache.bind(this),l.screenGeometry,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(e,t){t&&t.filter&&this._validate(te,"querySourceFeatures.filter",t.filter,null,t);const i=this.getOwnSourceCaches(e);let r=[];for(const n of i)r=r.concat(qt(n,t));return r}addSourceType(e,t,i){return Cr.getSourceType(e)?i(new Error(`A source type called "${e}" already exists.`)):(Cr.setSourceType(e,t),t.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:e,url:t.workerSourceURL},i):i(null,null))}getFlatLight(){return this.light.getLight()}setFlatLight(e,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._checkLoaded();const n=this.light.getLight();let o=!1;for(const a in e)if(!t(e[a],n[a])){o=!0;break}if(!o)return;const s=this._getTransitionParameters();this.light.setLight(e,i,r),this.light.updateTransitions(s)}getTerrain(){return this.terrain&&1===this.terrain.drapeRenderMode?this.terrain.get():null}setTerrainForDraping(){this.setTerrain({source:"",exaggeration:0},0)}setTerrain(i){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(this._checkLoaded(),!i)return this.terrainSetForDrapingOnly()&&0!==r||delete this.terrain,null===i?this.stylesheet.terrain=null:delete this.stylesheet.terrain,this._force3DLayerUpdate(),void(this._markersNeedUpdate=!0);let n=i;const o=null==i.source;if(1===r){if("object"==typeof n.source){const t="terrain-dem-src";this.addSource(t,n.source),n=e.c6(n),n=e.e(n,{source:t})}const t=e.e({},n),i={};if(this.terrain&&o){t.source=this.terrain.get().source;const e=this.terrain?this.getFragmentStyle(this.terrain.scope):null;e&&(i.style=e.serialize())}if(this._validate(K,"terrain",t,i))return}if(!this.terrain||this.terrain.scope!==this.scope&&!o||this.terrain&&r!==this.terrain.drapeRenderMode){if(!n)return;this._createTerrain(n,r),this.fire(new e.b("data",{dataType:"style"}))}else{const r=this.terrain,o=r.get();for(const t of Object.keys(e.G.terrain))!n.hasOwnProperty(t)&&e.G.terrain[t].default&&(n[t]=e.G.terrain[t].default);for(const n in i)if(!t(i[n],o[n])){r.set(i,this.options),this.stylesheet.terrain=i;const t=this._getTransitionParameters({duration:0});r.updateTransitions(t),this.fire(new e.b("data",{dataType:"style"}));break}}this.mergeTerrain(),this.updateDrapeFirstLayers(),this._markersNeedUpdate=!0}_createFog(e){const t=this.fog=new xe(e,this.map.transform,this.scope,this.options);this.stylesheet.fog=t.get();const i=this._getTransitionParameters({duration:0});t.updateTransitions(i)}_updateMarkersOpacity(){0!==this.map._markers.length&&this.map._requestDomTask((()=>{for(const e of this.map._markers)e._evaluateOpacity()}))}getFog(){return this.fog?this.fog.get():null}setFog(e){if(this._checkLoaded(),!e)return delete this.fog,delete this.stylesheet.fog,void(this._markersNeedUpdate=!0);if(this.fog){const i=this.fog;if(!t(i.get(),e)){i.set(e,this.options),this.stylesheet.fog=i.get();const t=this._getTransitionParameters({duration:0});i.updateTransitions(t)}}else this._createFog(e);this._markersNeedUpdate=!0}_getTransitionParameters(t){return{now:e.f.now(),transition:e.e(this.transition,t)}}updateDrapeFirstLayers(){if(!this.terrain)return;const e=[],t=[];for(const i in this._mergedLayers)this.isLayerDraped(this._mergedLayers[i])?e.push(i):t.push(i);this._drapedFirstOrder=[],this._drapedFirstOrder.push(...e),this._drapedFirstOrder.push(...t)}_createTerrain(e,t){const i=this.terrain=new he(e,t,this.scope,this.options);1===t&&(this.stylesheet.terrain=e),this.mergeTerrain(),this.updateDrapeFirstLayers(),this._force3DLayerUpdate();const r=this._getTransitionParameters({duration:0});i.updateTransitions(r)}_force3DLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"fill-extrusion"===t.type&&this._updateLayer(t)}}_forceSymbolLayerUpdate(){for(const e in this._layers){const t=this._layers[e];"symbol"===t.type&&this._updateLayer(t)}}_validate(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(o&&!1===o.validate)return!1;const s=e.e({},this.serialize());return Er(this,t.call(Q,e.e({key:i,style:s,value:r,styleSpec:e.G},n)))}_remove(){this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),e.cd.off("pluginStateChange",this._rtlTextPluginCallback);for(const e in this._mergedLayers)this._mergedLayers[e].setEventedParent(null);for(const e in this._mergedSourceCaches)this._mergedSourceCaches[e].clearTiles(),this._mergedSourceCaches[e].setEventedParent(null);this.setEventedParent(null),delete this.fog,delete this.terrain,delete this.ambientLight,delete this.directionalLight,this.isRootStyle()&&(this.imageManager.setEventedParent(null),this.modelManager.setEventedParent(null),this.dispatcher.remove())}clearSource(e){const t=this.getSourceCaches(e);for(const i of t)i.clearTiles()}clearSources(){for(const e in this._mergedSourceCaches)this._mergedSourceCaches[e].clearTiles()}reloadSource(e){const t=this.getSourceCaches(e);for(const i of t)i.resume(),i.reload()}reloadSources(){for(const e of this.getSources())e.reload&&e.reload()}updateSources(e){let t;this.directionalLight&&(t=br(this.directionalLight));for(const i in this._mergedSourceCaches)this._mergedSourceCaches[i].update(e,void 0,void 0,t)}_generateCollisionBoxes(){for(const e in this._sourceCaches){const t=this._sourceCaches[e];t.resume(),t.reload()}}_updatePlacement(t,i,r,n){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],s=!1,a=!1;const l={},c={};for(const h of this._mergedOrder){const i=this._mergedLayers[h];if("symbol"!==i.type)continue;const r=e.aj(i.source,i.scope);let n=l[r];if(!n){const e=this.getLayerSourceCache(i);if(!e)continue;const t=e.getRenderableIds(!0).map((t=>e.getTileByID(t)));c[r]=t.slice(),n=l[r]=t.sort(((e,t)=>t.tileID.overscaledZ-e.tileID.overscaledZ||(e.tileID.isLessThan(t.tileID)?-1:1)))}const o=this.crossTileSymbolIndex.addLayer(i,n,t.center.lng,t.projection);s=s||o}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._mergedOrder),o=o||this._layerOrderChanged||0===r,this._layerOrderChanged&&this.fire(new e.b("neworder")),(o||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(e.f.now(),t.zoom))&&(this.pauseablePlacement=new Ji(t,this._mergedOrder,o,i,r,n,this.placement,this.fog&&t.projection.supportsFog?this.fog.state:null,this._buildingIndex),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._mergedOrder,this._mergedLayers,l,c),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(e.f.now()),a=!0),s&&this.pauseablePlacement.placement.setStale()),a||s){this._buildingIndex.onNewFrame(t.zoom);for(const t of this._mergedOrder){const i=this._mergedLayers[t];"symbol"===i.type&&this.placement.updateLayerOpacities(i,l[e.aj(i.source,i.scope)])}}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(e.f.now())}_releaseSymbolFadeTiles(){for(const e in this._sourceCaches)this._sourceCaches[e].releaseSymbolFadeTiles()}addImport(t,i){this._checkLoaded();const r=this.stylesheet.imports=this.stylesheet.imports||[];if(-1!==r.findIndex((e=>{let{id:i}=e;return i===t.id})))return void this.fire(new e.a(new Error(`Import with id '${t.id}' already exists in the map's style.`)));if(!i)return r.push(t),this._loadImports([t],!0);const n=r.findIndex((e=>{let{id:t}=e;return t===i}));return-1===n&&this.fire(new e.a(new Error(`Import with id "${i}" does not exist on this map.`))),this.stylesheet.imports=r.slice(0,n).concat(t).concat(r.slice(n)),this._loadImports([t],!0,i)}updateImport(e,i){this._checkLoaded();const r=this.stylesheet.imports||[],n=this.getImportIndex(e);return-1===n?this:"string"==typeof i?(this.setImportUrl(e,i),this):(i.url&&i.url!==r[n].url&&this.setImportUrl(e,i.url),t(i.config,r[n].config)||this.setImportConfig(e,i.config),t(i.data,r[n].data)||this.setImportData(e,i.data),this)}moveImport(e,t){this._checkLoaded();let i=this.stylesheet.imports||[];const r=this.getImportIndex(e);if(-1===r)return this;const n=this.getImportIndex(t);if(-1===n)return this;const o=i[r],s=this.fragments[r];return i=i.filter((t=>{let{id:i}=t;return i!==e})),this.fragments=this.fragments.filter((t=>{let{id:i}=t;return i!==e})),this.stylesheet.imports=i.slice(0,n).concat(o).concat(i.slice(n)),this.fragments=this.fragments.slice(0,n).concat(s).concat(this.fragments.slice(n)),this.mergeLayers(),this}setImportUrl(e,t){this._checkLoaded();const i=this.stylesheet.imports||[],r=this.getImportIndex(e);if(-1===r)return this;i[r].url=t;const n=this.fragments[r];return n.style=this._createFragmentStyle(i[r]),n.style.on("style.import.load",(()=>this.mergeAll())),n.style.loadURL(t),this}setImportData(e,t){this._checkLoaded();const i=this.getImportIndex(e),r=this.stylesheet.imports||[];return-1===i?this:t?(this.fragments[i].style.setState(t),this._reloadImports(),this):(delete r[i].data,this.setImportUrl(e,r[i].url))}setImportConfig(e,t){this._checkLoaded();const i=this.getImportIndex(e),r=this.stylesheet.imports||[];if(-1===i)return this;t?r[i].config=t:delete r[i].config;const n=this.fragments[i],o=n.style.stylesheet&&n.style.stylesheet.schema;return n.config=t,n.style.updateConfig(t,o),this.updateConfigDependencies(),this}removeImport(e){this._checkLoaded();const t=this.stylesheet.imports||[],i=this.getImportIndex(e);-1!==i&&(t.splice(i,1),this.fragments[i].style._remove(),this.fragments.splice(i,1),this._reloadImports())}getImportIndex(t){const i=(this.stylesheet.imports||[]).findIndex((e=>e.id===t));return-1===i&&this.fire(new e.a(new Error(`Import '${t}' does not exist in the map's style and cannot be updated.`))),i}getLayer(e){return this._mergedLayers[e]}getSources(){const e=[];for(const t in this._mergedOtherSourceCaches){const i=this._mergedOtherSourceCaches[t];i&&e.push(i.getSource())}return e}getSource(e,t){const i=this.getSourceCache(e,t);return i&&i.getSource()}getLayerSource(e){const t=this.getLayerSourceCache(e);return t&&t.getSource()}getSourceCache(t,i){const r=e.aj(t,i);return this._mergedOtherSourceCaches[r]}getLayerSourceCache(t){const i=e.aj(t.source,t.scope);return"symbol"===t.type?this._mergedSymbolSourceCaches[i]:this._mergedOtherSourceCaches[i]}getSourceCaches(e){if(null==e)return Object.values(this._mergedSourceCaches);const t=[];return this._mergedOtherSourceCaches[e]&&t.push(this._mergedOtherSourceCaches[e]),this._mergedSymbolSourceCaches[e]&&t.push(this._mergedSymbolSourceCaches[e]),t}updateSourceCaches(){const e=this._changes.getUpdatedSourceCaches();for(const t in e){const i=e[t];"reload"===i?this.reloadSource(t):"clear"===i&&this.clearSource(t)}}updateLayers(e){const t=this._changes.getUpdatedPaintProperties();for(const i of t){const t=this.getLayer(i);t&&t.updateTransitions(e)}}getImages(e,t,i){this.imageManager.getImages(t.icons,t.scope,i),this._updateTilesForChangedImages();const r=e=>{e&&e.setDependencies(t.tileID.key,t.type,t.icons)};r(this._otherSourceCaches[t.source]),r(this._symbolSourceCaches[t.source])}getGlyphs(e,t,i){this.glyphManager.getGlyphs(t.stacks,t.scope,i)}getResource(t,i,r){return e.ce(i,r)}getOwnSourceCache(e){return this._otherSourceCaches[e]}getOwnLayerSourceCache(e){return"symbol"===e.type?this._symbolSourceCaches[e.source]:this._otherSourceCaches[e.source]}getOwnSourceCaches(e){const t=[];return this._otherSourceCaches[e]&&t.push(this._otherSourceCaches[e]),this._symbolSourceCaches[e]&&t.push(this._symbolSourceCaches[e]),t}_isSourceCacheLoaded(t){const i=this.getOwnSourceCaches(t);return 0===i.length?(this.fire(new e.a(new Error(`There is no source with ID '${t}'`))),!1):i.every((e=>e.loaded()))}has3DLayers(){return this._has3DLayers}hasSymbolLayers(){return this._hasSymbolLayers}hasCircleLayers(){return this._hasCircleLayers}_clearWorkerCaches(){this.dispatcher.broadcast("clearCaches")}destroy(){this._clearWorkerCaches(),this.fragments.forEach((e=>{e.style._remove()})),this.terrainSetForDrapingOnly()&&(delete this.terrain,delete this.stylesheet.terrain)}}Cr.getSourceType=function(e){return Vt[e]},Cr.setSourceType=function(e,t){Vt[e]=t},Cr.registerForPluginStateChange=e.bY;var Pr="\n#define EPSILON 0.0000001\n#define PI 3.141592653589793\n#ifdef RENDER_CUTOFF\nfloat cutoff_opacity(vec4 cutoff_params,float depth) {float near=cutoff_params.x;float far=cutoff_params.y;float cutoffStart=cutoff_params.z;float cutoffEnd=cutoff_params.w;float linearDepth=(depth-near)/(far-near);return clamp((linearDepth-cutoffStart)/(cutoffEnd-cutoffStart),0.0,1.0);}\n#endif",zr="\nout vec4 glFragColor;highp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}highp vec4 pack_depth(highp float ndc_z) {highp float depth=ndc_z*0.5+0.5;const highp vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);const highp vec4 bit_mask =vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);highp vec4 res=fract(depth*bit_shift);res-=res.xxyz*bit_mask;return res;}\n#ifdef INDICATOR_CUTOUT\nuniform vec2 u_indicator_cutout_centers;uniform vec4 u_indicator_cutout_params;\n#endif\nvec4 applyCutout(vec4 color) {\n#ifdef INDICATOR_CUTOUT\nfloat holeMinOpacity=u_indicator_cutout_params.x;float holeRadius=max(u_indicator_cutout_params.y,0.0);float holeAspectRatio=u_indicator_cutout_params.z;float fadeStart=u_indicator_cutout_params.w;float distA=distance(vec2(gl_FragCoord.x,gl_FragCoord.y*holeAspectRatio),vec2(u_indicator_cutout_centers[0],u_indicator_cutout_centers[1]*holeAspectRatio));return color*min(smoothstep(fadeStart,holeRadius,distA)+holeMinOpacity,1.0);\n#else\nreturn color;\n#endif\n}\n#ifdef DEBUG_WIREFRAME\n#define HANDLE_WIREFRAME_DEBUG \\\nglFragColor=vec4(0.7,0.0,0.0,0.7); \\\ngl_FragDepth=gl_FragCoord.z-0.0001;\n#else\n#define HANDLE_WIREFRAME_DEBUG\n#endif\n#ifdef RENDER_CUTOFF\nuniform highp vec4 u_cutoff_params;in float v_cutoff_opacity;\n#endif\nvec4 textureLodCustom(sampler2D image,vec2 pos,vec2 lod_coord) {vec2 size=vec2(textureSize(image,0));vec2 dx=dFdx(lod_coord.xy*size);vec2 dy=dFdy(lod_coord.xy*size);float delta_max_sqr=max(dot(dx,dx),dot(dy,dy));float lod=0.5*log2(delta_max_sqr);return textureLod(image,pos,lod);}",Dr="\n#define EXTENT 8192.0\n#define RAD_TO_DEG 180.0/PI\n#define DEG_TO_RAD PI/180.0\n#define GLOBE_RADIUS EXTENT/PI/2.0\nfloat wrap(float n,float min,float max) {float d=max-min;float w=mod(mod(n-min,d)+d,d)+min;return (w==min) ? max : w;}\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 mercator_tile_position(mat4 matrix,vec2 tile_anchor,vec3 tile_id,vec2 mercator_center) {\n#ifndef PROJECTED_POS_ON_VIEWPORT\nfloat tiles=tile_id.z;vec2 mercator=(tile_anchor/EXTENT+tile_id.xy)/tiles;mercator-=mercator_center;mercator.x=wrap(mercator.x,-0.5,0.5);vec4 mercator_tile=vec4(mercator.xy*EXTENT,EXTENT/(2.0*PI),1.0);mercator_tile=matrix*mercator_tile;return mercator_tile.xyz;\n#else\nreturn vec3(0.0);\n#endif\n}vec3 mix_globe_mercator(vec3 globe,vec3 mercator,float t) {return mix(globe,mercator,t);}mat3 globe_mercator_surface_vectors(vec3 pos_normal,vec3 up_dir,float zoom_transition) {vec3 normal=zoom_transition==0.0 ? pos_normal : normalize(mix(pos_normal,up_dir,zoom_transition));vec3 xAxis=normalize(vec3(normal.z,0.0,-normal.x));vec3 yAxis=normalize(cross(normal,xAxis));return mat3(xAxis,yAxis,normal);}\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(\nunpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}float mercatorXfromLng(float lng) {return (180.0+lng)/360.0;}float mercatorYfromLat(float lat) {return (180.0-(RAD_TO_DEG*log(tan(PI/4.0+lat/2.0*DEG_TO_RAD))))/360.0;}vec3 latLngToECEF(vec2 latLng) {latLng=DEG_TO_RAD*latLng;float cosLat=cos(latLng[0]);float sinLat=sin(latLng[0]);float cosLng=cos(latLng[1]);float sinLng=sin(latLng[1]);float sx=cosLat*sinLng*GLOBE_RADIUS;float sy=-sinLat*GLOBE_RADIUS;float sz=cosLat*cosLng*GLOBE_RADIUS;return vec3(sx,sy,sz);}\n#ifdef RENDER_CUTOFF\nuniform vec4 u_cutoff_params;out float v_cutoff_opacity;\n#endif\nconst vec4 AWAY=vec4(-1000.0,-1000.0,-1000.0,1);const float skirtOffset=24575.0;vec3 decomposeToPosAndSkirt(vec2 posWithComposedSkirt)\n{float skirt=float(posWithComposedSkirt.x >=skirtOffset);vec2 pos=posWithComposedSkirt-vec2(skirt*skirtOffset,0.0);return vec3(pos,skirt);}",Rr="in highp vec3 a_pos_3f;uniform lowp mat4 u_matrix;out highp vec3 v_uv;void main() {const mat3 half_neg_pi_around_x=mat3(1.0,0.0, 0.0,0.0,0.0,-1.0,0.0,1.0, 0.0);v_uv=half_neg_pi_around_x*a_pos_3f;vec4 pos=u_matrix*vec4(a_pos_3f,1.0);gl_Position=pos.xyww;}",Lr="\n#define ELEVATION_SCALE 7.0\n#define ELEVATION_OFFSET 450.0\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_tl_up;uniform vec3 u_tile_tr_up;uniform vec3 u_tile_br_up;uniform vec3 u_tile_bl_up;uniform float u_tile_up_scale;vec3 elevationVector(vec2 pos) {vec2 uv=pos/EXTENT;vec3 up=normalize(mix(\nmix(u_tile_tl_up,u_tile_tr_up,uv.xxx),mix(u_tile_bl_up,u_tile_br_up,uv.xxx),uv.yyy));return up*u_tile_up_scale;}\n#else\nvec3 elevationVector(vec2 pos) { return vec3(0,0,1); }\n#endif\n#ifdef TERRAIN\nuniform highp sampler2D u_dem;uniform highp sampler2D u_dem_prev;uniform vec2 u_dem_tl;uniform vec2 u_dem_tl_prev;uniform float u_dem_scale;uniform float u_dem_scale_prev;uniform float u_dem_size;uniform float u_dem_lerp;uniform float u_exaggeration;uniform float u_meter_to_dem;uniform mat4 u_label_plane_matrix_inv;uniform sampler2D u_depth;uniform vec2 u_depth_size_inv;vec4 tileUvToDemSample(vec2 uv,float dem_size,float dem_scale,vec2 dem_tl) {vec2 pos=dem_size*(uv*dem_scale+dem_tl)+1.0;vec2 f=fract(pos);return vec4((pos-f+0.5)/(dem_size+2.0),f);}float currentElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale+u_dem_tl)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture(u_dem,pos).r;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale,u_dem_tl);vec2 pos=r.xy;vec2 f=r.zw;float tl=texture(u_dem,pos).r;float tr=texture(u_dem,pos+vec2(dd,0)).r;float bl=texture(u_dem,pos+vec2(0,dd)).r;float br=texture(u_dem,pos+vec2(dd,dd)).r;return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}float prevElevation(vec2 apos) {\n#ifdef TERRAIN_DEM_FLOAT_FORMAT\nvec2 pos=(u_dem_size*(apos/8192.0*u_dem_scale_prev+u_dem_tl_prev)+1.5)/(u_dem_size+2.0);return u_exaggeration*texture(u_dem_prev,pos).r;\n#else\nfloat dd=1.0/(u_dem_size+2.0);vec4 r=tileUvToDemSample(apos/8192.0,u_dem_size,u_dem_scale_prev,u_dem_tl_prev);vec2 pos=r.xy;vec2 f=r.zw;float tl=texture(u_dem_prev,pos).r;float tr=texture(u_dem_prev,pos+vec2(dd,0)).r;float bl=texture(u_dem_prev,pos+vec2(0,dd)).r;float br=texture(u_dem_prev,pos+vec2(dd,dd)).r;return u_exaggeration*mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);\n#endif\n}\n#ifdef TERRAIN_VERTEX_MORPHING\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nfloat nextElevation=currentElevation(apos);float prevElevation=prevElevation(apos);return mix(prevElevation,nextElevation,u_dem_lerp);}\n#else\nfloat elevation(vec2 apos) {\n#ifdef ZERO_EXAGGERATION\nreturn 0.0;\n#endif\nreturn currentElevation(apos);}\n#endif\nhighp float unpack_depth(highp vec4 rgba_depth)\n{const highp vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);return dot(rgba_depth,bit_shift)*2.0-1.0;}bool isOccluded(vec4 frag) {vec3 coord=frag.xyz/frag.w;float depth=unpack_depth(texture(u_depth,(coord.xy+1.0)*0.5));return coord.z > depth+0.0005;}float occlusionFade(vec4 frag) {vec3 coord=frag.xyz/frag.w;vec3 df=vec3(5.0*u_depth_size_inv,0.0);vec2 uv=0.5*coord.xy+0.5;vec4 depth=vec4(\nunpack_depth(texture(u_depth,uv-df.xz)),unpack_depth(texture(u_depth,uv+df.xz)),unpack_depth(texture(u_depth,uv-df.zy)),unpack_depth(texture(u_depth,uv+df.zy))\n);return dot(vec4(0.25),vec4(1.0)-clamp(300.0*(vec4(coord.z-0.001)-depth),0.0,1.0));}vec4 fourSample(vec2 pos,vec2 off) {float tl=texture(u_dem,pos).r;float tr=texture(u_dem,pos+vec2(off.x,0.0)).r;float bl=texture(u_dem,pos+vec2(0.0,off.y)).r;float br=texture(u_dem,pos+off).r;return vec4(tl,tr,bl,br);}float flatElevation(vec2 pack) {vec2 apos=floor(pack/8.0);vec2 span=10.0*(pack-apos*8.0);vec2 uvTex=(apos-vec2(1.0,1.0))/8190.0;float size=u_dem_size+2.0;float dd=1.0/size;vec2 pos=u_dem_size*(uvTex*u_dem_scale+u_dem_tl)+1.0;vec2 f=fract(pos);pos=(pos-f+0.5)*dd;vec4 h=fourSample(pos,vec2(dd));float z=mix(mix(h.x,h.y,f.x),mix(h.z,h.w,f.x),f.y);vec2 w=floor(0.5*(span*u_meter_to_dem-1.0));vec2 d=dd*w;h=fourSample(pos-d,2.0*d+vec2(dd));vec4 diff=abs(h.xzxy-h.ywzw);vec2 slope=min(vec2(0.25),u_meter_to_dem*0.5*(diff.xz+diff.yw)/(2.0*w+vec2(1.0)));vec2 fix=slope*span;float base=z+max(fix.x,fix.y);return u_exaggeration*base;}float elevationFromUint16(float word) {return u_exaggeration*(word/ELEVATION_SCALE-ELEVATION_OFFSET);}\n#else\nfloat elevation(vec2 pos) { return 0.0; }bool isOccluded(vec4 frag) { return false; }float occlusionFade(vec4 frag) { return 1.0; }\n#endif",kr="#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump mat4 u_fog_matrix;out vec3 v_fog_pos;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}vec3 fog_position(vec3 pos) {return (u_fog_matrix*vec4(pos,1.0)).xyz;}vec3 fog_position(vec2 pos) {return fog_position(vec3(pos,0.0));}float fog(vec3 pos) {float depth=length(pos);float opacity=fog_opacity(fog_range(depth));return opacity*fog_horizon_blending(pos/depth);}\n#endif",Or="highp vec3 hash(highp vec2 p) {highp vec3 p3=fract(p.xyx*vec3(443.8975,397.2973,491.1871));p3+=dot(p3,p3.yxz+19.19);return fract((p3.xxy+p3.yzz)*p3.zyx);}vec3 dither(vec3 color,highp vec2 seed) {vec3 rnd=hash(seed)+hash(seed+0.59374)-0.5;return color+rnd/255.0;}\n#ifdef FOG\nuniform mediump vec4 u_fog_color;uniform mediump vec2 u_fog_range;uniform mediump float u_fog_horizon_blend;uniform mediump vec2 u_fog_vertical_limit;uniform mediump float u_fog_temporal_offset;in vec3 v_fog_pos;uniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform highp vec2 u_viewport;uniform float u_globe_transition;uniform int u_is_globe;float fog_range(float depth) {return (depth-u_fog_range[0])/(u_fog_range[1]-u_fog_range[0]);}float fog_horizon_blending(vec3 camera_dir) {float t=max(0.0,camera_dir.z/u_fog_horizon_blend);return u_fog_color.a*exp(-3.0*t*t);}float fog_opacity(float t) {const float decay=6.0;float falloff=1.0-min(1.0,exp(-decay*t));falloff*=falloff*falloff;return u_fog_color.a*min(1.0,1.00747*falloff);}float globe_glow_progress() {highp vec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);highp vec3 dir=normalize(ray_dir);highp vec3 closest_point=dot(u_globe_pos,dir)*dir;highp float sdf=length(closest_point-u_globe_pos)/u_globe_radius;return sdf+PI*0.5;}float fog_opacity(vec3 pos) {float depth=length(pos);return fog_opacity(fog_range(depth));}vec3 fog_apply(vec3 color,vec3 pos,float opacity_limit) {float depth=length(pos);float opacity;if (u_is_globe==1) {float glow_progress=globe_glow_progress();float t=mix(glow_progress,depth,u_globe_transition);opacity=fog_opacity(fog_range(t));} else {opacity=fog_opacity(fog_range(depth));opacity*=fog_horizon_blending(pos/depth);}return mix(color,u_fog_color.rgb,min(opacity,opacity_limit));}vec3 fog_apply(vec3 color,vec3 pos) {return fog_apply(color,pos,1.0);}vec4 fog_apply_from_vert(vec4 color,float fog_opac) {float alpha=EPSILON+color.a;color.rgb=mix(color.rgb/alpha,u_fog_color.rgb,fog_opac)*alpha;return color;}vec3 fog_apply_sky_gradient(vec3 camera_ray,vec3 sky_color) {float horizon_blend=fog_horizon_blending(normalize(camera_ray));return mix(sky_color,u_fog_color.rgb,horizon_blend);}vec4 fog_apply_premultiplied(vec4 color,vec3 pos) {float alpha=EPSILON+color.a;color.rgb=fog_apply(color.rgb/alpha,pos)*alpha;return color;}vec4 fog_apply_premultiplied(vec4 color,vec3 pos,float heightMeters) {float verticalProgress=(u_fog_vertical_limit.x > 0.0 || u_fog_vertical_limit.y > 0.0) ? smoothstep(u_fog_vertical_limit.x,u_fog_vertical_limit.y,heightMeters) : 0.0;float opacityLimit=1.0-smoothstep(0.9,1.0,fog_opacity(pos));return mix(fog_apply_premultiplied(color,pos),color,min(verticalProgress,opacityLimit));}vec3 fog_dither(vec3 color) {\n#ifdef FOG_DITHERING\nvec2 dither_seed=gl_FragCoord.xy+u_fog_temporal_offset;return dither(color,dither_seed);\n#else\nreturn color;\n#endif\n}vec4 fog_dither(vec4 color) {return vec4(fog_dither(color.rgb),color.a);}\n#endif",Br="#ifdef RASTER_ARRAY\nuniform sampler2D u_image0;uniform sampler2D u_image1;const vec4 NODATA=vec4(1);ivec4 _raTexLinearCoord(highp vec2 texCoord,highp vec2 texResolution,out highp vec2 fxy) {texCoord=texCoord*texResolution-0.5;fxy=fract(texCoord);texCoord-=fxy;return ivec4(texCoord.xxyy+vec2(1.5,0.5).xyxy);}vec2 _raTexLinearMix(highp vec2 fxy,highp vec4 colorMix,highp float colorOffset,highp vec4 t00,highp vec4 t10,highp vec4 t01,highp vec4 t11) {vec2 c00=t00==NODATA ? vec2(0) : vec2(colorOffset+dot(t00,colorMix),1);vec2 c10=t10==NODATA ? vec2(0) : vec2(colorOffset+dot(t10,colorMix),1);vec2 c01=t01==NODATA ? vec2(0) : vec2(colorOffset+dot(t01,colorMix),1);vec2 c11=t11==NODATA ? vec2(0) : vec2(colorOffset+dot(t11,colorMix),1);return mix(mix(c01,c11,fxy.x),mix(c00,c10,fxy.x),fxy.y);}vec2 raTexture2D_image0_linear(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec2 fxy;ivec4 c=_raTexLinearCoord(texCoord,texResolution,fxy);return _raTexLinearMix(fxy,colorMix,colorOffset,texelFetch(u_image0,c.yz,0),texelFetch(u_image0,c.xz,0),texelFetch(u_image0,c.yw,0),texelFetch(u_image0,c.xw,0)\n);}vec2 raTexture2D_image1_linear(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec2 fxy;ivec4 c=_raTexLinearCoord(texCoord,texResolution,fxy);return _raTexLinearMix(fxy,colorMix,colorOffset,texelFetch(u_image1,c.yz,0),texelFetch(u_image1,c.xz,0),texelFetch(u_image1,c.yw,0),texelFetch(u_image1,c.xw,0)\n);}vec2 raTexture2D_image0_nearest(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec4 t=texelFetch(u_image0,ivec2(texCoord*texResolution),0);return t==NODATA ? vec2(0) : vec2(colorOffset+dot(t,colorMix),1);}vec2 raTexture2D_image1_nearest(highp vec2 texCoord,highp vec2 texResolution,highp vec4 colorMix,highp float colorOffset) {vec4 t=texelFetch(u_image1,ivec2(texCoord*texResolution),0);return t==NODATA ? vec2(0) : vec2(colorOffset+dot(t,colorMix),1);}\n#endif",Fr="#ifdef RASTER_ARRAY\nuniform sampler2D u_velocity;uniform mediump vec2 u_velocity_res;uniform mediump float u_max_speed;const vec4 NO_DATA=vec4(1);const vec2 INVALID_VELOCITY=vec2(-1);uniform highp vec2 u_uv_offset;uniform highp float u_data_offset;uniform highp vec4 u_data_scale;ivec4 rasterArrayLinearCoord(highp vec2 texCoord,highp vec2 texResolution,out highp vec2 fxy) {texCoord=texCoord*texResolution-0.5;fxy=fract(texCoord);texCoord-=fxy;return ivec4(texCoord.xxyy+vec2(1.5,0.5).xyxy);}highp vec2 lookup_velocity(highp vec2 uv) {uv=u_uv_offset.x+u_uv_offset.y*uv;highp vec2 fxy;ivec4 c=rasterArrayLinearCoord(uv,u_velocity_res,fxy);highp vec4 tl=texelFetch(u_velocity,c.yz,0);highp vec4 tr=texelFetch(u_velocity,c.xz,0);highp vec4 bl=texelFetch(u_velocity,c.yw,0);highp vec4 br=texelFetch(u_velocity,c.xw,0);if (tl==NO_DATA) {return INVALID_VELOCITY;}if (tr==NO_DATA) {return INVALID_VELOCITY;}if (bl==NO_DATA) {return INVALID_VELOCITY;}if (br==NO_DATA) {return INVALID_VELOCITY;}highp vec4 t=mix(mix(bl,br,fxy.x),mix(tl,tr,fxy.x),fxy.y);highp vec2 velocity=vec2(u_data_offset+dot(t.rg,u_data_scale.yx),-(u_data_offset+dot(t.ba,u_data_scale.yx)));velocity/=max(u_max_speed,length(velocity));return velocity;}\n#endif\nuniform highp float u_particle_pos_scale;uniform highp vec2 u_particle_pos_offset;highp vec4 pack_pos_to_rgba(highp vec2 p) {highp vec2 v=(p+u_particle_pos_offset)/u_particle_pos_scale;highp vec4 r=vec4(v.x,fract(v.x*255.0),v.y,fract(v.y*255.0));return vec4(r.x-r.y/255.0,r.y,r.z-r.w/255.0,r.w);}highp vec2 unpack_pos_from_rgba(highp vec4 v) {v=floor(v*255.0+0.5)/255.0;highp vec2 p=vec2(v.x+(v.y/255.0),v.z+(v.w/255.0));return u_particle_pos_scale*p-u_particle_pos_offset;}",Nr="#ifdef RENDER_SHADOWS\nuniform mediump vec3 u_shadow_direction;uniform highp vec3 u_shadow_normal_offset;vec3 shadow_normal_offset(vec3 normal) {float tileInMeters=u_shadow_normal_offset[0];vec3 n=vec3(-normal.xy,tileInMeters*normal.z);float dotScale=min(1.0-dot(normal,u_shadow_direction),1.0)*0.5+0.5;return n*dotScale;}vec3 shadow_normal_offset_model(vec3 normal) {float dotScale=min(1.0-dot(normal,u_shadow_direction),1.0)*0.5+0.5;return normal*dotScale;}float shadow_normal_offset_multiplier0() {return u_shadow_normal_offset[1];}float shadow_normal_offset_multiplier1() {return u_shadow_normal_offset[2];}\n#endif//RENDER_SHADOWS",Vr="#ifdef RENDER_SHADOWS\n#ifdef DEPTH_TEXTURE\nuniform highp sampler2D u_shadowmap_0;uniform highp sampler2D u_shadowmap_1;\n#else\nuniform sampler2D u_shadowmap_0;uniform sampler2D u_shadowmap_1;\n#endif\nuniform float u_shadow_intensity;uniform float u_shadow_map_resolution;uniform float u_shadow_texel_size;uniform highp vec3 u_shadow_normal_offset;uniform vec2 u_fade_range;uniform mediump vec3 u_shadow_direction;uniform highp vec3 u_shadow_bias;highp float shadow_sample_1(highp vec2 uv,highp float compare) {highp float shadow_depth;\n#ifdef DEPTH_TEXTURE\nshadow_depth=texture(u_shadowmap_1,uv).r;\n#else\nshadow_depth=unpack_depth(texture(u_shadowmap_1,uv))*0.5+0.5;\n#endif\nreturn step(shadow_depth,compare);}highp float shadow_sample_0(highp vec2 uv,highp float compare) {highp float shadow_depth;\n#ifdef DEPTH_TEXTURE\nshadow_depth=texture(u_shadowmap_0,uv).r;\n#else\nshadow_depth=unpack_depth(texture(u_shadowmap_0,uv))*0.5+0.5;\n#endif\nreturn step(shadow_depth,compare);}float shadow_occlusion_1(highp vec4 pos,highp float bias) {highp vec2 uv=pos.xy;return shadow_sample_1(uv,pos.z-bias);}float shadow_occlusion_0(highp vec4 pos,highp float bias) {highp float compare0=pos.z-bias;\n#ifdef NATIVE\nhighp vec2 uv=pos.xy;highp vec4 samples=textureGather(u_shadowmap_0,uv,0);lowp vec4 stepSamples=step(samples,vec4(compare0));\n#else\nhighp vec2 uv00=pos.xy-vec2(0.5*u_shadow_texel_size);highp vec2 uv10=uv00+vec2(u_shadow_texel_size,0.0);highp vec2 uv01=uv00+vec2(0.0,u_shadow_texel_size);highp vec2 uv11=uv01+vec2(u_shadow_texel_size,0.0);lowp vec4 stepSamples=vec4(\nshadow_sample_0(uv01,compare0),shadow_sample_0(uv11,compare0),shadow_sample_0(uv10,compare0),shadow_sample_0(uv00,compare0)\n);\n#endif\nvec2 f=fract(pos.xy*u_shadow_map_resolution-vec2(0.5));lowp vec2 lerpx=mix(stepSamples.wx,stepSamples.zy,f.xx);return mix(lerpx.x,lerpx.y,f.y);}float shadow_occlusion(highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth,highp float bias) {\n#ifdef SHADOWS_SINGLE_CASCADE\nlight_view_pos0.xyz=light_view_pos0.xyz/light_view_pos0.w*0.5+0.5;return shadow_occlusion_0(light_view_pos0,bias);\n#else\nlight_view_pos0.xyz/=light_view_pos0.w;light_view_pos1.xyz/=light_view_pos1.w;vec4 uv=vec4(light_view_pos0.xy,light_view_pos1.xy);vec4 abs_bounds=abs(uv);if (abs_bounds.x < 1.0 && abs_bounds.y < 1.0) {light_view_pos0.xyz=light_view_pos0.xyz*0.5+0.5;return shadow_occlusion_0(light_view_pos0,bias);}if (abs_bounds.z >=1.0 || abs_bounds.w >=1.0) {return 0.0;}light_view_pos1.xyz=light_view_pos1.xyz*0.5+0.5;float occlusion1=shadow_occlusion_1(light_view_pos1,bias);return mix(occlusion1,0.0,smoothstep(u_fade_range.x,u_fade_range.y,view_depth));\n#endif\n}highp float calculate_shadow_bias(float NDotL) {\n#ifdef NORMAL_OFFSET\nreturn 0.5*u_shadow_bias.x;\n#else\nreturn 0.5*(u_shadow_bias.x+clamp(u_shadow_bias.y*tan(acos(NDotL)),0.0,u_shadow_bias.z));\n#endif\n}float shadowed_light_factor_normal(vec3 N,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float NDotL=dot(N,u_shadow_direction);float bias=calculate_shadow_bias(NDotL);float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return mix(0.0,(1.0-(u_shadow_intensity*occlusion))*NDotL,step(0.0,NDotL));}float shadowed_light_factor_normal_unbiased(vec3 N,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float NDotL=dot(N,u_shadow_direction);float bias=0.0;float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return mix(0.0,(1.0-(u_shadow_intensity*occlusion))*NDotL,step(0.0,NDotL));}float shadowed_light_factor(highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float bias=0.0;float occlusion=shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);return 1.0-(u_shadow_intensity*occlusion);}float shadow_occlusion(float ndotl,highp vec4 light_view_pos0,highp vec4 light_view_pos1,float view_depth) {float bias=calculate_shadow_bias(ndotl);return shadow_occlusion(light_view_pos0,light_view_pos1,view_depth,bias);}\n#endif";const Ur=[];Wr(Pr,Ur),Wr(Dr,Ur),Wr(zr,Ur);const jr={"_prelude_fog.vertex.glsl":kr,"_prelude_terrain.vertex.glsl":Lr,"_prelude_shadow.vertex.glsl":Nr,"_prelude_fog.fragment.glsl":Or,"_prelude_shadow.fragment.glsl":Vr,"_prelude_lighting.glsl":"\n#ifdef LIGHTING_3D_MODE\nuniform mediump vec3 u_lighting_ambient_color;uniform mediump vec3 u_lighting_directional_dir;uniform mediump vec3 u_lighting_directional_color;uniform mediump vec3 u_ground_radiance;float calculate_ambient_directional_factor(vec3 normal) {float NdotL=dot(normal,u_lighting_directional_dir);const float factor_reduction_max=0.3;float dir_luminance=dot(u_lighting_directional_color,vec3(0.2126,0.7152,0.0722));float directional_factor_min=1.0-factor_reduction_max*min(dir_luminance,1.0);float ambient_directional_factor=mix(directional_factor_min,1.0,min((NdotL+1.0),1.0));const float vertical_factor_min=0.92;float vertical_factor=mix(vertical_factor_min,1.0,normal.z*0.5+0.5);return vertical_factor*ambient_directional_factor;}vec3 linearProduct(vec3 srgbIn,vec3 k) {return srgbIn*pow(k,vec3(1./2.2));}vec3 apply_lighting(vec3 color,vec3 normal,float dir_factor) {float ambient_directional_factor=calculate_ambient_directional_factor(normal);vec3 ambient_contrib=ambient_directional_factor*u_lighting_ambient_color;vec3 directional_contrib=u_lighting_directional_color*dir_factor;return linearProduct(color,ambient_contrib+directional_contrib);}vec4 apply_lighting(vec4 color,vec3 normal,float dir_factor) {return vec4(apply_lighting(color.rgb,normal,dir_factor),color.a);}vec3 apply_lighting(vec3 color,vec3 normal) {float dir_factor=max(dot(normal,u_lighting_directional_dir),0.0);return apply_lighting(color.rgb,normal,dir_factor);}vec4 apply_lighting(vec4 color,vec3 normal) {float dir_factor=max(dot(normal,u_lighting_directional_dir),0.0);return vec4(apply_lighting(color.rgb,normal,dir_factor),color.a);}vec3 apply_lighting_ground(vec3 color) {return color*u_ground_radiance;}vec4 apply_lighting_ground(vec4 color) {return vec4(apply_lighting_ground(color.rgb),color.a);}float calculate_NdotL(vec3 normal) {const float ext=0.70710678118;return (clamp(dot(normal,u_lighting_directional_dir),-ext,1.0)+ext)/(1.0+ext);}vec4 apply_lighting_with_emission_ground(vec4 color,float emissive_strength) {return mix(apply_lighting_ground(color),color,emissive_strength);}vec3 compute_flood_lighting(vec3 flood_light_color,float fully_occluded_factor,float occlusion,vec3 ground_shadow_factor) {vec3 fully_occluded_color=flood_light_color*mix(ground_shadow_factor,vec3(1.0),fully_occluded_factor);float occlusion_ramp=smoothstep(0.0,0.2,1.0-occlusion);return mix(fully_occluded_color,flood_light_color,occlusion_ramp);}vec3 compute_emissive_draped(vec3 unlit_color,float fully_occluded_factor,float occlusion,vec3 ground_shadow_factor) {vec3 fully_occluded_color=unlit_color*mix(ground_shadow_factor,vec3(1.0),fully_occluded_factor);return mix(fully_occluded_color,unlit_color,1.0-occlusion);}\n#endif//LIGHTING_3D_MODE","_prelude_raster_array.glsl":Br,"_prelude_raster_particle.glsl":Fr},Gr={};Qr("",Lr),Qr(Or,kr),Qr(Vr,Nr),Qr(Br,""),Qr(Fr,"");const qr=Qr(zr,Dr),Zr=Pr;var $r={background:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec4 u_color;uniform float u_opacity;\n#ifdef LIGHTING_3D_MODE\nin vec4 v_color;\n#endif\nvoid main() {vec4 out_color;\n#ifdef LIGHTING_3D_MODE\nout_color=v_color;\n#else\nout_color=u_color;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_lighting.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;\n#ifdef LIGHTING_3D_MODE\nuniform mediump vec4 u_color;out vec4 v_color;uniform float u_emissive_strength;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef LIGHTING_3D_MODE\nv_color=apply_lighting_with_emission_ground(u_color,u_emissive_strength);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),backgroundPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_pattern_tl;uniform vec2 u_pattern_br;uniform vec2 u_texsize;uniform float u_opacity;uniform float u_emissive_strength;uniform sampler2D u_image;in vec2 v_pos;void main() {vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(u_pattern_tl/u_texsize,u_pattern_br/u_texsize,imagecoord);vec4 out_color=textureLodCustom(u_image,pos,v_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pattern_size;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_pattern_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),circle:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin vec3 v_data;in float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nuniform float u_emissive_strength;void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(\nantialiased_blur,0.0,extrude_length-radius/(radius+stroke_width)\n);vec4 out_color=mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_apply_premultiplied(out_color,v_fog_pos);\n#endif\nglFragColor=out_color*(v_visibility*opacity_t);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#define NUM_VISIBILITY_RINGS 2\n#define INV_SQRT2 0.70710678\n#define ELEVATION_BIAS 0.0001\n#define NUM_SAMPLES_PER_RING 16\nuniform mat4 u_matrix;uniform mat2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;in vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nout vec3 v_data;out float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvec2 calc_offset(vec2 extrusion,float radius,float stroke_width, float view_scale) {return extrusion*(radius+stroke_width)*u_extrude_scale*view_scale;}float cantilevered_elevation(vec2 pos,float radius,float stroke_width,float view_scale) {vec2 c1=pos+calc_offset(vec2(-1,-1),radius,stroke_width,view_scale);vec2 c2=pos+calc_offset(vec2(1,-1),radius,stroke_width,view_scale);vec2 c3=pos+calc_offset(vec2(1,1),radius,stroke_width,view_scale);vec2 c4=pos+calc_offset(vec2(-1,1),radius,stroke_width,view_scale);float h1=elevation(c1)+ELEVATION_BIAS;float h2=elevation(c2)+ELEVATION_BIAS;float h3=elevation(c3)+ELEVATION_BIAS;float h4=elevation(c4)+ELEVATION_BIAS;return max(h4,max(h3,max(h1,h2)));}float circle_elevation(vec2 pos) {\n#if defined(TERRAIN)\nreturn elevation(pos)+ELEVATION_BIAS;\n#else\nreturn 0.0;\n#endif\n}vec4 project_vertex(vec2 extrusion,vec4 world_center,vec4 projected_center,float radius,float stroke_width, float view_scale,mat3 surface_vectors) {vec2 sample_offset=calc_offset(extrusion,radius,stroke_width,view_scale);\n#ifdef PITCH_WITH_MAP\n#ifdef PROJECTION_GLOBE_VIEW\nreturn u_matrix*( world_center+vec4(sample_offset.x*surface_vectors[0]+sample_offset.y*surface_vectors[1],0) );\n#else\nreturn u_matrix*( world_center+vec4(sample_offset,0,0) );\n#endif\n#else\nreturn projected_center+vec4(sample_offset,0,0);\n#endif\n}float get_sample_step() {\n#ifdef PITCH_WITH_MAP\nreturn 2.0*PI/float(NUM_SAMPLES_PER_RING);\n#else\nreturn PI/float(NUM_SAMPLES_PER_RING);\n#endif\n}void main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);vec4 world_center;mat3 surface_vectors;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(circle_center)*circle_elevation(circle_center);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*circle_elevation(circle_center);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,circle_center,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;vec3 pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);world_center=vec4(pos,1);\n#else \nsurface_vectors=mat3(1.0);float height=circle_elevation(circle_center);world_center=vec4(circle_center,height,1);\n#endif\nvec4 projected_center=u_matrix*world_center;float view_scale=0.0;\n#ifdef PITCH_WITH_MAP\n#ifdef SCALE_WITH_MAP\nview_scale=1.0;\n#else\nview_scale=projected_center.w/u_camera_to_center_distance;\n#endif\n#else\n#ifdef SCALE_WITH_MAP\nview_scale=u_camera_to_center_distance;\n#else\nview_scale=projected_center.w;\n#endif\n#endif\ngl_Position=project_vertex(extrude,world_center,projected_center,radius,stroke_width,view_scale,surface_vectors);float visibility=0.0;\n#ifdef TERRAIN\nfloat step=get_sample_step();vec4 occlusion_world_center;vec4 occlusion_projected_center;\n#ifdef PITCH_WITH_MAP\nfloat cantilevered_height=cantilevered_elevation(circle_center,radius,stroke_width,view_scale);occlusion_world_center=vec4(circle_center,cantilevered_height,1);occlusion_projected_center=u_matrix*occlusion_world_center;\n#else\nocclusion_world_center=world_center;occlusion_projected_center=projected_center;\n#endif\nfor(int ring=0; ring < NUM_VISIBILITY_RINGS; ring++) {float scale=(float(ring)+1.0)/float(NUM_VISIBILITY_RINGS);for(int i=0; i < NUM_SAMPLES_PER_RING; i++) {vec2 extrusion=vec2(cos(step*float(i)),-sin(step*float(i)))*scale;vec4 frag_pos=project_vertex(extrusion,occlusion_world_center,occlusion_projected_center,radius,stroke_width,view_scale,surface_vectors);visibility+=float(!isOccluded(frag_pos));}}visibility/=float(NUM_VISIBILITY_RINGS)*float(NUM_SAMPLES_PER_RING);\n#else\nvisibility=1.0;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nvisibility=1.0;\n#endif\nv_visibility=visibility;lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);\n#ifdef FOG\nv_fog_pos=fog_position(world_center.xyz);\n#endif\n}'),clippingMask:Qr("void main() {glFragColor=vec4(1.0);}","in vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Qr('#include "_prelude_fog.fragment.glsl"\nuniform highp float u_intensity;in vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);glFragColor=vec4(val,1.0,1.0,1.0);\n#ifdef FOG\nif (u_is_globe==0) {glFragColor.r*=pow(1.0-fog_opacity(v_fog_pos),2.0);}\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;in vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;\n#endif\nout vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec2 tilePos=floor(a_pos*0.5);vec3 pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 pos_normal_3=a_pos_normal_3/16384.0;mat3 surface_vectors=globe_mercator_surface_vectors(pos_normal_3,u_up_dir,u_zoom_transition);vec3 surface_extrusion=extrude.x*surface_vectors[0]+extrude.y*surface_vectors[1];vec3 globe_elevation=elevationVector(tilePos)*elevation(tilePos);vec3 globe_pos=a_pos_3+surface_extrusion+globe_elevation;vec3 mercator_elevation=u_up_dir*u_tile_up_scale*elevation(tilePos);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,tilePos,u_tile_id,u_merc_center)+surface_extrusion+mercator_elevation;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#else\npos=vec3(tilePos+extrude,elevation(tilePos));\n#endif\ngl_Position=u_matrix*vec4(pos,1);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),heatmapTexture:Qr("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));glFragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(0.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}","in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=vec4(a_pos,0,1);v_pos=a_pos*0.5+0.5;}"),collisionBox:Qr("in float v_placed;in float v_notUsed;void main() {vec4 red =vec4(1.0,0.0,0.0,1.0);vec4 blue=vec4(0.0,0.0,1.0,0.5);glFragColor =mix(red,blue,step(0.5,v_placed))*0.5;glFragColor*=mix(1.0,0.1,step(0.5,v_notUsed));}",'#include "_prelude_terrain.vertex.glsl"\nin vec3 a_pos;in vec2 a_anchor_pos;in vec2 a_extrude;in vec2 a_placed;in vec2 a_shift;in float a_size_scale;in vec2 a_padding;in float a_z_offset;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;out float v_placed;out float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_pos+elevationVector(a_anchor_pos)*(a_z_offset+elevation(a_anchor_pos)),1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,1.5);gl_Position=projectedPoint;gl_Position.xy+=(a_extrude*a_size_scale+a_shift+a_padding)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}'),collisionCircle:Qr("in float v_radius;in vec2 v_extrude;in float v_perspective_ratio;in float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);glFragColor=color*alpha*opacity_t;}","in vec2 a_pos_2f;in float a_radius;in vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;out float v_radius;out vec2 v_extrude;out float v_perspective_ratio;out float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos_2f;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(\nmix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(\n0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Qr("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);glFragColor=mix(u_color,overlay_color,overlay_color.a);}",'#include "_prelude_terrain.vertex.glsl"\nin vec2 a_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;\n#endif\nout vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {float h=elevation(a_pos);v_uv=a_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\ngl_Position=u_matrix*vec4(a_pos_3+elevationVector(a_pos)*h,1);\n#else\ngl_Position=u_matrix*vec4(a_pos*u_overlay_scale,h,1);\n#endif\n}'),fill:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nuniform float u_emissive_strength;void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\nvec4 out_color=color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillOutline:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin highp vec2 v_pos;uniform float u_emissive_strength;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=outline_color;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nin vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;out highp vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillOutlinePattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_emissive_strength;in highp vec2 v_pos;in highp vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);float dist=length(v_pos_world-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out highp vec2 v_pos;out highp vec2 v_pos_world;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);v_pos_world=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;in vec2 v_pos;uniform float u_emissive_strength;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nglFragColor=out_color*opacity;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_tile_units_to_pixels;in vec2 a_pos;out vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,a_pos);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),fillExtrusion:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nin vec4 v_color;in vec4 v_flat;\n#ifdef RENDER_SHADOWS\nin highp vec4 v_pos_light_view_0;in highp vec4 v_pos_light_view_1;\n#endif\nuniform lowp float u_opacity;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;in vec2 v_ao;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nin vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nin highp vec3 v_normal;\n#endif\nuniform vec3 u_flood_light_color;uniform highp float u_vertical_scale;uniform float u_flood_light_intensity;uniform vec3 u_ground_shadow_factor;\n#if defined(LIGHTING_3D_MODE) && defined(FLOOD_LIGHT)\nin float v_flood_radius;in float v_has_floodlight;\n#endif\nuniform float u_emissive_strength;in float v_height;void main() {\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nvec3 normal=normalize(v_normal);\n#endif\nfloat z;vec4 color=v_color;\n#ifdef ZERO_ROOF_RADIUS\nz=float(normal.z > 0.00001);\n#ifdef LIGHTING_3D_MODE\nnormal=mix(normal,vec3(0.0,0.0,1.0),z);\n#else\ncolor=mix(v_color,v_roof_color,z);\n#endif\n#endif\nfloat h=max(0.0,v_height);float ao_shade=1.0;\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h_floors=h/(u_ao[1]*u_vertical_scale);float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);ao_shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;\n#ifdef ZERO_ROOF_RADIUS\nconcave*=(1.0-z);\n#endif\nfloat x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);ao_shade*=mix(1.0,x_shade*x_shade*x_shade,concave);\n#ifdef LIGHTING_3D_MODE\n#ifdef FLOOD_LIGHT\ncolor.rgb*=mix(ao_shade,1.0,v_has_floodlight);\n#else\ncolor.rgb*=ao_shade;\n#endif\n#else\ncolor.rgb*=ao_shade;\n#endif\n#endif\n#ifdef LIGHTING_3D_MODE\nfloat flood_radiance=0.0;\n#ifdef FLOOD_LIGHT\nflood_radiance=(1.0-min(h/v_flood_radius,1.0))*u_flood_light_intensity*v_has_floodlight;\n#endif\n#ifdef RENDER_SHADOWS\n#ifdef FLOOD_LIGHT\nfloat ndotl_unclamped=dot(normal,u_shadow_direction);float ndotl=max(0.0,ndotl_unclamped);float occlusion=ndotl_unclamped < 0.0 ? 1.0 : shadow_occlusion(ndotl,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);vec3 litColor=apply_lighting(color.rgb,normal,(1.0-u_shadow_intensity*occlusion)*ndotl);vec3 floodLitColor=compute_flood_lighting(u_flood_light_color*u_opacity,1.0-u_shadow_intensity,occlusion,u_ground_shadow_factor);color.rgb=mix(litColor,floodLitColor,flood_radiance);\n#else\nfloat shadowed_lighting_factor=shadowed_light_factor_normal(normal,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);color.rgb=apply_lighting(color.rgb,normal,shadowed_lighting_factor);\n#endif\n#else\ncolor.rgb=apply_lighting(color.rgb,normal);\n#ifdef FLOOD_LIGHT\ncolor.rgb=mix(color.rgb,u_flood_light_color*u_opacity,flood_radiance);\n#endif\n#endif\ncolor.rgb=mix(color.rgb,v_flat.rgb,u_emissive_strength);color*=u_opacity;\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos,h));\n#endif\n#ifdef INDICATOR_CUTOUT\ncolor=applyCutout(color);\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_shadow.vertex.glsl"\n#include "_prelude_lighting.glsl"\nuniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform float u_edge_radius;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nuniform highp float u_vertical_scale;out vec4 v_color;out vec4 v_flat;\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out highp vec4 v_pos_light_view_0;out highp vec4 v_pos_light_view_1;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nout vec4 v_roof_color;\n#endif\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nout highp vec3 v_normal;\n#endif\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;out vec2 v_ao;\n#endif\n#if defined(LIGHTING_3D_MODE) && defined(FLOOD_LIGHT)\nout float v_flood_radius;out float v_has_floodlight;\n#endif\nout float v_height;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define highp float flood_light_wall_radius\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize highp float flood_light_wall_radius\nbase*=u_vertical_scale;height*=u_vertical_scale;vec4 pos_nx=floor(a_pos_normal_ed*0.5);vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));\n#if defined(ZERO_ROOF_RADIUS) || defined(RENDER_SHADOWS) || defined(LIGHTING_3D_MODE)\nv_normal=normal;\n#endif\nbase=max(0.0,base);float attr_height=height;height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=0.0;float c_ele=0.0;vec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);pos=vec3(pos_nx.xy,h);\n#else\nh=t > 0.0 ? height : base;pos=vec3(pos_nx.xy,h);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*h);vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,pos.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*pos.z;pos=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat cutoff=1.0;vec3 scaled_pos=pos;\n#ifdef RENDER_CUTOFF\nvec3 centroid_random=vec3(centroid_pos.xy,centroid_pos.x+centroid_pos.y+1.0);vec3 ground_pos=centroid_pos.x==0.0 ? pos.xyz : (centroid_random/8.0);vec4 ground=u_matrix*vec4(ground_pos.xy,ele,1.0);cutoff=max(0.01,cutoff_opacity(u_cutoff_params,ground.z));if (centroid_pos.y !=0.0 && centroid_pos.x !=0.0) {vec3 g=floor(ground_pos);vec3 mod_=centroid_random-g*8.0;float seed=min(1.0,0.1*(min(3.5,max(mod_.x+mod_.y,0.2*attr_height))*0.35+mod_.z));if (cutoff < 0.8-seed) {cutoff=0.0;}}float cutoff_scale=cutoff;scaled_pos.z=mix(c_ele,h,cutoff_scale);\n#endif\nfloat hidden=float((centroid_pos.x==0.0 && centroid_pos.y==1.0) || (cutoff < 0.01 && centroid_pos.x !=0.0));gl_Position=mix(u_matrix*vec4(scaled_pos,1),AWAY,hidden);h=h-ele;v_height=h;\n#ifdef RENDER_SHADOWS\nvec3 shd_pos0=pos;vec3 shd_pos1=pos;\n#ifdef NORMAL_OFFSET\nvec3 offset=shadow_normal_offset(normal);shd_pos0+=offset*shadow_normal_offset_multiplier0();shd_pos1+=offset*shadow_normal_offset_multiplier1();\n#endif\nv_pos_light_view_0=u_light_matrix_0*vec4(shd_pos0,1);v_pos_light_view_1=u_light_matrix_1*vec4(shd_pos1,1);\n#endif\nfloat NdotL=0.0;float colorvalue=0.0;\n#ifndef LIGHTING_3D_MODE\ncolorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;NdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),NdotL);if (normal.y !=0.0) {float r=0.84;r=mix(0.7,0.98,1.0-u_lightintensity);NdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#endif\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec2(mix(concave,-concave,start),y_ground);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\n#ifdef FLOOD_LIGHT\nfloat is_wall=1.0-float(t > 0.0 && top_up_ny.y > 0.0);v_has_floodlight=float(flood_light_wall_radius > 0.0 && is_wall > 0.0);v_flood_radius=flood_light_wall_radius*u_vertical_scale;\n#endif\nv_color=vec4(color.rgb,1.0);v_flat=vec4(linearProduct(color.rgb,vec3(calculate_NdotL(normal))),1.0);\n#else\nv_color=vec4(0.0,0.0,0.0,1.0);v_color.rgb+=clamp(color.rgb*NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_color*=u_opacity;\n#endif\n#if defined(ZERO_ROOF_RADIUS) && !defined(LIGHTING_3D_MODE)\nfloat roofNdotL=clamp(u_lightpos.z,0.0,1.0);roofNdotL=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),roofNdotL);v_roof_color=vec4(0.0,0.0,0.0,1.0);v_roof_color.rgb+=clamp(color.rgb*roofNdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_roof_color*=u_opacity;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),fillExtrusionDepth:Qr("in highp float v_depth;void main() {\n#ifndef DEPTH_TEXTURE\nglFragColor=pack_depth(v_depth);\n#endif\n}",'#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_edge_radius;uniform float u_vertical_scale;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\nout highp float v_depth;void main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\nbase*=u_vertical_scale;height*=u_vertical_scale;vec3 pos_nx=floor(a_pos_normal_ed.xyz*0.5);mediump vec3 top_up_ny=a_pos_normal_ed.xyz-2.0*pos_nx;base=max(0.0,base);height=max(0.0,top_up_ny.y==0.0 && top_up_ny.x==1.0 ? height-u_edge_radius : height);float t=top_up_ny.x;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nvec3 pos;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;float ele=elevation(pos_nx.xy);float c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;float h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base);pos=vec3(pos_nx.xy,h);\n#else\npos=vec3(pos_nx.xy,t > 0.0 ? height : base);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(pos,1),AWAY,hidden);v_depth=gl_Position.z/gl_Position.w;}'),fillExtrusionPattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform vec2 u_texsize;uniform sampler2D u_image;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;in vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nin vec3 v_normal;\n#endif\nin vec2 v_pos;in vec4 v_lighting;uniform lowp float u_opacity;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define mediump vec4 pattern\n#pragma mapbox: define highp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize highp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 imagecoord=mod(v_pos,1.0);vec2 pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,imagecoord);vec2 lod_pos=mix(pattern_tl/u_texsize,pattern_br/u_texsize,v_pos);vec4 out_color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting(out_color,normalize(v_normal))*u_opacity;\n#else\nout_color=out_color*v_lighting;\n#endif\n#ifdef FAUX_AO\nfloat intensity=u_ao[0];float h=max(0.0,v_ao.z);float h_floors=h/u_ao[1];float y_shade=1.0-0.9*intensity*min(v_ao.y,1.0);float shade=(1.0-0.08*intensity)*(y_shade+(1.0-y_shade)*(1.0-pow(1.0-min(h_floors/16.0,1.0),16.0)))+0.08*intensity*min(h_floors/160.0,1.0);float concave=v_ao.x*v_ao.x;float x_shade=mix(1.0,mix(0.6,0.75,min(h_floors/30.0,1.0)),intensity)+0.1*intensity*min(h,1.0);shade*=mix(1.0,x_shade*x_shade*x_shade,concave);out_color.rgb=out_color.rgb*shade;\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\n#ifdef INDICATOR_CUTOUT\nout_color=applyCutout(out_color);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\n#include "_prelude_lighting.glsl"\nuniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform float u_tile_units_to_pixels;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;in vec4 a_pos_normal_ed;in vec2 a_centroid_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_pos_3;in vec3 a_pos_normal_3;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_tile_id;uniform float u_zoom_transition;uniform vec3 u_up_dir;uniform float u_height_lift;\n#endif\nout vec2 v_pos;out vec4 v_lighting;\n#ifdef FAUX_AO\nuniform lowp vec2 u_ao;out vec3 v_ao;\n#endif\n#ifdef LIGHTING_3D_MODE\nout vec3 v_normal;\n#endif\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define mediump vec4 pattern\n#pragma mapbox: define highp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize highp float pixel_ratio\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec4 pos_nx=floor(a_pos_normal_ed*0.5);mediump vec4 top_up_ny_start=a_pos_normal_ed-2.0*pos_nx;mediump vec3 top_up_ny=top_up_ny_start.xyz;float x_normal=pos_nx.z/8192.0;vec3 normal=top_up_ny.y==1.0 ? vec3(0.0,0.0,1.0) : normalize(vec3(x_normal,(2.0*top_up_ny.z-1.0)*(1.0-abs(x_normal)),0.0));float edgedistance=a_pos_normal_ed.w;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;base=max(0.0,base);height=max(0.0,height);float t=top_up_ny.x;float z=t > 0.0 ? height : base;vec2 centroid_pos=vec2(0.0);\n#if defined(HAS_CENTROID) || defined(TERRAIN)\ncentroid_pos=a_centroid_pos;\n#endif\nfloat ele=0.0;float h=z;vec3 p;float c_ele;\n#ifdef TERRAIN\nbool flat_roof=centroid_pos.x !=0.0 && t > 0.0;ele=elevation(pos_nx.xy);c_ele=flat_roof ? centroid_pos.y==0.0 ? elevationFromUint16(centroid_pos.x) : flatElevation(centroid_pos) : ele;h=flat_roof ? max(c_ele+height,ele+base+2.0) : ele+(t > 0.0 ? height : base==0.0 ?-5.0 : base);p=vec3(pos_nx.xy,h);\n#else\np=vec3(pos_nx.xy,z);\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nfloat lift=float((t+base) > 0.0)*u_height_lift;h+=lift;vec3 globe_normal=normalize(mix(a_pos_normal_3/16384.0,u_up_dir,u_zoom_transition));vec3 globe_pos=a_pos_3+globe_normal*(u_tile_up_scale*(p.z+lift));vec3 merc_pos=mercator_tile_position(u_inv_rot_matrix,p.xy,u_tile_id,u_merc_center)+u_up_dir*u_tile_up_scale*p.z;p=mix_globe_mercator(globe_pos,merc_pos,u_zoom_transition);\n#endif\nfloat hidden=float(centroid_pos.x==0.0 && centroid_pos.y==1.0);gl_Position=mix(u_matrix*vec4(p,1),AWAY,hidden);vec2 pos=normal.z==1.0\n? pos_nx.xy\n: vec2(edgedistance,z*u_height_factor);v_pos=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,display_size,u_tile_units_to_pixels,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float NdotL=0.0;\n#ifdef LIGHTING_3D_MODE\nNdotL=calculate_NdotL(normal);\n#else\nNdotL=clamp(dot(normal,u_lightpos),0.0,1.0);NdotL=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),NdotL);\n#endif\nif (normal.y !=0.0) {float r=0.84;\n#ifndef LIGHTING_3D_MODE\nr=mix(0.7,0.98,1.0-u_lightintensity);\n#endif\nNdotL*=(\n(1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),r,1.0)));}\n#ifdef FAUX_AO\nfloat concave=pos_nx.w-floor(pos_nx.w*0.5)*2.0;float start=top_up_ny_start.w;float y_ground=1.0-clamp(t+base,0.0,1.0);float top_height=height;\n#ifdef TERRAIN\ntop_height=mix(max(c_ele+height,ele+base+2.0),ele+height,float(centroid_pos.x==0.0))-ele;y_ground+=y_ground*5.0/max(3.0,top_height);\n#endif\nv_ao=vec3(mix(concave,-concave,start),y_ground,h-ele);NdotL*=(1.0+0.05*(1.0-top_up_ny.y)*u_ao[0]);\n#ifdef PROJECTION_GLOBE_VIEW\ntop_height+=u_height_lift;\n#endif\ngl_Position.z-=(0.0000006*(min(top_height,500.)+2.0*min(base,500.0)+60.0*concave+3.0*start))*gl_Position.w;\n#endif\n#ifdef LIGHTING_3D_MODE\nv_normal=normal;\n#else\nv_lighting.rgb+=clamp(NdotL*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;\n#endif \n#ifdef FOG\nv_fog_pos=fog_position(p);\n#endif\n}'),groundShadow:Qr('#include "_prelude_shadow.fragment.glsl"\nprecision highp float;uniform vec3 u_ground_shadow_factor;in vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;\n#ifdef FOG\nin float v_fog_opacity;\n#endif\nvoid main() {float light=shadowed_light_factor(v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);vec3 shadow=mix(u_ground_shadow_factor,vec3(1.0),light);\n#ifdef RENDER_CUTOFF\nshadow=mix(vec3(1.0),shadow,cutoff_opacity(u_cutoff_params,1.0/gl_FragCoord.w));\n#endif\n#ifdef FOG\nshadow=mix(shadow,vec3(1.0),v_fog_opacity);\n#endif\n#ifdef INDICATOR_CUTOUT\nshadow=mix(shadow,vec3(1.0),1.0-applyCutout(vec4(1.0)).r);\n#endif\nglFragColor=vec4(shadow,1.0);}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;in vec2 a_pos;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;\n#ifdef FOG\nout float v_fog_opacity;\n#endif\nvoid main() {gl_Position=u_matrix*vec4(a_pos,0.0,1.0);v_pos_light_view_0=u_light_matrix_0*vec4(a_pos,0.0,1.0);v_pos_light_view_1=u_light_matrix_1*vec4(a_pos,0.0,1.0);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);v_fog_opacity=fog(v_fog_pos);\n#endif\n}'),fillExtrusionGroundEffect:Qr("uniform highp float u_ao_pass;uniform highp float u_opacity;uniform highp float u_flood_light_intensity;uniform highp vec3 u_flood_light_color;uniform highp float u_attenuation;uniform sampler2D u_fb;uniform float u_fb_size;\n#ifdef SDF_SUBPASS\nin highp vec2 v_pos;in highp vec4 v_line_segment;in highp float v_flood_light_radius_tile;in highp vec2 v_ao;float line_df(highp vec2 a,highp vec2 b,highp vec2 p) {highp vec2 ba=b-a;highp vec2 pa=p-a;highp float r=clamp(dot(pa,ba)/dot(ba,ba),0.0,1.0);return length(pa-r*ba);}\n#ifdef FOG\nin highp float v_fog;\n#endif\n#endif\nvoid main() {\n#ifdef CLEAR_SUBPASS\nvec4 color=vec4(1.0);\n#ifdef CLEAR_FROM_TEXTURE\ncolor=texture(u_fb,gl_FragCoord.xy/vec2(u_fb_size));\n#endif\nglFragColor=color;\n#else\n#ifdef SDF_SUBPASS\nhighp float d=line_df(v_line_segment.xy,v_line_segment.zw,v_pos);highp float effect_radius=mix(v_flood_light_radius_tile,v_ao.y,u_ao_pass);d/=effect_radius;d=min(d,1.0);d=1.0-pow(1.0-d,u_attenuation);highp float effect_intensity=mix(u_flood_light_intensity,v_ao.x,u_ao_pass);highp float fog=1.0;\n#ifdef FOG\nfog=v_fog;\n#endif\n#ifdef RENDER_CUTOFF\nfog*=v_cutoff_opacity;\n#endif\nglFragColor=vec4(vec3(0.0),mix(1.0,d,effect_intensity*u_opacity*fog));\n#else\nvec4 color=mix(vec4(u_flood_light_color,1.0),vec4(vec3(0.0),1.0),u_ao_pass);\n#ifdef OVERDRAW_INSPECTOR\ncolor=vec4(1.0);\n#endif\nglFragColor=color;\n#endif\nHANDLE_WIREFRAME_DEBUG;\n#endif\n}",'#include "_prelude_fog.vertex.glsl"\nin highp vec4 a_pos_end;in highp float a_angular_offset_factor;in highp float a_hidden_by_landmark;\n#ifdef SDF_SUBPASS\nout highp vec2 v_pos;out highp vec4 v_line_segment;out highp float v_flood_light_radius_tile;out highp vec2 v_ao;\n#ifdef FOG\nout highp float v_fog;\n#endif\n#endif\nuniform highp float u_flood_light_intensity;uniform highp mat4 u_matrix;uniform highp float u_ao_pass;uniform highp float u_meter_to_tile;uniform highp float u_edge_radius;uniform highp vec2 u_ao;\n#pragma mapbox: define highp float flood_light_ground_radius\nconst float TANGENT_CUTOFF=4.0;const float NORM=32767.0;void main() {\n#pragma mapbox: initialize highp float flood_light_ground_radius\nvec2 p=a_pos_end.xy;vec2 q=floor(a_pos_end.zw*0.5);vec2 start_bottom=a_pos_end.zw-q*2.0;float fl_ground_radius=flood_light_ground_radius;fl_ground_radius=abs(flood_light_ground_radius);float direction=flood_light_ground_radius < 0.0 ?-1.0 : 1.0;float flood_radius_tile=fl_ground_radius*u_meter_to_tile;vec2 v=normalize(q-p);float ao_radius=u_ao.y/3.5;float effect_radius=mix(flood_radius_tile,ao_radius,u_ao_pass)+u_edge_radius;float angular_offset_factor=a_angular_offset_factor/NORM*TANGENT_CUTOFF;float angular_offset=direction*angular_offset_factor*effect_radius;float top=1.0-start_bottom.y;float side=(0.5-start_bottom.x)*2.0;vec2 extrusion_parallel=v*side*mix(1.0,angular_offset,top);vec2 perp=vec2(v.y,-v.x);vec2 extrusion_perp=direction*perp*effect_radius*top;vec3 pos=vec3(mix(q,p,start_bottom.x),0.0);pos.xy+=extrusion_parallel+extrusion_perp;\n#ifdef SDF_SUBPASS\nv_pos=pos.xy;v_line_segment=vec4(p,q)+perp.xyxy*u_edge_radius;v_flood_light_radius_tile=flood_radius_tile;v_ao=vec2(u_ao.x,ao_radius);\n#ifdef FOG\nv_fog_pos=fog_position(pos);v_fog=1.0-fog(v_fog_pos);\n#endif\n#endif\nfloat hidden_by_landmark=0.0;\n#ifdef HAS_CENTROID\nhidden_by_landmark=a_hidden_by_landmark;\n#endif\nfloat isFloodlit=float(fl_ground_radius > 0.0 && u_flood_light_intensity > 0.0);float hidden=mix(1.0-isFloodlit,isFloodlit,u_ao_pass);hidden+=hidden_by_landmark;gl_Position=mix(u_matrix*vec4(pos,1.0),AWAY,float(hidden > 0.0));\n#ifdef RENDER_CUTOFF\nv_cutoff_opacity=cutoff_opacity(u_cutoff_params,gl_Position.z);\n#endif\n}'),hillshadePrepare:Qr("precision highp float;uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;float getElevation(vec2 coord) {return texture(u_image,coord).r/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y));float b=getElevation(v_pos+vec2(0,-epsilon.y));float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y));float d=getElevation(v_pos+vec2(-epsilon.x,0));float e=getElevation(v_pos+vec2(epsilon.x,0));float f=getElevation(v_pos+vec2(-epsilon.x,epsilon.y));float g=getElevation(v_pos+vec2(0,epsilon.y));float h=getElevation(v_pos+vec2(epsilon.x,epsilon.y));float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2(\n(c+e+e+h)-(a+d+d+f),(f+g+g+h)-(a+b+b+c)\n)/pow(2.0,exaggeration+(19.2562-u_zoom));glFragColor=clamp(vec4(\nderiv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);}","uniform mat4 u_matrix;uniform vec2 u_dimension;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;uniform float u_emissive_strength;void main() {vec4 pixel=texture(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);glFragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef LIGHTING_3D_MODE\nglFragColor=apply_lighting_with_emission_ground(glFragColor,u_emissive_strength);\n#endif\n#ifdef FOG\nglFragColor=fog_dither(fog_apply_premultiplied(glFragColor,v_fog_pos));\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;in vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n}'),line:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform lowp float u_device_pixel_ratio;uniform float u_alpha_discard_threshold;uniform highp vec2 u_trim_offset;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform sampler2D u_dash_image;in vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform sampler2D u_gradient_image;\n#endif\nfloat luminance(vec3 c) {return (c.r+c.r+c.b+c.g+c.g+c.g)*0.1667;}uniform float u_emissive_strength;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float border_width\n#pragma mapbox: define lowp vec4 border_color\nfloat linearstep(float edge0,float edge1,float x) {return clamp((x-edge0)/(edge1-edge0),0.0,1.0);}void main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float border_width\n#pragma mapbox: initialize lowp vec4 border_color\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);\n#ifdef RENDER_LINE_DASH\nfloat sdfdist=texture(u_dash_image,v_tex).r;float sdfgamma=1.0/(2.0*u_device_pixel_ratio)/dash.z;alpha*=linearstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);\n#endif\nhighp vec4 out_color;\n#ifdef RENDER_LINE_GRADIENT\nout_color=texture(u_gradient_image,v_uv.xy);\n#else\nout_color=color;\n#endif\nfloat trimmed=1.0;\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {out_color=vec4(0,0,0,0);trimmed=0.0;}}\n#endif\nif (u_alpha_discard_threshold !=0.0) {if (alpha < u_alpha_discard_threshold) {discard;}}\n#ifdef RENDER_LINE_BORDER\nfloat edgeBlur=(border_width+1.0/u_device_pixel_ratio);float alpha2=clamp(min(dist-(v_width2.t-edgeBlur),v_width2.s-dist)/edgeBlur,0.0,1.0);if (alpha2 < 1.) {float smoothAlpha=smoothstep(0.6,1.0,alpha2);if (border_color.a==0.0) { \nfloat Y=(out_color.a > 0.01) ? luminance(out_color.rgb/out_color.a) : 1.;float adjustment=(Y > 0.) ? 0.5/Y : 0.45;if (out_color.a > 0.25 && Y < 0.25) {vec3 borderColor=(Y > 0.) ? out_color.rgb : vec3(1,1,1)*out_color.a;out_color.rgb=out_color.rgb+borderColor*(adjustment*(1.0-smoothAlpha));} else {out_color.rgb*=(0.6 +0.4*smoothAlpha);}} else {out_color.rgb=mix(border_color.rgb*border_color.a*trimmed,out_color.rgb,smoothAlpha);}}\n#endif\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,u_emissive_strength);\n#endif\n#ifdef FOG\nout_color=fog_dither(fog_apply_premultiplied(out_color,v_fog_pos));\n#endif\nout_color*=(alpha*opacity);\n#ifdef INDICATOR_CUTOUT\nout_color=applyCutout(out_color);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#define EXTRUDE_SCALE 0.015873016\nin vec2 a_pos_normal;in vec4 a_data;\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nin highp vec4 a_packed;\n#endif\n#ifdef RENDER_LINE_DASH\nin float a_linesofar;\n#endif\nuniform mat4 u_matrix;uniform mat2 u_pixels_to_tile_units;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec4 v_uv;\n#ifdef RENDER_LINE_DASH\nuniform vec2 u_texsize;uniform float u_tile_units_to_pixels;out vec2 v_tex;\n#endif\n#ifdef RENDER_LINE_GRADIENT\nuniform float u_image_height;\n#endif\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 dash\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float border_width\n#pragma mapbox: define lowp vec4 border_color\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize lowp vec4 dash\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float border_width\n#pragma mapbox: initialize lowp vec4 border_color\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*EXTRUDE_SCALE;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*EXTRUDE_SCALE*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#if defined(RENDER_LINE_GRADIENT) || defined(RENDER_LINE_TRIM_OFFSET)\nfloat a_uv_x=a_packed[0];float a_split_index=a_packed[1];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];\n#ifdef RENDER_LINE_GRADIENT\nhighp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec4(a_uv_x,a_split_index*texel_height-half_texel_height,a_clip_start,a_clip_end);\n#else\nv_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\n#endif\n#ifdef RENDER_LINE_DASH\nfloat scale=dash.z==0.0 ? 0.0 : u_tile_units_to_pixels/dash.z;float height=dash.y;v_tex=vec2(a_linesofar*scale/floorwidth,(-normal.y*height+dash.x+0.5)/u_texsize.y);\n#endif\nv_width2=vec2(outset,inset);\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),linePattern:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform mediump float u_tile_units_to_pixels;uniform highp vec2 u_trim_offset;uniform sampler2D u_image;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width;\n#ifdef RENDER_LINE_TRIM_OFFSET\nin highp vec4 v_uv;\n#endif\n#ifdef LINE_JOIN_NONE\nin vec2 v_pattern_data;\n#endif\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl=pattern.xy;vec2 pattern_br=pattern.zw;vec2 display_size=(pattern_br-pattern_tl)/pixel_ratio;vec2 pattern_size=vec2(display_size.x/u_tile_units_to_pixels,display_size.y);float aspect=display_size.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float pattern_x=v_linesofar/pattern_size.x*aspect;float x=mod(pattern_x,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(x,y));vec2 lod_pos=mix(pattern_tl*texel_size-texel_size,pattern_br*texel_size+texel_size,vec2(pattern_x,y));vec4 color=textureLodCustom(u_image,pos,lod_pos);\n#ifdef RENDER_LINE_TRIM_OFFSET\nhighp float start=v_uv[2];highp float end=v_uv[3];highp float trim_start=u_trim_offset[0];highp float trim_end=u_trim_offset[1];highp float line_progress=(start+(v_uv.x)*(end-start));if (trim_end > trim_start) {if (line_progress <=trim_end && line_progress >=trim_start) {color=vec4(0,0,0,0);}}\n#endif\n#ifdef LINE_JOIN_NONE\nfloat pattern_len=pattern_size.x/aspect;float segment_phase=pattern_len-mod((v_linesofar-v_pattern_data.x),pattern_len);float visible_start=segment_phase-step(pattern_len*0.5,segment_phase)*pattern_len;float visible_end=floor((v_pattern_data.y-segment_phase)/pattern_len)*pattern_len+segment_phase;visible_end+=step(pattern_len*0.5,v_pattern_data.y-visible_end)*pattern_len;if (v_pattern_data.x < visible_start || v_pattern_data.x >=visible_end) {color=vec4(0.0);}\n#endif\n#ifdef LIGHTING_3D_MODE\ncolor=apply_lighting_ground(color);\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ncolor*=(alpha*opacity);\n#ifdef INDICATOR_CUTOUT\ncolor=applyCutout(color);\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#define scale 0.015873016\nin vec2 a_pos_normal;in vec4 a_data;\n#ifdef RENDER_LINE_TRIM_OFFSET\nin highp vec4 a_packed;\n#endif\nin float a_linesofar;\n#ifdef LINE_JOIN_NONE\nin vec2 a_pattern_data;out vec2 v_pattern_data;\n#endif\nuniform mat4 u_matrix;uniform mediump float u_tile_units_to_pixels;uniform vec2 u_units_to_pixels;uniform mat2 u_pixels_to_tile_units;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width;\n#ifdef RENDER_LINE_TRIM_OFFSET\nout highp vec4 v_uv;\n#endif\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern\n#pragma mapbox: define lowp float pixel_ratio\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern\n#pragma mapbox: initialize lowp float pixel_ratio\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist*u_pixels_to_tile_units,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2*u_pixels_to_tile_units,0.0,1.0)+projected_extrude;\n#ifndef RENDER_TO_TEXTURE\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#else\nv_gamma_scale=1.0;\n#endif\n#ifdef RENDER_LINE_TRIM_OFFSET\nfloat a_uv_x=a_packed[0];highp float a_clip_start=a_packed[2];highp float a_clip_end=a_packed[3];v_uv=vec4(a_uv_x,0.0,a_clip_start,a_clip_end);\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;\n#ifdef LINE_JOIN_NONE\nv_width+=ANTIALIASING;float offset_sign=(fract(a_pattern_data.x)-0.5)*4.0;float line_progress_offset=offset_sign*v_width*0.5/u_tile_units_to_pixels;v_linesofar+=line_progress_offset;v_pattern_data=vec2(a_pattern_data.x+line_progress_offset,a_pattern_data.y);\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(pos);\n#endif\n}'),raster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\n#include "_prelude_raster_array.glsl"\nuniform float u_fade_t;uniform float u_opacity;uniform highp float u_raster_elevation;uniform highp float u_zoom_transition;in vec2 v_pos0;in vec2 v_pos1;in float v_depth;\n#ifdef PROJECTION_GLOBE_VIEW\nin float v_split_fade;\n#endif\nuniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;uniform float u_emissive_strength;\n#ifndef RASTER_ARRAY\nuniform sampler2D u_image0;uniform sampler2D u_image1;\n#endif\n#ifdef RASTER_COLOR\nuniform sampler2D u_color_ramp;uniform highp vec4 u_colorization_mix;uniform highp float u_colorization_offset;uniform vec2 u_texture_res;\n#endif\nvoid main() {vec4 color0,color1,color;vec2 value;\n#ifdef RASTER_COLOR\n#ifdef RASTER_ARRAY\n#ifdef RASTER_ARRAY_LINEAR\nvalue=mix(\nraTexture2D_image0_linear(v_pos0,u_texture_res,u_colorization_mix,u_colorization_offset),raTexture2D_image1_linear(v_pos1,u_texture_res,u_colorization_mix,u_colorization_offset),u_fade_t\n);\n#else\nvalue=mix(\nraTexture2D_image0_nearest(v_pos0,u_texture_res,u_colorization_mix,u_colorization_offset),raTexture2D_image1_nearest(v_pos1,u_texture_res,u_colorization_mix,u_colorization_offset),u_fade_t\n);\n#endif\nif (value.y > 0.0) value.x/=value.y;\n#else\ncolor=mix(texture(u_image0,v_pos0),texture(u_image1,v_pos1),u_fade_t);value=vec2(u_colorization_offset+dot(color.rgb,u_colorization_mix.rgb),color.a);\n#endif\ncolor=texture(u_color_ramp,vec2(value.x,0.5));if (color.a > 0.0) color.rgb/=color.a;color.a*=value.y;\n#else\ncolor0=texture(u_image0,v_pos0);color1=texture(u_image1,v_pos1);if (color0.a > 0.0) color0.rgb/=color0.a;if (color1.a > 0.0) color1.rgb/=color1.a;color=mix(color0,color1,u_fade_t);\n#endif\ncolor.a*=u_opacity;\n#ifdef GLOBE_POLES\ncolor.a*=1.0-smoothstep(0.0,0.05,u_zoom_transition);\n#endif\nvec3 rgb=color.rgb;rgb=vec3(\ndot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);vec3 out_color=mix(u_high_vec,u_low_vec,rgb);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(vec4(out_color,1.0),u_emissive_strength).rgb;\n#endif\n#ifdef FOG\nhighp float fog_limit_high_meters=1000000.0;highp float fog_limit_low_meters=600000.0;float fog_limit=1.0-smoothstep(fog_limit_low_meters,fog_limit_high_meters,u_raster_elevation);out_color=fog_dither(fog_apply(out_color,v_fog_pos,fog_limit));\n#endif\nglFragColor=vec4(out_color*color.a,color.a);\n#ifdef PROJECTION_GLOBE_VIEW\nglFragColor*=mix(1.0,1.0-smoothstep(0.0,0.05,u_zoom_transition),smoothstep(0.8,0.9,v_split_fade));\n#endif\n#ifdef RENDER_CUTOFF\nglFragColor=glFragColor*cutoff_opacity(u_cutoff_params,v_depth);\n#endif\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform mat3 u_grid_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform vec2 u_perspective_transform;uniform vec2 u_texture_offset;uniform float u_raster_elevation;uniform float u_zoom_transition;uniform vec2 u_merc_center;\n#define GLOBE_UPSCALE GLOBE_RADIUS/6371008.8\n#ifdef GLOBE_POLES\nin vec3 a_globe_pos;in vec2 a_uv;\n#else\nin vec2 a_pos;in vec2 a_texture_pos;\n#endif\nout vec2 v_pos0;out vec2 v_pos1;out float v_depth;\n#ifdef PROJECTION_GLOBE_VIEW\nout float v_split_fade;\n#endif\nvoid main() {vec2 uv;\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;gl_Position=u_matrix*u_globe_matrix*vec4(globe_pos ,1.0);uv=a_uv;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(a_globe_pos,1.0)).xyz);\n#endif\n#else\nfloat w=1.0+dot(a_texture_pos,u_perspective_transform);uv=a_texture_pos/8192.0;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);vec3 globe_pos=latLngToECEF(latLng.xy);globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;vec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);float mercatorY=mercatorYfromLat(latLng[0]);float mercatorX=mercatorXfromLng(latLng[1]); \nv_split_fade=0.0;if (u_zoom_transition > 0.0) {vec2 merc_pos=vec2(mercatorX,mercatorY);merc_world_pos=vec4(merc_pos,u_raster_elevation,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;float opposite_merc_center=mod(u_merc_center.x+0.5,1.0);float dist_from_poles=(abs(mercatorY-0.5)*2.0);float range=0.1;v_split_fade=abs(opposite_merc_center-mercatorX);v_split_fade=clamp(1.0-v_split_fade,0.0,1.0);v_split_fade=max(smoothstep(1.0-range,1.0,dist_from_poles),max(smoothstep(1.0-range,1.0,v_split_fade),smoothstep(1.0-range,1.0,1.0-v_split_fade)));}float tiles=u_grid_matrix[0][2];if (tiles > 0.0) {float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];float uvY=mercatorY*tiles-idy;float uvX=mercatorX*tiles-idx;uv=vec2(uvX,uvY);}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition)*w,w);gl_Position=u_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n#else\ngl_Position=u_matrix*vec4(a_pos*w,u_raster_elevation*w,w);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n#endif\n#endif\nv_pos0=uv;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;v_pos0=u_texture_offset.x+u_texture_offset.y*v_pos0;v_pos1=u_texture_offset.x+u_texture_offset.y*v_pos1;\n#ifdef RENDER_CUTOFF\nv_depth=gl_Position.z;\n#endif\n}'),rasterParticle:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform float u_fade_t;uniform float u_opacity;uniform highp float u_raster_elevation;in vec2 v_pos0;in vec2 v_pos1;uniform sampler2D u_image0;uniform sampler2D u_image1;void main() {vec4 color0,color1,color;color0=texture(u_image0,v_pos0);color1=texture(u_image1,v_pos1);if (color0.a > 0.0) color0.rgb/=color0.a;if (color1.a > 0.0) color1.rgb/=color1.a;color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 out_color=color.rgb;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(vec4(out_color,1.0),0.0).rgb;\n#endif\n#ifdef FOG\nhighp float fog_limit_high_meters=1000000.0;highp float fog_limit_low_meters=600000.0;float fog_limit=1.0-smoothstep(fog_limit_low_meters,fog_limit_high_meters,u_raster_elevation);out_color=fog_dither(fog_apply(out_color,v_fog_pos,fog_limit));\n#endif\nglFragColor=vec4(out_color*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\nuniform mat4 u_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform mat3 u_grid_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_raster_elevation;uniform float u_zoom_transition;uniform vec2 u_merc_center;\n#define GLOBE_UPSCALE GLOBE_RADIUS/6371008.8\nin vec2 a_pos;in vec2 a_texture_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {float w=1.0;vec2 uv;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float mercatorX=mercatorXfromLng(latLng[1]);float tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];float uvX=mercatorX*tiles-idx;float uvY=mercatorY*tiles-idy;uv=vec2(uvX,uvY);vec3 globe_pos=latLngToECEF(latLng.xy);globe_pos+=normalize(globe_pos)*u_raster_elevation*GLOBE_UPSCALE;vec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {vec2 merc_pos=vec2(mercatorX,mercatorY);merc_world_pos=vec4(merc_pos,u_raster_elevation,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition)*w,w);gl_Position=u_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n#else\nuv=a_texture_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*w,u_raster_elevation*w,w);\n#ifdef FOG\nv_fog_pos=fog_position(a_pos);\n#endif\n#endif\nv_pos0=uv;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}'),rasterParticleDraw:Qr("uniform sampler2D u_color_ramp;in float v_particle_speed;void main() {glFragColor=texture(u_color_ramp,vec2(v_particle_speed,0.5));}",'#include "_prelude_raster_particle.glsl"\nin float a_index;uniform sampler2D u_particle_texture;uniform float u_particle_texture_side_len;uniform vec2 u_tile_offset;out float v_particle_speed;void main() {ivec2 pixel_coord=ivec2(\nmod(a_index,u_particle_texture_side_len),a_index/u_particle_texture_side_len);vec4 pixel=texelFetch(u_particle_texture,pixel_coord,0);vec2 pos=unpack_pos_from_rgba(pixel)+u_tile_offset;vec2 tex_coord=fract(pos);vec2 velocity=lookup_velocity(tex_coord);if (velocity==INVALID_VELOCITY) {gl_Position=AWAY;v_particle_speed=0.0;} else {gl_Position=vec4(2.0*pos-vec2(1.0),0.0,1.0);v_particle_speed=length(velocity);}gl_PointSize=1.0;}'),rasterParticleTexture:Qr("uniform sampler2D u_texture;uniform float u_opacity;in vec2 v_tex_pos;void main() {vec4 color=texture(u_texture,v_tex_pos);glFragColor=vec4(floor(255.0*color*u_opacity)/255.0);}","in vec2 a_pos;out vec2 v_tex_pos;void main() {vec2 uv=0.5*a_pos+vec2(0.5);v_tex_pos=uv;gl_Position=vec4(a_pos,0.0,1.0);}"),rasterParticleUpdate:Qr('#include "_prelude_raster_particle.glsl"\nuniform sampler2D u_particle_texture;uniform mediump float u_particle_texture_side_len;uniform mediump float u_speed_factor;uniform highp float u_reset_rate;uniform highp float u_rand_seed;in highp vec2 v_tex_coord;const highp vec3 rand_constants=vec3(12.9898,78.233,4375.85453);highp float rand(const highp vec2 co) {highp float t=dot(rand_constants.xy,co);return fract(sin(t)*(rand_constants.z+t));}void main() {ivec2 pixel_coord=ivec2(v_tex_coord*u_particle_texture_side_len);highp vec4 pixel=texelFetch(u_particle_texture,pixel_coord,0);highp vec2 pos=unpack_pos_from_rgba(pixel);highp vec2 velocity=lookup_velocity(clamp(pos,0.0,1.0));highp vec2 dp=velocity==INVALID_VELOCITY ? vec2(0) : velocity*u_speed_factor;pos=pos+dp;highp vec2 seed=(pos+v_tex_coord)*u_rand_seed;highp vec2 random_pos=vec2(rand(seed+1.3),rand(seed+2.1));highp float speed=velocity==INVALID_VELOCITY ? 0.0 : length(velocity);highp float reset_rate_bump=speed*u_reset_rate;highp vec2 particle_pos_min=-u_particle_pos_offset;highp vec2 particle_pos_max=vec2(1.0)+u_particle_pos_offset;highp vec2 pos_drop_rate=vec2(1.0)-step(particle_pos_min,pos)+step(particle_pos_max,pos);highp float drop_rate=max(u_reset_rate+reset_rate_bump,length(pos_drop_rate));highp float drop=step(1.0-drop_rate,rand(seed));highp vec2 next_pos=mix(pos,random_pos,drop);glFragColor=pack_pos_to_rgba(next_pos);}',"in vec2 a_pos;out vec2 v_tex_coord;void main() {v_tex_coord=0.5*(a_pos+vec2(1.0));gl_Position=vec4(a_pos,0.0,1.0);}"),symbolIcon:Qr('#include "_prelude_lighting.glsl"\nuniform sampler2D u_texture;\n#ifdef ICON_TRANSITION\nuniform float u_icon_transition;\n#endif\nin float v_fade_opacity;in vec2 v_tex_a;\n#ifdef ICON_TRANSITION\nin vec2 v_tex_b;\n#endif\n#ifdef COLOR_ADJUSTMENT\nuniform mat4 u_color_adj_mat;\n#endif\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float emissive_strength\nlowp float alpha=opacity*v_fade_opacity;vec4 out_color;\n#ifdef ICON_TRANSITION\nvec4 a=texture(u_texture,v_tex_a)*(1.0-u_icon_transition);vec4 b=texture(u_texture,v_tex_b)*u_icon_transition;out_color=(a+b);\n#else\nout_color=texture(u_texture,v_tex_a);\n#endif\n#ifdef COLOR_ADJUSTMENT\nout_color=u_color_adj_mat*out_color;\n#endif\nout_color*=alpha;\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_pixeloffset;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\n#ifdef ICON_TRANSITION\nin vec2 a_texb;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform vec3 u_up_vector;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout vec2 v_tex_a;\n#ifdef ICON_TRANSITION\nout vec2 v_tex_b;\n#endif\nout float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_min_font_scale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetProjected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetProjected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetProjected_point.xy/offsetProjected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*max(a_min_font_scale,font_scale)+a_pxoffset/16.0);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float out_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change))*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nv_tex_a=a_tex/u_texsize;\n#ifdef ICON_TRANSITION\nv_tex_b=a_texb/u_texsize;\n#endif\nv_fade_opacity=out_fade_opacity;}'),symbolSDF:Qr('#include "_prelude_lighting.glsl"\n#define SDF_PX 8.0\nuniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;uniform bool u_is_halo;in float v_draw_halo;in vec2 v_data0;in vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;bool draw_halo=v_draw_halo > 0.0;if (draw_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).r;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);vec4 out_color=color*(alpha*opacity*fade_opacity);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_pixeloffset;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform bool u_is_halo;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout float v_draw_halo;out vec2 v_data0;out vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetprojected_point;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 displacement=vec3(a_globe_normal.z,0,-a_globe_normal.x);offsetprojected_point=u_matrix*vec4(a_globe_anchor+displacement,1);\n#else\noffsetprojected_point=u_matrix*vec4(tile_anchor+vec2(1,0),0,1);\n#endif\nvec2 a=projected_point.xy/projected_point.w;vec2 b=offsetprojected_point.xy/offsetprojected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nvec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float out_fade_opacity=interpolated_fade_opacity*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nfloat gamma_scale=gl_Position.w;v_draw_halo=(u_is_halo && float(gl_InstanceID)==0.0) ? 1.0 : 0.0;v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,out_fade_opacity);}'),symbolTextAndIcon:Qr('#include "_prelude_lighting.glsl"\n#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_halo;in float v_draw_halo;in vec4 v_data0;in vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;glFragColor=texture(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;bool draw_halo=v_draw_halo > 0.0;if (draw_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture(u_texture,tex).r;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);vec4 out_color=color*(alpha*opacity*fade_opacity);\n#ifdef LIGHTING_3D_MODE\nout_color=apply_lighting_with_emission_ground(out_color,emissive_strength);\n#endif\nglFragColor=out_color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_terrain.vertex.glsl"\nin vec4 a_pos_offset;in vec4 a_tex_size;in vec4 a_projected_pos;in float a_fade_opacity;\n#ifdef Z_OFFSET\nin float a_z_offset;\n#endif\n#ifdef PROJECTION_GLOBE_VIEW\nin vec3 a_globe_anchor;in vec3 a_globe_normal;\n#endif\nuniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec3 u_up_vector;uniform vec2 u_texsize_icon;uniform bool u_is_halo;\n#ifdef PROJECTION_GLOBE_VIEW\nuniform vec3 u_tile_id;uniform mat4 u_inv_rot_matrix;uniform vec2 u_merc_center;uniform vec3 u_camera_forward;uniform float u_zoom_transition;uniform vec3 u_ecef_origin;uniform mat4 u_tile_matrix;\n#endif\nout float v_draw_halo;out vec4 v_data0;out vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\n#pragma mapbox: define lowp float emissive_strength\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\n#pragma mapbox: initialize lowp float emissive_strength\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_tex_size.xy;vec2 a_size=a_tex_size.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[3];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 tile_anchor=a_pos;float e=elevation(tile_anchor);\n#ifdef Z_OFFSET\ne+=a_z_offset;\n#endif\nvec3 h=elevationVector(tile_anchor)*e;float globe_occlusion_fade;vec3 world_pos;vec3 mercator_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nmercator_pos=mercator_tile_position(u_inv_rot_matrix,tile_anchor,u_tile_id,u_merc_center);world_pos=mix_globe_mercator(a_globe_anchor+h,mercator_pos,u_zoom_transition);vec4 ecef_point=u_tile_matrix*vec4(world_pos,1.0);vec3 origin_to_point=ecef_point.xyz-u_ecef_origin;globe_occlusion_fade=dot(origin_to_point,u_camera_forward) >=0.0 ? 0.0 : 1.0;\n#else\nworld_pos=vec3(tile_anchor,0)+h;globe_occlusion_fade=1.0;\n#endif\nvec4 projected_point=u_matrix*vec4(world_pos,1);highp float camera_to_anchor_distance=projected_point.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(\n0.5+0.5*distance_ratio,0.0,1.5);size*=perspective_ratio;float font_scale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offset_projected_point=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projected_point.xy/projected_point.w;vec2 b=offset_projected_point.xy/offset_projected_point.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}vec4 projected_pos;\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 proj_pos=mix_globe_mercator(a_projected_pos.xyz+h,mercator_pos,u_zoom_transition);projected_pos=u_label_plane_matrix*vec4(proj_pos,1.0);\n#else\nprojected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,h.z,1.0);\n#endif\nhighp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);float z=0.0;vec2 offset=rotation_matrix*(a_offset/32.0*font_scale);\n#ifdef TERRAIN\n#ifdef PITCH_WITH_MAP_TERRAIN\nvec4 tile_pos=u_label_plane_matrix_inv*vec4(a_projected_pos.xy+offset,0.0,1.0);z=elevation(tile_pos.xy);\n#endif\n#endif\nfloat occlusion_fade=occlusionFade(projected_point)*globe_occlusion_fade;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(occlusion_fade,fade_opacity[0]+fade_change));float projection_transition_fade=1.0;\n#if defined(PROJECTED_POS_ON_VIEWPORT) && defined(PROJECTION_GLOBE_VIEW)\nprojection_transition_fade=1.0-step(EPSILON,u_zoom_transition);\n#endif\nfloat out_fade_opacity=interpolated_fade_opacity*projection_transition_fade;float alpha=opacity*out_fade_opacity;float hidden=float(alpha==0.0 || projected_point.w <=0.0 || occlusion_fade==0.0);\n#ifdef PROJECTION_GLOBE_VIEW\nvec3 xAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,u_up_vector)) : vec3(1,0,0);vec3 yAxis=u_pitch_with_map ? normalize(cross(a_globe_normal,xAxis)) : vec3(0,1,0);gl_Position=mix(u_coord_matrix*vec4(projected_pos.xyz/projected_pos.w+xAxis*offset.x+yAxis*offset.y,1.0),AWAY,hidden);\n#else\ngl_Position=mix(u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+offset,z,1.0),AWAY,hidden);\n#endif\nfloat gamma_scale=gl_Position.w;v_draw_halo=(u_is_halo && float(gl_InstanceID)==0.0) ? 1.0 : 0.0;v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,out_fade_opacity,is_sdf);}'),terrainRaster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image0;in vec2 v_pos0;\n#ifdef FOG\nin float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nin vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;\n#endif\nuniform vec3 u_ground_shadow_factor;void main() {vec4 image_color=texture(u_image0,v_pos0);vec4 color;\n#ifdef LIGHTING_3D_MODE\nconst vec3 normal=vec3(0.0,0.0,1.0);\n#ifdef RENDER_SHADOWS\nfloat cutoffOpacity=1.0;\n#ifdef RENDER_CUTOFF\ncutoffOpacity=cutoff_opacity(u_cutoff_params,1.0/gl_FragCoord.w);\n#endif\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\nvec3 unlit_base=image_color.rgb*(1.0-image_color.a);vec3 emissive_base=image_color.rgb*image_color.a;float ndotl=u_shadow_direction.z;float occlusion=ndotl < 0.0 ? 1.0 : shadow_occlusion(v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w,0.0);ndotl=max(0.0,ndotl);vec3 lit=apply_lighting(unlit_base,normal,mix(1.0,(1.0-(u_shadow_intensity*occlusion))*ndotl,cutoffOpacity));vec3 emissive=compute_emissive_draped(emissive_base,1.0-u_shadow_intensity,occlusion,u_ground_shadow_factor);color.rgb=lit+emissive;color.a=1.0;\n#else\nfloat lighting_factor=shadowed_light_factor_normal_unbiased(normal,v_pos_light_view_0,v_pos_light_view_1,1.0/gl_FragCoord.w);color=apply_lighting(image_color,normal,mix(1.0,lighting_factor,cutoffOpacity));\n#endif\n#else\nfloat lighting_factor=u_lighting_directional_dir.z;color=apply_lighting(image_color,normal,lighting_factor);\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\ncolor.rgb=mix(color.rgb,image_color.rgb,image_color.a);color.a=1.0;\n#endif\n#endif\n#else\ncolor=image_color;\n#endif\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#else\ncolor=fog_dither(fog_apply_from_vert(color,v_fog_opacity));\n#endif\n#endif\nglFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;uniform float u_skirt_height;in vec2 a_pos;out vec2 v_pos0;\n#ifdef FOG\nout float v_fog_opacity;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;out float v_depth;\n#endif\nvoid main() {vec3 decomposedPosAndSkirt=decomposeToPosAndSkirt(a_pos);float skirt=decomposedPosAndSkirt.z;vec2 decodedPos=decomposedPosAndSkirt.xy;float elevation=elevation(decodedPos)-skirt*u_skirt_height;v_pos0=decodedPos/8192.0;gl_Position=u_matrix*vec4(decodedPos,elevation,1.0);\n#ifdef FOG\n#ifdef ZERO_EXAGGERATION\nv_fog_pos=fog_position(decodedPos);\n#else\nv_fog_opacity=fog(fog_position(vec3(decodedPos,elevation)));\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec3 pos=vec3(decodedPos,elevation);v_pos_light_view_0=u_light_matrix_0*vec4(pos,1.);v_pos_light_view_1=u_light_matrix_1*vec4(pos,1.);\n#endif\n}'),terrainDepth:Qr("precision highp float;in float v_depth;void main() {glFragColor=pack_depth(v_depth);}",'#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_matrix;in vec2 a_pos;out float v_depth;void main() {float elevation=elevation(a_pos);gl_Position=u_matrix*vec4(a_pos,elevation,1.0);v_depth=gl_Position.z/gl_Position.w;}'),skybox:Qr('#include "_prelude_fog.fragment.glsl"\nin lowp vec3 v_uv;uniform lowp samplerCube u_cubemap;uniform lowp float u_opacity;uniform highp float u_temporal_offset;uniform highp vec3 u_sun_direction;float sun_disk(highp vec3 ray_direction,highp vec3 sun_direction) {highp float cos_angle=dot(normalize(ray_direction),sun_direction);const highp float cos_sun_angular_diameter=0.99996192306;const highp float smoothstep_delta=1e-5;return smoothstep(\ncos_sun_angular_diameter-smoothstep_delta,cos_sun_angular_diameter+smoothstep_delta,cos_angle);}float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec3 uv=v_uv;const float y_bias=0.015;uv.y+=y_bias;uv.y=pow(abs(uv.y),1.0/5.0);uv.y=map(uv.y,0.0,1.0,-1.0,1.0);vec3 sky_color=texture(u_cubemap,uv).rgb;\n#ifdef FOG\nsky_color=fog_apply_sky_gradient(v_uv.xzy,sky_color);\n#endif\nsky_color.rgb=dither(sky_color.rgb,gl_FragCoord.xy+u_temporal_offset);sky_color+=0.1*sun_disk(v_uv,u_sun_direction);glFragColor=vec4(sky_color*u_opacity,u_opacity);\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}',Rr),skyboxGradient:Qr('#include "_prelude_fog.fragment.glsl"\nin highp vec3 v_uv;uniform lowp sampler2D u_color_ramp;uniform highp vec3 u_center_direction;uniform lowp float u_radius;uniform lowp float u_opacity;uniform highp float u_temporal_offset;void main() {float progress=acos(dot(normalize(v_uv),u_center_direction))/u_radius;vec4 color=texture(u_color_ramp,vec2(progress,0.5));\n#ifdef FOG\ncolor.rgb=fog_apply_sky_gradient(v_uv.xzy,color.rgb/color.a)*color.a;\n#endif\ncolor*=u_opacity;color.rgb=dither(color.rgb,gl_FragCoord.xy+u_temporal_offset);glFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\n}',Rr),skyboxCapture:Qr("\nin highp vec3 v_position;uniform highp float u_sun_intensity;uniform highp float u_luminance;uniform lowp vec3 u_sun_direction;uniform highp vec4 u_color_tint_r;uniform highp vec4 u_color_tint_m;precision highp float;\n#define BETA_R vec3(5.5e-6,13.0e-6,22.4e-6)\n#define BETA_M vec3(21e-6,21e-6,21e-6)\n#define MIE_G 0.76\n#define DENSITY_HEIGHT_SCALE_R 8000.0\n#define DENSITY_HEIGHT_SCALE_M 1200.0\n#define PLANET_RADIUS 6360e3\n#define ATMOSPHERE_RADIUS 6420e3\n#define SAMPLE_STEPS 10\n#define DENSITY_STEPS 4\nfloat ray_sphere_exit(vec3 orig,vec3 dir,float radius) {float a=dot(dir,dir);float b=2.0*dot(dir,orig);float c=dot(orig,orig)-radius*radius;float d=sqrt(b*b-4.0*a*c);return (-b+d)/(2.0*a);}vec3 extinction(vec2 density) {return exp(-vec3(BETA_R*u_color_tint_r.a*density.x+BETA_M*u_color_tint_m.a*density.y));}vec2 local_density(vec3 point) {float height=max(length(point)-PLANET_RADIUS,0.0);float exp_r=exp(-height/DENSITY_HEIGHT_SCALE_R);float exp_m=exp(-height/DENSITY_HEIGHT_SCALE_M);return vec2(exp_r,exp_m);}float phase_ray(float cos_angle) {return (3.0/(16.0*PI))*(1.0+cos_angle*cos_angle);}float phase_mie(float cos_angle) {return (3.0/(8.0*PI))*((1.0-MIE_G*MIE_G)*(1.0+cos_angle*cos_angle))/((2.0+MIE_G*MIE_G)*pow(1.0+MIE_G*MIE_G-2.0*MIE_G*cos_angle,1.5));}vec2 density_to_atmosphere(vec3 point,vec3 light_dir) {float ray_len=ray_sphere_exit(point,light_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(DENSITY_STEPS);vec2 density_point_to_atmosphere=vec2(0.0);for (int i=0; i < DENSITY_STEPS;++i) {vec3 point_on_ray=point+light_dir*((float(i)+0.5)*step_len);density_point_to_atmosphere+=local_density(point_on_ray)*step_len;;}return density_point_to_atmosphere;}vec3 atmosphere(vec3 ray_dir,vec3 sun_direction,float sun_intensity) {vec2 density_orig_to_point=vec2(0.0);vec3 scatter_r=vec3(0.0);vec3 scatter_m=vec3(0.0);vec3 origin=vec3(0.0,PLANET_RADIUS,0.0);float ray_len=ray_sphere_exit(origin,ray_dir,ATMOSPHERE_RADIUS);float step_len=ray_len/float(SAMPLE_STEPS);for (int i=0; i < SAMPLE_STEPS;++i) {vec3 point_on_ray=origin+ray_dir*((float(i)+0.5)*step_len);vec2 density=local_density(point_on_ray)*step_len;density_orig_to_point+=density;vec2 density_point_to_atmosphere=density_to_atmosphere(point_on_ray,sun_direction);vec2 density_orig_to_atmosphere=density_orig_to_point+density_point_to_atmosphere;vec3 extinction=extinction(density_orig_to_atmosphere);scatter_r+=density.x*extinction;scatter_m+=density.y*extinction;}float cos_angle=dot(ray_dir,sun_direction);float phase_r=phase_ray(cos_angle);float phase_m=phase_mie(cos_angle);vec3 beta_r=BETA_R*u_color_tint_r.rgb*u_color_tint_r.a;vec3 beta_m=BETA_M*u_color_tint_m.rgb*u_color_tint_m.a;return (scatter_r*phase_r*beta_r+scatter_m*phase_m*beta_m)*sun_intensity;}const float A=0.15;const float B=0.50;const float C=0.10;const float D=0.20;const float E=0.02;const float F=0.30;vec3 uncharted2_tonemap(vec3 x) {return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;}void main() {vec3 ray_direction=v_position;ray_direction.y=pow(ray_direction.y,5.0);const float y_bias=0.015;ray_direction.y+=y_bias;vec3 color=atmosphere(normalize(ray_direction),u_sun_direction,u_sun_intensity);float white_scale=1.0748724675633854;color=uncharted2_tonemap((log2(2.0/pow(u_luminance,4.0)))*color)*white_scale;glFragColor=vec4(color,1.0);}","in highp vec3 a_pos_3f;uniform mat3 u_matrix_3f;out highp vec3 v_position;float map(float value,float start,float end,float new_start,float new_end) {return ((value-start)*(new_end-new_start))/(end-start)+new_start;}void main() {vec4 pos=vec4(u_matrix_3f*a_pos_3f,1.0);v_position=pos.xyz;v_position.y*=-1.0;v_position.y=map(v_position.y,-1.0,1.0,0.0,1.0);gl_Position=vec4(a_pos_3f.xy,0.0,1.0);}"),globeRaster:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform sampler2D u_image0;uniform float u_far_z_cutoff;in vec2 v_pos0;\n#ifndef FOG\nuniform highp vec3 u_frustum_tl;uniform highp vec3 u_frustum_tr;uniform highp vec3 u_frustum_br;uniform highp vec3 u_frustum_bl;uniform highp vec3 u_globe_pos;uniform highp float u_globe_radius;uniform vec2 u_viewport;\n#endif\nvoid main() {vec4 color;\n#ifdef CUSTOM_ANTIALIASING\nvec2 uv=gl_FragCoord.xy/u_viewport;highp vec3 ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,uv.x),mix(u_frustum_bl,u_frustum_br,uv.x),1.0-uv.y);vec3 dir=normalize(ray_dir);vec3 closest_point=dot(u_globe_pos,dir)*dir;float norm_dist_from_center=1.0-length(closest_point-u_globe_pos)/u_globe_radius;const float antialias_pixel=2.0;float antialias_factor=antialias_pixel*fwidth(norm_dist_from_center);float antialias=smoothstep(0.0,antialias_factor,norm_dist_from_center);vec4 raster=texture(u_image0,v_pos0);\n#ifdef LIGHTING_3D_MODE\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\nraster=apply_lighting_with_emission_ground(raster,raster.a);color=vec4(raster.rgb*antialias,antialias);\n#else\nraster=apply_lighting_ground(raster);color=vec4(raster.rgb*antialias,raster.a*antialias);\n#endif\n#else\ncolor=vec4(raster.rgb*antialias,raster.a*antialias);\n#endif\n#else\ncolor=texture(u_image0,v_pos0);\n#ifdef LIGHTING_3D_MODE\n#ifdef LIGHTING_3D_ALPHA_EMISSIVENESS\ncolor=apply_lighting_with_emission_ground(color,color.a);color.a=1.0;\n#else\ncolor=apply_lighting_ground(color);\n#endif\n#endif\n#endif\n#ifdef FOG\ncolor=fog_dither(fog_apply_premultiplied(color,v_fog_pos));\n#endif\ncolor*=1.0-step(u_far_z_cutoff,1.0/gl_FragCoord.w);glFragColor=color;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_terrain.vertex.glsl"\nuniform mat4 u_proj_matrix;uniform mat4 u_normalize_matrix;uniform mat4 u_globe_matrix;uniform mat4 u_merc_matrix;uniform float u_zoom_transition;uniform vec2 u_merc_center;uniform mat3 u_grid_matrix;uniform float u_skirt_height;\n#ifdef GLOBE_POLES\nin vec3 a_globe_pos;in vec2 a_uv;\n#else\nin vec2 a_pos;\n#endif\nout vec2 v_pos0;void main() {\n#ifdef GLOBE_POLES\nvec3 globe_pos=a_globe_pos;vec2 uv=a_uv;\n#else\nfloat tiles=u_grid_matrix[0][2];float idx=u_grid_matrix[1][2];float idy=u_grid_matrix[2][2];vec3 decomposed_pos_and_skirt=decomposeToPosAndSkirt(a_pos);vec3 latLng=u_grid_matrix*vec3(decomposed_pos_and_skirt.xy,1.0);float mercatorY=mercatorYfromLat(latLng[0]);float uvY=mercatorY*tiles-idy;float mercatorX=mercatorXfromLng(latLng[1]);float uvX=mercatorX*tiles-idx;vec3 globe_pos=latLngToECEF(latLng.xy);vec2 merc_pos=vec2(mercatorX,mercatorY);vec2 uv=vec2(uvX,uvY);\n#endif\nv_pos0=uv;vec2 tile_pos=uv*EXTENT;vec3 globe_derived_up_vector=normalize(globe_pos)*u_tile_up_scale;\n#ifdef GLOBE_POLES\nvec3 up_vector=globe_derived_up_vector;\n#else\nvec3 up_vector=elevationVector(tile_pos);\n#endif\nfloat height=elevation(tile_pos);globe_pos+=up_vector*height;\n#ifndef GLOBE_POLES\nglobe_pos-=globe_derived_up_vector*u_skirt_height*decomposed_pos_and_skirt.z;\n#endif\n#ifdef GLOBE_POLES\nvec4 interpolated_pos=u_globe_matrix*vec4(globe_pos,1.0);\n#else\nvec4 globe_world_pos=u_globe_matrix*vec4(globe_pos,1.0);vec4 merc_world_pos=vec4(0.0);if (u_zoom_transition > 0.0) {merc_world_pos=vec4(merc_pos,height-u_skirt_height*decomposed_pos_and_skirt.z,1.0);merc_world_pos.xy-=u_merc_center;merc_world_pos.x=wrap(merc_world_pos.x,-0.5,0.5);merc_world_pos=u_merc_matrix*merc_world_pos;}vec4 interpolated_pos=vec4(mix(globe_world_pos.xyz,merc_world_pos.xyz,u_zoom_transition),1.0);\n#endif\ngl_Position=u_proj_matrix*interpolated_pos;\n#ifdef FOG\nv_fog_pos=fog_position((u_normalize_matrix*vec4(globe_pos,1.0)).xyz);\n#endif\n}'),globeAtmosphere:Qr('#include "_prelude_fog.fragment.glsl"\nuniform float u_transition;uniform highp float u_fadeout_range;uniform highp float u_temporal_offset;uniform vec4 u_color;uniform vec4 u_high_color;uniform vec4 u_space_color;uniform float u_horizon_angle;in highp vec3 v_ray_dir;in highp vec3 v_horizon_dir;void main() {highp vec3 dir=normalize(v_ray_dir);float globe_pos_dot_dir;\n#ifdef PROJECTION_GLOBE_VIEW\nglobe_pos_dot_dir=dot(u_globe_pos,dir);highp vec3 closest_point_forward=abs(globe_pos_dot_dir)*dir;float norm_dist_from_center=length(closest_point_forward-u_globe_pos)/u_globe_radius;if (norm_dist_from_center < 0.98) {\n#ifdef ALPHA_PASS\nglFragColor=vec4(0,0,0,0);return;\n#else\n#ifdef NATIVE\nglFragColor=vec4(1,1,1,1);\n#else\nglFragColor=vec4(0,0,0,1);\n#endif\nreturn;\n#endif\n}\n#endif\nhighp vec3 horizon_dir=normalize(v_horizon_dir);float horizon_angle_mercator=dir.y < horizon_dir.y ?\n0.0 : max(acos(clamp(dot(dir,horizon_dir),-1.0,1.0)),0.0);float horizon_angle;\n#ifdef PROJECTION_GLOBE_VIEW\nhighp vec3 closest_point=globe_pos_dot_dir*dir;highp float closest_point_to_center=length(closest_point-u_globe_pos);highp float theta=asin(clamp(closest_point_to_center/length(u_globe_pos),-1.0,1.0));horizon_angle=globe_pos_dot_dir < 0.0 ?\nPI-theta-u_horizon_angle : theta-u_horizon_angle;float angle_t=pow(u_transition,10.0);horizon_angle=mix(horizon_angle,horizon_angle_mercator,angle_t);\n#else\nhorizon_angle=horizon_angle_mercator;\n#endif\nhorizon_angle/=PI;float t=exp(-horizon_angle/u_fadeout_range);float alpha_0=u_color.a;float alpha_1=u_high_color.a;float alpha_2=u_space_color.a;vec3 color_stop_0=u_color.rgb;vec3 color_stop_1=u_high_color.rgb;vec3 color_stop_2=u_space_color.rgb;\n#ifdef ALPHA_PASS\nfloat a0=mix(alpha_2,1.0,alpha_1);float a1=mix(a0,1.0,alpha_0);float a2=mix(a0,a1,t);float a =mix(alpha_2,a2,t);glFragColor=vec4(1.0,1.0,1.0,a);\n#else\nvec3 c0=mix(color_stop_2,color_stop_1,alpha_1);vec3 c1=mix(c0,color_stop_0,alpha_0);vec3 c2=mix(c0,c1,t);vec3 c=c2;\n#ifndef NATIVE\nc=dither(c,gl_FragCoord.xy+u_temporal_offset);\n#endif\nglFragColor=vec4(c*t,t);\n#endif\n}',"in vec3 a_pos;in vec2 a_uv;uniform vec3 u_frustum_tl;uniform vec3 u_frustum_tr;uniform vec3 u_frustum_br;uniform vec3 u_frustum_bl;uniform float u_horizon;out highp vec3 v_ray_dir;out highp vec3 v_horizon_dir;void main() {v_ray_dir=mix(\nmix(u_frustum_tl,u_frustum_tr,a_uv.x),mix(u_frustum_bl,u_frustum_br,a_uv.x),a_uv.y);v_horizon_dir=mix(\nmix(u_frustum_tl,u_frustum_bl,u_horizon),mix(u_frustum_tr,u_frustum_br,u_horizon),a_uv.x);gl_Position=vec4(a_pos,1.0);}"),model:Qr('#include "_prelude_fog.fragment.glsl"\n#include "_prelude_shadow.fragment.glsl"\n#include "_prelude_lighting.glsl"\nuniform float u_opacity;uniform vec3 u_lightcolor;uniform vec3 u_lightpos;uniform float u_lightintensity;uniform vec4 u_baseColorFactor;uniform vec4 u_emissiveFactor;uniform float u_metallicFactor;uniform float u_roughnessFactor;uniform float u_emissive_strength;in highp vec4 v_position_height;in lowp vec4 v_color_mix;\n#ifdef RENDER_SHADOWS\nin vec4 v_pos_light_view_0;in vec4 v_pos_light_view_1;in float v_depth_shadows;\n#endif\n#ifdef OCCLUSION_TEXTURE_TRANSFORM\nuniform vec4 u_occlusionTextureTransform;\n#endif\n#pragma mapbox: define-attribute highp vec3 normal_3f\n#pragma mapbox: define-attribute highp vec3 color_3f\n#pragma mapbox: define-attribute highp vec4 color_4f\n#pragma mapbox: define-attribute highp vec2 uv_2f\n#pragma mapbox: initialize-attribute highp vec3 normal_3f\n#pragma mapbox: initialize-attribute highp vec3 color_3f\n#pragma mapbox: initialize-attribute highp vec4 color_4f\n#pragma mapbox: initialize-attribute highp vec2 uv_2f\n#ifdef HAS_ATTRIBUTE_a_pbr\nin lowp vec4 v_roughness_metallic_emissive_alpha;in mediump vec4 v_height_based_emission_params;\n#endif\n#ifdef HAS_TEXTURE_u_baseColorTexture\nuniform sampler2D u_baseColorTexture;uniform bool u_baseTextureIsAlpha;uniform bool u_alphaMask;uniform float u_alphaCutoff;\n#endif\n#ifdef HAS_TEXTURE_u_metallicRoughnessTexture\nuniform sampler2D u_metallicRoughnessTexture;\n#endif\n#ifdef HAS_TEXTURE_u_occlusionTexture\nuniform sampler2D u_occlusionTexture;uniform float u_aoIntensity;\n#endif\n#ifdef HAS_TEXTURE_u_normalTexture\nuniform sampler2D u_normalTexture;\n#endif\n#ifdef HAS_TEXTURE_u_emissionTexture\nuniform sampler2D u_emissionTexture;\n#endif\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nin highp float v_depth;uniform sampler2D u_depthTexture;uniform vec2 u_inv_depth_size;bool isOccluded() {vec2 coord=gl_FragCoord.xy*u_inv_depth_size;highp float depth=unpack_depth(texture(u_depthTexture,coord));return v_depth > depth+0.0005;}\n#endif\n#define saturate(_x) clamp(_x,0.,1.)\nvec3 linearTosRGB(vec3 color) {return pow(color,vec3(1./2.2));}vec3 sRGBToLinear(vec3 srgbIn) {return pow(srgbIn,vec3(2.2));}float calculate_NdotL(vec3 normal,vec3 lightDir) {const float ext=0.70710678118;return (clamp(dot(normal,lightDir),-ext,1.0)+ext)/(1.0+ext);}vec3 getDiffuseShadedColor(vec3 albedo,vec3 normal,vec3 lightDir,vec3 lightColor)\n{\n#ifdef LIGHTING_3D_MODE\nvec3 transformed_normal=vec3(-normal.xy,normal.z);float lighting_factor;\n#ifdef RENDER_SHADOWS\nlighting_factor=shadowed_light_factor_normal(transformed_normal,v_pos_light_view_0,v_pos_light_view_1,v_depth_shadows);\n#else\nlighting_factor=saturate(dot(transformed_normal,u_lighting_directional_dir));\n#endif\nreturn apply_lighting(albedo,transformed_normal,lighting_factor);\n#else\nvec3 n=normal;float colorvalue=((albedo.x*0.2126)+(albedo.y*0.7152))+(albedo.z*0.0722);vec3 c=vec3(0.03,0.03,0.03);float directional=clamp(dot(n,vec3(lightDir)),0.0,1.0);directional=mix(1.0-u_lightintensity,max((1.0-colorvalue)+u_lightintensity,1.0),directional);vec3 c3=c+clamp((albedo*directional)*lightColor,mix(vec3(0.0),vec3(0.3),vec3(1.0)-lightColor),vec3(1.0));return c3;\n#endif\n}vec4 getBaseColor() {vec4 albedo=u_baseColorFactor;\n#ifdef HAS_ATTRIBUTE_a_color_3f\nalbedo*=vec4(color_3f,1.0);\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\n#else\n#ifdef HAS_ATTRIBUTE_a_color_4f\nalbedo*=color_4f;\n#endif\n#endif\n#if defined (HAS_TEXTURE_u_baseColorTexture) && defined (HAS_ATTRIBUTE_a_uv_2f)\nvec4 texColor=texture(u_baseColorTexture,uv_2f);if(u_alphaMask) {if (texColor.w < u_alphaCutoff) {discard;}}\n#ifdef UNPREMULT_TEXTURE_IN_SHADER\nif(texColor.w > 0.0) {texColor.rgb/=texColor.w;}texColor.w=1.0;\n#endif\nif(u_baseTextureIsAlpha) {if (texColor.r < 0.5) {discard;}} else {texColor.rgb=sRGBToLinear(texColor.rgb);albedo*=texColor;}\n#endif\nreturn vec4(mix(albedo.rgb,v_color_mix.rgb,v_color_mix.a),albedo.a);}highp mat3 cotangentFrame(highp vec3 N,highp vec3 p,highp vec2 uv ) {\n#ifdef HAS_TEXTURE_u_normalTexture\nhighp vec3 dp1=vec3(dFdx(p.x),dFdx(p.y),dFdx(p.z));highp vec3 dp2=vec3(dFdy(p.x),dFdy(p.y),dFdy(p.z));highp vec2 duv1=vec2(dFdx(uv.x),dFdx(uv.y));highp vec2 duv2=vec2(dFdy(uv.x),dFdy(uv.y));highp vec3 dp2perp=cross( dp2,N );highp vec3 dp1perp=cross( N,dp1 );highp vec3 T=dp2perp*duv1.x+dp1perp*duv2.x;highp vec3 B=dp2perp*duv1.y+dp1perp*duv2.y;highp float lengthT=dot(T,T);highp float lengthB=dot(B,B);highp float maxLength=max(lengthT,lengthB);highp float invmax=inversesqrt( maxLength );highp mat3 res=mat3( T*invmax,B*invmax,N );return res;\n#else\nreturn mat3(1.0);\n#endif\n}highp vec3 getNormal(){highp vec3 n;\n#ifdef HAS_ATTRIBUTE_a_normal_3f\nn=normalize(normal_3f);\n#else\nhighp vec3 fdx=vec3(dFdx(v_position_height.x),dFdx(v_position_height.y),dFdx(v_position_height.z));highp vec3 fdy=vec3(dFdy(v_position_height.x),dFdy(v_position_height.y),dFdy(v_position_height.z));n=normalize(cross(fdx,fdy))*-1.0;\n#endif\n#if defined(HAS_TEXTURE_u_normalTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\nvec3 nMap=texture( u_normalTexture,uv_2f).xyz;nMap=normalize(2.0*nMap-vec3(1.0));highp vec3 v=normalize(-v_position_height.xyz);highp mat3 TBN=cotangentFrame(n,v,uv_2f);n=normalize(TBN*nMap);\n#endif\nreturn n;}struct Material {float perceptualRoughness;float alphaRoughness;float metallic;vec3 f90;vec4 baseColor;vec3 diffuseColor;vec3 specularColor;highp vec3 normal;};Material getPBRMaterial() {Material mat;mat.baseColor=getBaseColor();mat.perceptualRoughness=u_roughnessFactor;mat.metallic=u_metallicFactor;\n#ifdef HAS_ATTRIBUTE_a_pbr\nmat.perceptualRoughness=v_roughness_metallic_emissive_alpha.x;mat.metallic=v_roughness_metallic_emissive_alpha.y;mat.baseColor.w*=v_roughness_metallic_emissive_alpha.w;\n#endif\n#if defined(HAS_TEXTURE_u_metallicRoughnessTexture) && defined(HAS_ATTRIBUTE_a_uv_2f) \nvec4 mrSample=texture(u_metallicRoughnessTexture,uv_2f);mat.perceptualRoughness*=mrSample.g;mat.metallic*=mrSample.b;\n#endif\nconst float c_minRoughness=0.04;mat.perceptualRoughness=clamp(mat.perceptualRoughness,c_minRoughness,1.0);mat.metallic=saturate(mat.metallic);mat.alphaRoughness=mat.perceptualRoughness*mat.perceptualRoughness;const vec3 f0=vec3(0.04);mat.diffuseColor=mat.baseColor.rgb*(vec3(1.0)-f0);mat.diffuseColor*=1.0-mat.metallic;mat.specularColor=mix(f0,mat.baseColor.rgb,mat.metallic);highp float reflectance=max(max(mat.specularColor.r,mat.specularColor.g),mat.specularColor.b);highp float reflectance90=saturate(reflectance*25.0);mat.f90=vec3(reflectance90);mat.normal=getNormal();return mat;}float V_GGX(float NdotL,float NdotV,float roughness)\n{float a2=roughness*roughness;float GGXV=NdotL*sqrt(NdotV*NdotV*(1.0-a2)+a2);float GGXL=NdotV*sqrt(NdotL*NdotL*(1.0-a2)+a2);return 0.5/(GGXV+GGXL);}float V_GGXFast(float NdotL,float NdotV,float roughness) {float a=roughness;float GGXV=NdotL*(NdotV*(1.0-a)+a);float GGXL=NdotV*(NdotL*(1.0-a)+a);return 0.5/(GGXV+GGXL);}vec3 F_Schlick(vec3 specularColor,vec3 f90,float VdotH)\n{return specularColor+(f90-specularColor)*pow(clamp(1.0-VdotH,0.0,1.0),5.0);}vec3 F_SchlickFast(vec3 specularColor,float VdotH)\n{float x=1.0-VdotH;float x4=x*x*x*x;return specularColor+(1.0-specularColor)*x4*x;}float D_GGX(highp float NdotH,float alphaRoughness)\n{highp float a4=alphaRoughness*alphaRoughness;highp float f=(NdotH*a4-NdotH)*NdotH+1.0;return a4/(PI*f*f);}vec3 diffuseBurley(Material mat,float LdotH,float NdotL,float NdotV)\n{float f90=2.0*LdotH*LdotH*mat.alphaRoughness-0.5;return (mat.diffuseColor/PI)*(1.0+f90*pow((1.0-NdotL),5.0))*(1.0+f90*pow((1.0-NdotV),5.0));}vec3 diffuseLambertian(Material mat)\n{\n#ifdef LIGHTING_3D_MODE\nreturn mat.diffuseColor;\n#else\nreturn mat.diffuseColor/PI;\n#endif\n}vec3 EnvBRDFApprox(vec3 specularColor,float roughness,highp float NdotV)\n{vec4 c0=vec4(-1,-0.0275,-0.572,0.022);vec4 c1=vec4(1,0.0425,1.04,-0.04);highp vec4 r=roughness*c0+c1;highp float a004=min(r.x*r.x,exp2(-9.28*NdotV))*r.x+r.y;vec2 AB=vec2(-1.04,1.04)*a004+r.zw;return specularColor*AB.x+AB.y;}vec3 computeIndirectLightContribution(Material mat,float NdotV,vec3 normal)\n{vec3 env_light=vec3(0.65,0.65,0.65);\n#ifdef LIGHTING_3D_MODE\nfloat ambient_factor=calculate_ambient_directional_factor(normal);env_light=u_lighting_ambient_color*ambient_factor;\n#endif\nvec3 envBRDF=EnvBRDFApprox(mat.specularColor,mat.perceptualRoughness,NdotV);vec3 indirectSpecular= envBRDF*env_light;vec3 indirectDiffuse=mat.diffuseColor*env_light;return indirectSpecular+indirectDiffuse;}vec3 computeLightContribution(Material mat,vec3 lightPosition,vec3 lightColor)\n{highp vec3 n=mat.normal;highp vec3 v=normalize(-v_position_height.xyz);highp vec3 l=normalize(lightPosition);highp vec3 h=normalize(v+l);float NdotV=clamp(abs(dot(n,v)),0.001,1.0);float NdotL=saturate(dot(n,l));highp float NdotH=saturate(dot(n,h));float VdotH=saturate(dot(v,h));vec3 f=F_SchlickFast(mat.specularColor,VdotH);float g=V_GGXFast(NdotL,NdotV,mat.alphaRoughness);float d=D_GGX(NdotH,mat.alphaRoughness);vec3 diffuseTerm=(1.0-f)*diffuseLambertian(mat);vec3 specularTerm=f*g*d;vec3 transformed_normal=vec3(-n.xy,n.z);float lighting_factor;\n#ifdef RENDER_SHADOWS\nlighting_factor=shadowed_light_factor_normal(transformed_normal,v_pos_light_view_0,v_pos_light_view_1,v_depth_shadows);\n#else\nlighting_factor=NdotL;\n#endif\nvec3 directLightColor=(specularTerm+diffuseTerm)*lighting_factor*lightColor;vec3 indirectLightColor=computeIndirectLightContribution(mat,NdotV,transformed_normal);vec3 color=(saturate(directLightColor)+indirectLightColor);float intensityFactor=1.0;\n#if !defined(LIGHTING_3D_MODE)\nconst vec3 luminosityFactor=vec3(0.2126,0.7152,0.0722);float luminance=dot(diffuseTerm,luminosityFactor);intensityFactor=mix((1.0-u_lightintensity),max((1.0-luminance+u_lightintensity),1.0),NdotL);\n#endif\ncolor*=intensityFactor;return color;}void main() {\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nif (isOccluded()) {discard;}\n#endif\nvec3 lightDir=u_lightpos;vec3 lightColor=u_lightcolor;\n#ifdef LIGHTING_3D_MODE\nlightDir=u_lighting_directional_dir;lightDir.xy=-lightDir.xy;lightColor=u_lighting_directional_color;\n#endif\nvec4 finalColor;\n#ifdef DIFFUSE_SHADED\nvec3 N=getNormal();vec3 baseColor=getBaseColor().rgb;vec3 diffuse=getDiffuseShadedColor(baseColor,N,lightDir,lightColor);\n#ifdef HAS_TEXTURE_u_occlusionTexture\nfloat ao=(texture(u_occlusionTexture,uv_2f).r-1.0)*u_aoIntensity+1.0;diffuse*=ao;\n#endif\nfinalColor=vec4(mix(diffuse,baseColor,u_emissive_strength),1.0)*u_opacity;\n#else\nMaterial mat=getPBRMaterial();vec3 color=computeLightContribution(mat,lightDir,lightColor);float ao=1.0;\n#if defined (HAS_TEXTURE_u_occlusionTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\n#ifdef OCCLUSION_TEXTURE_TRANSFORM\nvec2 uv=uv_2f.xy*u_occlusionTextureTransform.zw+u_occlusionTextureTransform.xy;\n#else\nvec2 uv=uv_2f;\n#endif\nao=(texture(u_occlusionTexture,uv).x-1.0)*u_aoIntensity+1.0;color*=ao;\n#endif\nvec4 emissive=u_emissiveFactor;\n#if defined(HAS_TEXTURE_u_emissionTexture) && defined(HAS_ATTRIBUTE_a_uv_2f)\nemissive.rgb*=sRGBToLinear(texture(u_emissionTexture,uv_2f).rgb);\n#endif\ncolor+=emissive.rgb;float opacity=mat.baseColor.w*u_opacity;\n#ifdef HAS_ATTRIBUTE_a_pbr\nfloat resEmission=v_roughness_metallic_emissive_alpha.z;resEmission*=v_height_based_emission_params.z+v_height_based_emission_params.w*pow(clamp(v_height_based_emission_params.x,0.0,1.0),v_height_based_emission_params.y);color=mix(color,v_color_mix.rgb,min(1.0,resEmission));\n#ifdef HAS_ATTRIBUTE_a_color_4f\nfloat distance=length(vec2(1.3*max(0.0,abs(color_4f.x)-color_4f.z),color_4f.y));distance+= mix(0.5,0.0,clamp(resEmission-1.0,0.0,1.0));opacity*=v_roughness_metallic_emissive_alpha.w*saturate(1.0-distance*distance);\n#endif\n#endif\nvec3 unlitColor=mat.baseColor.rgb*ao+emissive.rgb;color=mix(color,unlitColor,u_emissive_strength);color=linearTosRGB(color);color*=opacity;finalColor=vec4(color,opacity);\n#endif\n#ifdef FOG\nfinalColor=fog_dither(fog_apply_premultiplied(finalColor,v_fog_pos,v_position_height.w));\n#endif\n#ifdef RENDER_CUTOFF\nfinalColor*=v_cutoff_opacity;\n#endif\n#ifdef INDICATOR_CUTOUT\nfinalColor=applyCutout(finalColor);\n#endif\nglFragColor=finalColor;\n#ifdef OVERDRAW_INSPECTOR\nglFragColor=vec4(1.0);\n#endif\nHANDLE_WIREFRAME_DEBUG;}','#include "_prelude_fog.vertex.glsl"\n#include "_prelude_shadow.vertex.glsl"\nin vec3 a_pos_3f;\n#pragma mapbox: define-attribute highp vec3 normal_3f\n#pragma mapbox: define-attribute highp vec2 uv_2f\n#pragma mapbox: define-attribute highp vec3 color_3f\n#pragma mapbox: define-attribute highp vec4 color_4f\n#pragma mapbox: define-attribute-vertex-shader-only highp vec4 pbr\n#pragma mapbox: define-attribute-vertex-shader-only highp vec3 heightBasedEmissiveStrength\nuniform mat4 u_matrix;uniform mat4 u_node_matrix;uniform mat4 u_lighting_matrix;uniform vec3 u_camera_pos;uniform vec4 u_color_mix;\n#ifdef INSTANCED_ARRAYS\nin vec4 a_normal_matrix0;in vec4 a_normal_matrix1;in vec4 a_normal_matrix2;in vec4 a_normal_matrix3;\n#else\nuniform highp mat4 u_normal_matrix;\n#endif\n#ifdef RENDER_SHADOWS\nuniform mat4 u_light_matrix_0;uniform mat4 u_light_matrix_1;out vec4 v_pos_light_view_0;out vec4 v_pos_light_view_1;out float v_depth_shadows;\n#endif\nout vec4 v_position_height;out lowp vec4 v_color_mix;\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nout highp float v_depth;\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\nout lowp vec4 v_roughness_metallic_emissive_alpha;out mediump vec4 v_height_based_emission_params;\n#endif\nvec3 sRGBToLinear(vec3 srgbIn) {return pow(srgbIn,vec3(2.2));}void main() {\n#pragma mapbox: initialize-attribute highp vec3 normal_3f\n#pragma mapbox: initialize-attribute highp vec2 uv_2f\n#pragma mapbox: initialize-attribute highp vec3 color_3f\n#pragma mapbox: initialize-attribute highp vec4 color_4f\n#pragma mapbox: initialize-attribute-custom highp vec4 pbr\n#pragma mapbox: initialize-attribute-custom highp vec3 heightBasedEmissiveStrength\nhighp mat4 normal_matrix;\n#ifdef INSTANCED_ARRAYS\nnormal_matrix=mat4(a_normal_matrix0,a_normal_matrix1,a_normal_matrix2,a_normal_matrix3);\n#else\nnormal_matrix=u_normal_matrix;\n#endif\nvec3 local_pos;mat3 rs;\n#ifdef MODEL_POSITION_ON_GPU\nvec3 pos_color=normal_matrix[0].xyz;vec4 translate=normal_matrix[1];vec3 pos_a=floor(pos_color);vec3 rgb=1.05*(pos_color-pos_a);float color_mix=pos_a.z/100.0;v_color_mix=vec4(sRGBToLinear(rgb),color_mix);float meter_to_tile=normal_matrix[0].w;vec4 pos=vec4(pos_a.xy,translate.z,1.0);rs[0].x=normal_matrix[1].w;rs[0].yz=normal_matrix[2].xy;rs[1].xy=normal_matrix[2].zw;rs[1].z=normal_matrix[3].x;rs[2].xyz=normal_matrix[3].yzw;vec4 pos_node=u_lighting_matrix*vec4(a_pos_3f,1.0);vec3 rotated_pos_node=rs*pos_node.xyz;vec3 pos_model_tile=(rotated_pos_node+vec3(translate.xy,0.0))*vec3(meter_to_tile,meter_to_tile,1.0);pos.xyz+=pos_model_tile;local_pos=pos.xyz;gl_Position=u_matrix*pos;pos.z*=meter_to_tile;v_position_height.xyz=pos.xyz-u_camera_pos;\n#else\nlocal_pos=a_pos_3f;gl_Position=u_matrix*vec4(a_pos_3f,1);v_position_height.xyz=vec3(u_lighting_matrix*vec4(a_pos_3f,1));v_color_mix=vec4(sRGBToLinear(u_color_mix.rgb),u_color_mix.a);\n#endif\nv_position_height.w=a_pos_3f.z;\n#ifdef HAS_ATTRIBUTE_a_pbr\nvec4 albedo_c=decode_color(pbr.xy);vec2 e_r_m=unpack_float(pbr.z);vec2 r_m= unpack_float(e_r_m.y*16.0);r_m.r=r_m.r*16.0;v_color_mix=vec4(albedo_c.rgb,1.0);v_roughness_metallic_emissive_alpha=vec4(vec3(r_m,e_r_m.x)/255.0,albedo_c.a);v_roughness_metallic_emissive_alpha.z*=2.0;float heightBasedRelativeIntepolation=a_pos_3f.z*heightBasedEmissiveStrength.x+heightBasedEmissiveStrength.y;v_height_based_emission_params.x=heightBasedRelativeIntepolation;v_height_based_emission_params.y=heightBasedEmissiveStrength.z;vec2 emissionMultiplierValues=unpack_float(pbr.w)/256.0;v_height_based_emission_params.z=emissionMultiplierValues.x;v_height_based_emission_params.w=emissionMultiplierValues.y-emissionMultiplierValues.x;\n#endif\n#ifdef FOG\nv_fog_pos=fog_position(local_pos);\n#endif\n#ifdef RENDER_CUTOFF\nv_cutoff_opacity=cutoff_opacity(u_cutoff_params,gl_Position.z);\n#endif\n#ifdef TERRAIN_FRAGMENT_OCCLUSION\nv_depth=gl_Position.z/gl_Position.w;\n#endif\n#ifdef HAS_ATTRIBUTE_a_normal_3f\n#ifdef MODEL_POSITION_ON_GPU\nfloat x_squared_scale=dot(rs[0],rs[0]);float y_squared_scale=dot(rs[1],rs[1]);float z_squared_scale=dot(rs[2],rs[2]);vec3 squared_scale=vec3(x_squared_scale,y_squared_scale,z_squared_scale);normal_3f=rs*((u_lighting_matrix*vec4(normal_3f,0.0)).xyz/squared_scale);normal_3f=normalize(normal_3f);\n#else\nnormal_3f=vec3(normal_matrix*vec4(normal_3f,0));\n#endif\n#endif\n#ifdef HAS_ATTRIBUTE_a_pbr\n#ifdef HAS_ATTRIBUTE_a_color_4f\nv_roughness_metallic_emissive_alpha.w=clamp(color_4f.a*v_roughness_metallic_emissive_alpha.w*(v_roughness_metallic_emissive_alpha.z-1.0),0.0,1.0);\n#endif\n#endif\n#ifdef RENDER_SHADOWS\nvec4 shadow_pos=u_node_matrix*vec4(local_pos,1.0);\n#ifdef NORMAL_OFFSET\n#ifdef HAS_ATTRIBUTE_a_normal_3f\n#ifdef MODEL_POSITION_ON_GPU\nvec3 offset=shadow_normal_offset(vec3(-normal_3f.xy,normal_3f.z));shadow_pos.xyz+=offset*shadow_normal_offset_multiplier0();\n#else\nvec3 offset=shadow_normal_offset_model(normalize(normal_3f));shadow_pos.xyz+=offset*shadow_normal_offset_multiplier0();\n#endif\n#endif\n#endif\nv_pos_light_view_0=u_light_matrix_0*shadow_pos;v_pos_light_view_1=u_light_matrix_1*shadow_pos;v_depth_shadows=gl_Position.w;\n#endif\n}'),modelDepth:Qr("in highp float v_depth;void main() {\n#ifndef DEPTH_TEXTURE\nglFragColor=pack_depth(v_depth);\n#endif\n}","in vec3 a_pos_3f;uniform mat4 u_matrix;out highp float v_depth;\n#ifdef MODEL_POSITION_ON_GPU\n#ifdef INSTANCED_ARRAYS\nin vec4 a_normal_matrix0;in vec4 a_normal_matrix1;in vec4 a_normal_matrix2;in vec4 a_normal_matrix3;\n#else\nuniform highp mat4 u_instance;\n#endif\nuniform highp mat4 u_node_matrix;\n#endif\nvoid main() {\n#ifdef MODEL_POSITION_ON_GPU\nhighp mat4 instance;\n#ifdef INSTANCED_ARRAYS\ninstance=mat4(a_normal_matrix0,a_normal_matrix1,a_normal_matrix2,a_normal_matrix3);\n#else\ninstance=u_instance;\n#endif\nvec3 pos_color=instance[0].xyz;vec4 translate=instance[1];vec3 pos_a=floor(pos_color);float meter_to_tile=instance[0].w;vec4 pos=vec4(pos_a.xy,translate.z,1.0);mat3 rs;rs[0].x=instance[1].w;rs[0].yz=instance[2].xy;rs[1].xy=instance[2].zw;rs[1].z=instance[3].x;rs[2].xyz=instance[3].yzw;vec4 pos_node=u_node_matrix*vec4(a_pos_3f,1.0);vec3 rotated_pos_node=rs*pos_node.xyz;vec3 pos_model_tile=(rotated_pos_node+vec3(translate.xy,0.0))*vec3(meter_to_tile,meter_to_tile,1.0);pos.xyz+=pos_model_tile;gl_Position=u_matrix*pos;\n#else\ngl_Position=u_matrix*vec4(a_pos_3f,1);\n#endif\nv_depth=gl_Position.z/gl_Position.w;}"),stars:Qr("in highp vec2 v_uv;in mediump float v_intensity;float shapeCircle(in vec2 uv)\n{float beginFade=0.6;float lengthFromCenter=length(v_uv);return 1.0-clamp((lengthFromCenter-beginFade)/(1.0-beginFade),0.0,1.0);}void main() {float alpha=shapeCircle(v_uv);vec3 color=vec3(1.0,1.0,1.0);alpha*=v_intensity;glFragColor=vec4(color*alpha,alpha);HANDLE_WIREFRAME_DEBUG;}","\nin vec3 a_pos_3f;in vec2 a_uv;in float a_size_scale;in float a_fade_opacity;uniform mat4 u_matrix;uniform vec3 u_up;uniform vec3 u_right;uniform float u_intensity_multiplier;out highp vec2 v_uv;out mediump float v_intensity;void main() {v_uv=a_uv;v_intensity=a_fade_opacity*u_intensity_multiplier;vec3 pos=a_pos_3f;pos+=a_uv.x*u_right*a_size_scale;pos+=a_uv.y*u_up*a_size_scale;gl_Position=u_matrix*vec4(pos,1.0);}")};function Wr(e,t){const i=e.replace(/\s*\/\/[^\n]*\n/g,"\n").split("\n");for(let r of i)if(r=r.trim(),"#"===r[0]&&r.includes("if")&&!r.includes("endif")){r=r.replace("#","").replace(/ifdef|ifndef|elif|if/g,"").replace(/!|defined|\(|\)|\|\||&&/g,"").replace(/\s+/g," ").trim();const e=r.split(" ");for(const i of e)t.includes(i)||t.push(i)}}function Qr(e,t){const i=/#include\s+"([^"]+)"/g,r=/#pragma mapbox: ([\w\-]+) ([\w]+) ([\w]+) ([\w]+)/g;let n=t.match(/(attribute(\S*)|(^\s*|;)in) (highp |mediump |lowp )?([\w]+) ([\w]+)/gm);n&&(n=n.map((e=>{const t=e.split(" ");return t[t.length-1]})),n=[...new Set(n)]);const o={},s=[],a=[];if(e=e.replace(i,((e,t)=>(a.push(t),""))),(t=t.replace(i,((e,t)=>(s.push(t),"")))).includes("flat out"))return void console.error('The usage of "flat" qualifier is disallowed, see: https://bugs.webkit.org/show_bug.cgi?id=268071');let l=[...Ur];Wr(e,l),Wr(t,l);for(const c of[...s,...a])jr[c]||console.error(`Undefined include: ${c}`),Gr[c]||(Gr[c]=[],Wr(jr[c],Gr[c])),l=[...l,...Gr[c]];return{fragmentSource:e=e.replace(r,((e,t,i,r,n)=>(o[n]=!0,"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nin ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize"===t?`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n in ${i} ${r} ${n};\n#endif\n`:"initialize-attribute"===t?"":void 0))),vertexSource:t=t.replace(r,((e,t,i,r,n)=>{const s="float"===r?"vec2":r,a=n.match(/color/)?"color":s;return"define-attribute-vertex-shader-only"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\nin ${i} ${r} a_${n};\n#endif\n`:o[n]?"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nin ${i} ${s} a_${n};\nout ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize"===t?"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:"define-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n in ${i} ${r} a_${n};\n out ${i} ${r} ${n};\n#endif\n`:"initialize-attribute"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n ${n} = a_${n};\n#endif\n`:void 0:"define"===t?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nin ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"define-instanced"===t?"mat4"===a?`\n#ifdef INSTANCED_ARRAYS\nin vec4 a_${n}0;\nin vec4 a_${n}1;\nin vec4 a_${n}2;\nin vec4 a_${n}3;\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef INSTANCED_ARRAYS\nin ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"initialize-attribute-custom"===t?`\n#ifdef HAS_ATTRIBUTE_a_${n}\n ${i} ${r} ${n} = a_${n};\n#endif\n`:"vec4"===a?`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = a_${n};\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = unpack_mix_${a}(a_${n}, u_${n}_t);\n#else\n ${i} ${r} ${n} = u_${n};\n#endif\n`})),staticAttributes:n,usedDefines:l,vertexIncludes:s,fragmentIncludes:a}}class Hr{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffers=[],this.vao=null}bind(e,t,i,r,n,o,s,a){this.context=e;let l=this.boundPaintVertexBuffers.length!==r.length;for(let h=0;!l&&h{const o=r.paint.get("hillshade-shadow-color"),s=r.paint.get("hillshade-highlight-color"),a=r.paint.get("hillshade-accent-color"),l=r.paint.get("hillshade-emissive-strength");let c=e.bm(r.paint.get("hillshade-illumination-direction"));if("viewport"===r.paint.get("hillshade-illumination-anchor"))c-=t.transform.angle;else if(t.style&&t.style.enable3dLights()&&t.style.directionalLight){const i=t.style.directionalLight.properties.get("direction"),r=e.bT(i.x,i.y,i.z);c=e.bm(r[1])}const h=!t.options.moving;return{u_matrix:n||t.transform.calculateProjMatrix(i.tileID.toUnwrapped(),h),u_image:0,u_latrange:Xr(0,i.tileID),u_light:[r.paint.get("hillshade-exaggeration"),c],u_shadow:o,u_highlight:s,u_emissive_strength:l,u_accent:a}})(t,r,n,t.terrain?i.projMatrix:null);t.uploadCommonUniforms(l,d,i.toUnwrapped());const{tileBoundsBuffer:f,tileBoundsIndexBuffer:m,tileBoundsSegments:_}=t.getTileBoundsBuffers(r);d.draw(t,c.TRIANGLES,o,s,a,Rt.disabled,p,n.id,f,m,_)}function Kr(t,i,r){if(!i.needsDEMTextureUpload)return;const n=t.context,o=n.gl;n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(r.stride);const s=r.getPixels();i.demTexture?i.demTexture.update(s,{premultiply:!1}):i.demTexture=new e.T(n,s,o.R32F,{premultiply:!1}),i.needsDEMTextureUpload=!1}function Jr(t,i,r){const n=t.context,o=n.gl;if(!i.dem)return;const s=i.dem;if(n.activeTexture.set(o.TEXTURE1),Kr(t,i,s),!i.demTexture)return;i.demTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE);const a=s.dim;n.activeTexture.set(o.TEXTURE0);let l=i.hillshadeFBO;if(!l){const t=new e.T(n,{width:a,height:a,data:null},o.RGBA);t.bind(o.LINEAR,o.CLAMP_TO_EDGE),l=i.hillshadeFBO=n.createFramebuffer(a,a,!0,"renderbuffer"),l.colorAttachment.set(t.texture)}n.bindFramebuffer.set(l.framebuffer),n.viewport.set([0,0,a,a]);const{tileBoundsBuffer:c,tileBoundsIndexBuffer:h,tileBoundsSegments:u}=t.getMercatorTileBoundsBuffers(),d=[];t.linearFloatFilteringSupported()&&d.push("TERRAIN_DEM_FLOAT_FORMAT"),t.getOrCreateProgram("hillshadePrepare",{defines:d}).draw(t,o.TRIANGLES,Mt.disabled,It.disabled,Pt.unblended,Rt.disabled,((t,i)=>{const r=i.stride,n=e.a9.create();return e.a9.ortho(n,0,e.Y,-e.Y,0,0,1),e.a9.translate(n,n,[0,-e.Y,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:t.overscaledZ}})(i.tileID,s),r.id,c,h,u),i.needsHillshadePrepare=!1}const en=t=>({u_matrix:new e.bN(t),u_image0:new e.bR(t),u_skirt_height:new e.bQ(t),u_ground_shadow_factor:new e.bP(t)}),tn=(e,t,i)=>({u_matrix:e,u_image0:0,u_skirt_height:t,u_ground_shadow_factor:i}),rn=(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m)=>({u_proj_matrix:Float32Array.from(e),u_globe_matrix:t,u_normalize_matrix:Float32Array.from(r),u_merc_matrix:i,u_zoom_transition:n,u_merc_center:o,u_image0:0,u_frustum_tl:s,u_frustum_tr:a,u_frustum_br:l,u_frustum_bl:c,u_globe_pos:h,u_globe_radius:u,u_viewport:d,u_grid_matrix:m?Float32Array.from(m):new Float32Array(9),u_skirt_height:p,u_far_z_cutoff:f});function nn(e,t){return null!=e&&null!=t&&!(!e.hasData()||!t.hasData())&&null!=e.demTexture&&null!=t.demTexture&&e.tileID.key!==t.tileID.key}const on=new class{constructor(){this.operations={}}newMorphing(e,t,i,r,n){if(e in this.operations){const t=this.operations[e];t.to.tileID.key!==i.tileID.key&&(t.queued=i)}else this.operations[e]={startTime:r,phase:0,duration:n,from:t,to:i,queued:null}}getMorphValuesForProxy(e){if(!(e in this.operations))return null;const t=this.operations[e];return{from:t.from,to:t.to,phase:t.phase}}update(e){for(const t in this.operations){const i=this.operations[t];for(i.phase=(e-i.startTime)/i.duration;i.phase>=1||!this._validOp(i);)if(!this._nextOp(i,e)){delete this.operations[t];break}}}_nextOp(e,t){return!!e.queued&&(e.from=e.to,e.to=e.queued,e.queued=null,e.phase=0,e.startTime=t,!0)}_validOp(e){return e.from.hasData()&&e.to.hasData()}},sn={0:null,1:"TERRAIN_VERTEX_MORPHING"};function an(e,t,i){if(0===t)return 0;const r=t<1&&514===i?.25/t:1;return 6*Math.pow(1.5,22-e)*Math.max(t,1)*r}function ln(e,t){const i=1<({u_matrix:e});function hn(t,i,r,n,o){if(o>0){const s=e.f.now(),a=(s-t.timeAdded)/o,l=i?(s-i.timeAdded)/o:-1,c=r.getSource(),h=n.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),u=!i||Math.abs(i.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),d=u&&t.refreshedUponExpiration?1:e.ad(u?a:1-l,0,1);return t.refreshedUponExpiration&&a>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}class un extends Qt{constructor(t){const i={type:"raster-dem",maxzoom:t.transform.maxZoom},r=new e.bZ(e.b_(),null),n=Ut("mock-dem",i,r,t.style);super("mock-dem",n,!1),n.setEventedParent(this),this._sourceLoaded=!0}_loadTile(e,t){e.state="loaded",t(null)}}class dn extends Qt{constructor(t){const i=Ut("proxy",{type:"geojson",maxzoom:t.transform.maxZoom},new e.bZ(e.b_(),null),t.style);super("proxy",i,!1),i.setEventedParent(this),this.map=this.getSource().map=t,this.used=this._sourceLoaded=!0,this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}update(e,t,i){if(e.freezeTileCoverage)return;this.transform=e;const r=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}).reduce(((t,i)=>{if(t[i.key]="",!this._tiles[i.key]){const t=new Nt(i,this._source.tileSize*i.overscaleFactor(),e.tileZoom);t.state="loaded",this._tiles[i.key]=t}return t}),{});for(const n in this._tiles)n in r||(this.freeFBO(n),this._tiles[n].unloadVectorData(),delete this._tiles[n])}freeFBO(e){const t=this.proxyCachedFBO[e];if(void 0!==t){const i=Object.values(t);this.renderCachePool.push(...i),delete this.proxyCachedFBO[e]}}deallocRenderCache(){this.renderCache.forEach((e=>e.fb.destroy())),this.renderCache=[],this.renderCachePool=[],this.proxyCachedFBO={}}}class pn extends e.ap{constructor(e,t,i){super(e.overscaledZ,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y),this.proxyTileKey=t,this.projMatrix=i}}class fn extends e.cp{constructor(t,i){super(),this._debugParams={sortTilesHiZFirst:!0,disableRenderCache:!1},t.tp.registerParameter(this._debugParams,["Terrain"],"sortTilesHiZFirst",{},(()=>{this._style.map.triggerRepaint()})),t.tp.registerParameter(this._debugParams,["Terrain"],"disableRenderCache",{},(()=>{this._style.map.triggerRepaint()})),t.tp.registerButton(["Terrain"],"Invalidate Render Cache",(()=>{this.invalidateRenderCache=!0,this._style.map.triggerRepaint()})),this.painter=t,this.terrainTileForTile={},this.prevTerrainTileForTile={};const[r,n,o]=function(t){const i=new e.aQ,r=new e.az,n=131;i.reserve(17161),r.reserve(33800);const o=e.Y/128,s=e.Y+o/2,a=s+o;for(let c=-o;cs||c<0||c>s?24575:0,n=e.ad(Math.round(t),0,e.Y),o=e.ad(Math.round(c),0,e.Y);i.emplaceBack(n+r,o)}const l=(e,t)=>{const i=t*n+e;r.emplaceBack(i+1,i,i+n),r.emplaceBack(i+n,i+n+1,i+1)};for(let e=1;e<129;e++)for(let t=1;t<129;t++)l(t,e);return[0,129].forEach((e=>{for(let t=0;t<130;t++)l(t,e),l(e,t)})),[i,r,32768]}(),s=t.context;this.gridBuffer=s.createVertexBuffer(r,e.aS.members),this.gridIndexBuffer=s.createIndexBuffer(n),this.gridSegments=e.aE.simpleSegment(0,0,r.length,n.length),this.gridNoSkirtSegments=e.aE.simpleSegment(0,0,r.length,o),this.proxyCoords=[],this.proxiedCoords={},this._visibleDemTiles=[],this._drapedRenderBatches=[],this._sourceTilesOverlap={},this.proxySourceCache=new dn(i.map),this.orthoMatrix=e.a9.create(),e.a9.ortho(this.orthoMatrix,"globe"===this.painter.transform.projection.name?.015:0,e.Y,0,e.Y,0,1);const a=s.gl;this._overlapStencilMode=new It({func:a.GEQUAL,mask:255},0,255,a.KEEP,a.KEEP,a.REPLACE),this._previousZoom=t.transform.zoom,this.pool=[],this._findCoveringTileCache={},this._tilesDirty={},this.style=i,this._useVertexMorphing=!0,this._exaggeration=1,this._mockSourceCache=new un(i.map),this._pendingGroundEffectLayers=[]}set style(e){e.on("data",this._onStyleDataEvent.bind(this)),this._style=e,this._style.map.on("moveend",(()=>{this._clearLineLayersFromRenderCache()}))}update(t,i,r){if(t&&t.terrain){this._style!==t&&(this.style=t,this._evaluationZoom=void 0);const n=t.terrain.properties,o=0===t.terrain.drapeRenderMode,s=t.terrain.isZoomDependent();this._previousUpdateTimestamp=this.enabled?this._updateTimestamp:void 0,this._updateTimestamp=e.f.now();const a=t.terrain&&t.terrain.scope,l=n.get("source"),c=o?this._mockSourceCache:t.getSourceCache(l,a);if(!c)return void e.w(`Couldn't find terrain source "${l}".`);if(this.sourceCache=c,this._exaggeration=s?this.calculateExaggeration(i):n.get("exaggeration"),!i.projection.requiresDraping&&s&&0===this._exaggeration)return void this._disable();this.enabled=!0;const h=()=>{this.sourceCache.used&&e.w(`Raster DEM source '${this.sourceCache.id}' is used both for terrain and as layer source.\nThis leads to lower resolution of hillshade. For full hillshade resolution but higher memory consumption, define another raster DEM source.`);const t=this.getScaledDemTileSize();this.sourceCache.update(i,t,!0),this.resetTileLookupCache(this.sourceCache.id)};this.sourceCache.usedForTerrain||(this.resetTileLookupCache(this.sourceCache.id),this.sourceCache.usedForTerrain=!0,h(),this._initializing=!0),h(),i.updateElevation(!0,r),this.resetTileLookupCache(this.proxySourceCache.id),this.proxySourceCache.update(i),this._emptyDEMTextureDirty=!0,this._previousZoom=i.zoom}else this._disable()}calculateExaggeration(t){const i=this._previousCameraAltitude,r=t.getFreeCameraOptions().position.z/t.pixelsPerMeter*t.worldSize;this._previousCameraAltitude=r;const n=null!=i?r-i:Number.MAX_VALUE;if(Math.abs(n)<2)return this._exaggeration;const o=t.zoom,s=this._style.terrain;if(!this._previousUpdateTimestamp)return s.getExaggeration(o);let a=o-this._previousZoom;const l=this._previousUpdateTimestamp;let c=o;null!=this._evaluationZoom&&(c=this._evaluationZoom,Math.abs(o-c)>.5&&(a=.5*(o-c+a)),a*n<0&&(c+=a)),this._evaluationZoom=c;const h=s.getExaggeration(c),u=h===s.getExaggeration(Math.max(0,c-.1));if(u&&Math.abs(h-this._exaggeration)<.01)return h;let d=Math.min(.1,.00375*(this._updateTimestamp-l));return(u||h<.1||Math.abs(a)<1e-4)&&(d=Math.min(.2,4*d)),e.X(this._exaggeration,h,d)}resetTileLookupCache(e){this._findCoveringTileCache[e]={}}getScaledDemTileSize(){return this.sourceCache.getSource().tileSize/128*this.proxySourceCache.getSource().tileSize}_onStyleDataEvent(e){e.coord&&"source"===e.dataType?this._clearRenderCacheForTile(e.sourceCacheId,e.coord):"style"===e.dataType&&(this.invalidateRenderCache=!0,this._evaluationZoom=void 0,this._previousUpdateTimestamp=void 0,this._previousCameraAltitude=void 0)}_disable(){if(this.enabled&&(this.enabled=!1,this._sharedDepthStencil=void 0,this._evaluationZoom=void 0,this._previousUpdateTimestamp=void 0,this.proxySourceCache.deallocRenderCache(),this._style))for(const e in this._style._mergedSourceCaches)this._style._mergedSourceCaches[e].usedForTerrain=!1}destroy(){this._disable(),this._emptyDEMTexture&&this._emptyDEMTexture.destroy(),this._emptyDepthBufferTexture&&this._emptyDepthBufferTexture.destroy(),this.pool.forEach((e=>e.fb.destroy())),this.pool=[],this._depthFBO&&(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),this.framebufferCopyTexture&&this.framebufferCopyTexture.destroy()}_source(){return this.enabled?this.sourceCache:null}isUsingMockSource(){return this.sourceCache===this._mockSourceCache}exaggeration(){return this._exaggeration}get visibleDemTiles(){return this._visibleDemTiles}get drapeBufferSize(){const e=2*this.proxySourceCache.getSource().tileSize;return[e,e]}set useVertexMorphing(e){this._useVertexMorphing=e}updateTileBinding(t){if(!this.enabled)return;this.prevTerrainTileForTile=this.terrainTileForTile;const i=this.proxySourceCache,r=this.painter.transform;this._initializing&&(this._initializing=0===r._centerAltitude&&-1===this.getAtPointOrZero(e.O.fromLngLat(r.center),-1),this._emptyDEMTextureDirty=!this._initializing);const n=this.proxyCoords=i.getIds().map((e=>{const t=i.getTileByID(e).tileID;return t.projMatrix=r.calculateProjMatrix(t.toUnwrapped()),t}));!function(t,i){const r=i.transform.pointCoordinate(i.transform.getCameraPoint()),n=new e.P(r.x,r.y);t.sort(((t,i)=>{if(i.overscaledZ-t.overscaledZ)return i.overscaledZ-t.overscaledZ;const r=new e.P(t.canonical.x+(1<{this.proxyToSource[e.key]={}})),this.terrainTileForTile={};const s=this._style._mergedSourceCaches;for(const e in s){const i=s[e];if(!i.used)continue;if(i!==this.sourceCache&&this.resetTileLookupCache(i.id),this._setupProxiedCoordsForOrtho(i,t[e],o),i.usedForTerrain)continue;const r=t[e];i.getSource().reparseOverscaled&&this._assignTerrainTiles(r)}this.proxiedCoords[i.id]=n.map((e=>new pn(e,e.key,this.orthoMatrix))),this._assignTerrainTiles(n),this._prepareDEMTextures(),this._setupDrapedRenderBatches(),this._initFBOPool(),this._setupRenderCache(o),this.renderingToTexture=!1;const a={};this._visibleDemTiles=[];for(const e of this.proxyCoords){const t=this.terrainTileForTile[e.key];if(!t)continue;const i=t.tileID.key;i in a||(this._visibleDemTiles.push(t),a[i]=i)}}_assignTerrainTiles(e){this._initializing||e.forEach((e=>{if(this.terrainTileForTile[e.key])return;const t=this._findTileCoveringTileID(e,this.sourceCache);t&&(this.terrainTileForTile[e.key]=t)}))}_prepareDEMTextures(){const e=this.painter.context,t=e.gl;for(const i in this.terrainTileForTile){const r=this.terrainTileForTile[i],n=r.dem;!n||r.demTexture&&!r.needsDEMTextureUpload||(e.activeTexture.set(t.TEXTURE1),Kr(this.painter,r,n))}}_prepareDemTileUniforms(e,t,i,r){if(!t||null==t.demTexture)return!1;const n=e.tileID.canonical,o=Math.pow(2,t.tileID.canonical.z-n.z),s=r||"";return i[`u_dem_tl${s}`]=[n.x*o%1,n.y*o%1],i[`u_dem_scale${s}`]=o,!0}get emptyDEMTexture(){return!this._emptyDEMTextureDirty&&this._emptyDEMTexture?this._emptyDEMTexture:this._updateEmptyDEMTexture()}get emptyDepthBufferTexture(){const t=this.painter.context,i=t.gl;if(!this._emptyDepthBufferTexture){const r=new e.h({width:1,height:1},Uint8Array.of(255,255,255,255));this._emptyDepthBufferTexture=new e.T(t,r,i.RGBA,{premultiply:!1})}return this._emptyDepthBufferTexture}_getLoadedAreaMinimum(){let e=0;const t=this._visibleDemTiles.reduce(((t,i)=>{if(!i.dem)return t;const r=i.dem.tree.minimums[0];return r>0&&e++,t+r}),0);return e?t/e:0}_updateEmptyDEMTexture(){const t=this.painter.context,i=t.gl;t.activeTexture.set(i.TEXTURE2);const r=this._getLoadedAreaMinimum(),[n,o]=(()=>{const t=new e.cr({width:1,height:1},new Float32Array([r]));return[i.R32F,t]})();this._emptyDEMTextureDirty=!1;let s=this._emptyDEMTexture;return s?s.update(o,{premultiply:!1}):s=this._emptyDEMTexture=new e.T(t,o,n,{premultiply:!1}),s}setupElevationDraw(t,i,r){const n=this.painter.context,o=n.gl,s={u_dem:2,u_dem_prev:4,u_dem_tl:[0,0],u_dem_tl_prev:[0,0],u_dem_scale:0,u_dem_scale_prev:0,u_dem_size:0,u_dem_lerp:1,u_depth:3,u_depth_size_inv:[0,0],u_exaggeration:0};s.u_exaggeration=this.exaggeration();let a=null,l=null,c=1;if(r&&r.morphing&&this._useVertexMorphing){const e=r.morphing.srcDemTile,i=r.morphing.dstDemTile;c=r.morphing.phase,e&&i&&(this._prepareDemTileUniforms(t,e,s,"_prev")&&(l=e),this._prepareDemTileUniforms(t,i,s)&&(a=i))}const h=e=>e&&e.demTexture&&this.painter.linearFloatFilteringSupported()?o.LINEAR:o.NEAREST,u=e=>{s.u_dem_size=1===e.size[0]?1:e.size[0]-2};if(l&&a)n.activeTexture.set(o.TEXTURE2),a.demTexture.bind(h(a),o.CLAMP_TO_EDGE),n.activeTexture.set(o.TEXTURE4),l.demTexture.bind(h(l),o.CLAMP_TO_EDGE),a.demTexture&&u(a.demTexture),s.u_dem_lerp=c;else{a=this.terrainTileForTile[t.tileID.key],n.activeTexture.set(o.TEXTURE2);const e=this._prepareDemTileUniforms(t,a,s)?a.demTexture:this.emptyDEMTexture;e.bind(h(a),o.CLAMP_TO_EDGE),u(e)}if(n.activeTexture.set(o.TEXTURE3),r&&r.useDepthForOcclusion?(this._depthTexture&&this._depthTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),this._depthFBO&&(s.u_depth_size_inv=[1/this._depthFBO.width,1/this._depthFBO.height])):(this.emptyDepthBufferTexture.bind(o.NEAREST,o.CLAMP_TO_EDGE),s.u_depth_size_inv=[1,1]),r&&r.useMeterToDem&&a){const t=(1<{if(c===i)return;const r=[sn[i],"PROJECTION_GLOBE_VIEW"];u&&r.push("CUSTOM_ANTIALIASING");const n=t.isTileAffectedByFog(e);l=t.getOrCreateProgram("globeRaster",{defines:r,overrideFog:n}),c=i},p=t.colorModeForRenderPass(),f=new Mt(a.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);on.update(o);const m=e.cj(h),_=[e.a8(h.center.lng),e.ah(h.center.lat)],g=t.globeSharedBuffers,y=[h.width*e.f.devicePixelRatio,h.height*e.f.devicePixelRatio],x=Float32Array.from(h.globeMatrix),v={useDenormalizedUpVectorScale:!0};{const h=t.transform,u=an(h.zoom,i.exaggeration(),i.sourceCache._source.tileSize);c=-1;const b=a.TRIANGLES;for(const c of n){const n=r.getTile(c),w=It.disabled,T=i.prevTerrainTileForTile[c.key],E=i.terrainTileForTile[c.key];nn(T,E)&&on.newMorphing(c.key,T,E,o,250),s.activeTexture.set(a.TEXTURE0),n.texture&&n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const S=on.getMorphValuesForProxy(c.key),M=S?1:0;S&&e.k(v,{morphing:{srcDemTile:S.from,dstDemTile:S.to,phase:e.ch(S.phase)}});const A=e.ck(c.canonical),I=e.cl(A.getCenter().lat),C=e.cm(c.canonical,A,I,h.worldSize/h._pixelsPerMercatorPixel),P=e.aW(e.cn(c.canonical)),z=rn(h.expandedFarZProjMatrix,x,m,P,e.W(h.zoom),_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,y,u,h._farZ,C);if(d(c,M),l&&(i.setupElevationDraw(n,l,v),t.uploadCommonUniforms(s,l,c.toUnwrapped()),g)){const[e,i,r]=g.getGridBuffers(I,0!==u);l.draw(t,b,f,w,p,Rt.backCCW,z,"globe_raster",e,i,r)}}}if(g&&(t.renderDefaultNorthPole||t.renderDefaultSouthPole)){const o=["GLOBE_POLES","PROJECTION_GLOBE_VIEW"];u&&o.push("CUSTOM_ANTIALIASING"),l=t.getOrCreateProgram("globeRaster",{defines:o});for(const c of n){const{x:n,y:o,z:u}=c.canonical,d=0===o,m=o===(1<e.draw(t,a.TRIANGLES,f,It.disabled,p,Rt.disabled,rn(h.expandedFarZProjMatrix,g,g,E,0,_,h.frustumCorners.TL,h.frustumCorners.TR,h.frustumCorners.BR,h.frustumCorners.BL,h.globeCenterInViewSpace,h.globeRadius,y,0,h._farZ),"globe_pole_raster",i,w,T);i.setupElevationDraw(o,l,v),t.uploadCommonUniforms(s,l,c.toUnwrapped()),d&&t.renderDefaultNorthPole&&S(l,x),m&&t.renderDefaultSouthPole&&(g=e.a9.scale(e.a9.create(),g,[1,-1,1]),S(l,b))}}}}(t,i,r,n,o);else{const s=t.context,a=s.gl;let l,c;const h=t.shadowRenderer,u=mr(t,t.longestCutoffRange),d=e=>{if(c===e)return;const i=[];i.push(sn[e]),u.shouldRenderCutoff&&i.push("RENDER_CUTOFF"),l=t.getOrCreateProgram("terrainRaster",{defines:i}),c=e},p=t.colorModeForRenderPass(),f=new Mt(a.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);on.update(o);const m=t.transform,_=an(m.zoom,i.exaggeration(),i.sourceCache._source.tileSize);let g=[0,0,0];if(h){const e=t.style.directionalLight,i=t.style.ambientLight;e&&i&&(g=wr(e,i))}{c=-1;const y=a.TRIANGLES,[x,v]=[i.gridIndexBuffer,i.gridSegments];for(const c of n){const n=r.getTile(c),b=It.disabled,w=i.prevTerrainTileForTile[c.key],T=i.terrainTileForTile[c.key];nn(w,T)&&on.newMorphing(c.key,w,T,o,250),s.activeTexture.set(a.TEXTURE0),n.texture&&n.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE);const E=on.getMorphValuesForProxy(c.key),S=E?1:0;let M;E&&(M={morphing:{srcDemTile:E.from,dstDemTile:E.to,phase:e.ch(E.phase)}});const A=tn(c.projMatrix,ln(c.canonical,m.renderWorldCopies)?_/10:_,g);if(d(S),!l)continue;i.setupElevationDraw(n,l,M);const I=c.toUnwrapped();h&&h.setupShadows(I,l),t.uploadCommonUniforms(s,l,I,null,u),l.draw(t,y,f,b,p,Rt.backCCW,A,"terrain_raster",i.gridBuffer,x,v)}}}}(i,this,this.proxySourceCache,t,this._updateTimestamp),this.renderingToTexture=!0,i.gpuTimingDeferredRenderEnd(),t.splice(0,t.length))}renderBatch(t){if(0===this._drapedRenderBatches.length)return t+1;this.renderingToTexture=!0;const i=this.painter,r=this.painter.context,n=this.proxySourceCache,o=this.proxiedCoords[n.id],s=this._drapedRenderBatches.shift(),a=i.style.order,l=[];let c=0;for(const h of o){const o=n.getTileByID(h.proxyTileKey),u=n.proxyCachedFBO[h.key]?n.proxyCachedFBO[h.key][t]:void 0,d=void 0!==u?n.renderCache[u]:this.pool[c++],p=void 0!==u;if(o.texture=d.tex,p&&!d.dirty){l.push(o.tileID);continue}let f;r.bindFramebuffer.set(d.fb.framebuffer),this.renderedToTile=!1,d.dirty&&(r.clear({color:e.aA.transparent,stencil:0}),d.dirty=!1);for(let e=s.start;e<=s.end;++e){const t=i.style._mergedLayers[a[e]];if(t.isHidden(i.transform.zoom))continue;const n=i.style.getLayerSourceCache(t),o=n?this.proxyToSource[h.key][n.id]:[h];if(!o)continue;const s=o;r.viewport.set([0,0,d.fb.width,d.fb.height]),f!==(n?n.id:null)&&(this._setupStencil(d,o,t,n),f=n?n.id:null),i.renderLayer(i,n,t,s)}if(0===this._drapedRenderBatches.length)for(const e of this._pendingGroundEffectLayers){const t=i.style._mergedLayers[a[e]];if(t.isHidden(i.transform.zoom))continue;const n=i.style.getLayerSourceCache(t),o=n?this.proxyToSource[h.key][n.id]:[h];if(!o)continue;const s=o;r.viewport.set([0,0,d.fb.width,d.fb.height]),f!==(n?n.id:null)&&(this._setupStencil(d,o,t,n),f=n?n.id:null),i.renderLayer(i,n,t,s)}this.renderedToTile?(d.dirty=!0,l.push(o.tileID)):p||--c,5===c&&(c=0,this.renderToBackBuffer(l))}return this.renderToBackBuffer(l),this.renderingToTexture=!1,r.bindFramebuffer.set(null),r.viewport.set([0,0,i.width,i.height]),s.end+1}postRender(){}isLayerOrderingCorrect(e){const t=e.order.length;let i=-1,r=t;for(let n=0;ni}getMinElevationBelowMSL(){let e=0;return this._visibleDemTiles.filter((e=>e.dem)).forEach((t=>{e=Math.min(e,t.dem.tree.minimums[0])})),0===e?e:(e-30)*this._exaggeration}raycast(e,t,i){if(!this._visibleDemTiles)return null;const r=this._visibleDemTiles.filter((e=>e.dem)).map((r=>{const n=r.tileID,o=1<(null!==e.t?e.t:Number.MAX_VALUE)-(null!==t.t?t.t:Number.MAX_VALUE)));for(const n of r){if(null==n.t)return null;const r=n.tile.dem.tree.raycast(n.minx,n.miny,n.maxx,n.maxy,e,t,i);if(null!=r)return r}return null}_createFBO(){const t=this.painter.context,i=t.gl,r=this.drapeBufferSize;t.activeTexture.set(i.TEXTURE0);const n=new e.T(t,{width:r[0],height:r[1],data:null},i.RGBA);n.bind(i.LINEAR,i.CLAMP_TO_EDGE);const o=t.createFramebuffer(r[0],r[1],!0,null);return o.colorAttachment.set(n.texture),o.depthAttachment=new Et(t,o.framebuffer),void 0===this._sharedDepthStencil?(this._sharedDepthStencil=t.createRenderbuffer(t.gl.DEPTH_STENCIL,r[0],r[1]),this._stencilRef=0,o.depthAttachment.set(this._sharedDepthStencil),t.clear({stencil:0})):o.depthAttachment.set(this._sharedDepthStencil),t.extTextureFilterAnisotropic&&i.texParameterf(i.TEXTURE_2D,t.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.extTextureFilterAnisotropicMax),{fb:o,tex:n,dirty:!1}}_initFBOPool(){for(;this.pool.length{const t=this._style._mergedLayers[e],i=t.isHidden(this.painter.transform.zoom);return"custom"===t.type?!i&&t.shouldRedrape():!i&&t.hasTransition()}))}_clearLineLayersFromRenderCache(){let t=!1;for(const e of this._style.getSources())if(e instanceof Ce){t=!0;break}if(!t)return;const i={};for(let r=0;re>t.end))||e.w("fill-extrusion with flood lighting and/or ground ambient occlusion should be moved to be on top of all draped layers.")}this._drapedRenderBatches=r}_setupRenderCache(e){const t=this.proxySourceCache;if(this._shouldDisableRenderCache()||this.invalidateRenderCache){if(this.invalidateRenderCache=!1,t.renderCache.length>t.renderCachePool.length){const e=Object.values(t.proxyCachedFBO);t.proxyCachedFBO={};for(let i=0;i=0;o--){const n=i[o];if(t.getTileByID(n.key),void 0!==t.proxyCachedFBO[n.key]){const i=e[n.key],o=this.proxyToSource[n.key];let s=0;for(const e in o){const t=o[e],n=i[e];if(!n||n.length!==t.length||t.some(((t,i)=>t!==n[i]||r[e]&&r[e].hasOwnProperty(t.key)))){s=-1;break}++s}for(const e in t.proxyCachedFBO[n.key])t.renderCache[t.proxyCachedFBO[n.key][e]].dirty=s<0||s!==Object.values(i).length}}const n=[...this._drapedRenderBatches];n.sort(((e,t)=>t.end-t.start-(e.end-e.start)));for(const o of n)for(const e of i){if(t.proxyCachedFBO[e.key])continue;let i=t.renderCachePool.pop();void 0===i&&t.renderCache.length<50&&(i=t.renderCache.length,t.renderCache.push(this._createFBO())),void 0!==i&&(t.proxyCachedFBO[e.key]={},t.proxyCachedFBO[e.key][o.start]=i,t.renderCache[i].dirty=!0)}this._tilesDirty={}}_setupStencil(e,t,i,r){if(!r||!this._sourceTilesOverlap[r.id])return void(this._overlapStencilType&&(this._overlapStencilType=!1));const n=this.painter.context,o=n.gl;if(t.length<=1)return void(this._overlapStencilType=!1);let s;if(i.isTileClipped())s=t.length,this._overlapStencilMode.test={func:o.EQUAL,mask:255},this._overlapStencilType="Clip";else{if(!(t[0].overscaledZ>t[t.length-1].overscaledZ))return void(this._overlapStencilType=!1);s=1,this._overlapStencilMode.test={func:o.GREATER,mask:255},this._overlapStencilType="Mask"}this._stencilRef+s>255&&(n.clear({stencil:0}),this._stencilRef=0),this._stencilRef+=s,this._overlapStencilMode.ref=this._stencilRef,i.isTileClipped()&&this._renderTileClippingMasks(t,this._overlapStencilMode.ref)}clipOrMaskOverlapStencilType(){return"Clip"===this._overlapStencilType||"Mask"===this._overlapStencilType}stencilModeForRTTOverlap(e){return this.renderingToTexture&&this._overlapStencilType?("Clip"===this._overlapStencilType&&(this._overlapStencilMode.ref=this.painter._tileClippingMaskIDs[e.key]),this._overlapStencilMode):It.disabled}_renderTileClippingMasks(e,t){const i=this.painter,r=this.painter.context,n=r.gl;i._tileClippingMaskIDs={},r.setColorMode(Pt.disabled),r.setDepthMode(Mt.disabled);const o=i.getOrCreateProgram("clippingMask");for(const s of e){const e=i._tileClippingMaskIDs[s.key]=--t;o.draw(i,n.TRIANGLES,Mt.disabled,new It({func:n.ALWAYS,mask:0},e,255,n.KEEP,n.KEEP,n.REPLACE),Pt.disabled,Rt.disabled,cn(s.projMatrix),"$clipping",i.tileExtentBuffer,i.quadTriangleIndexBuffer,i.tileExtentSegments)}}pointCoordinate(t){const i=this.painter.transform;if(t.x<0||t.x>i.width||t.y<0||t.y>i.height)return null;const r=[t.x,t.y,1,1];e.aa.transformMat4(r,r,i.pixelMatrixInverse),e.aa.scale(r,r,1/r[3]),r[0]/=i.worldSize,r[1]/=i.worldSize;const n=i._camera.position,o=e.bo(1,i.center.lat),s=[n[0],n[1],n[2]/o,0],a=e.Q.subtract([],r.slice(0,3),s);e.Q.normalize(a,a);const l=this.raycast(s,a,this._exaggeration);return null!==l&&l?(e.Q.scaleAndAdd(s,s,a,l),s[3]=s[2],s[2]*=o,s):null}drawDepth(){const t=this.painter,i=t.context,r=this.proxySourceCache,n=Math.ceil(t.width),o=Math.ceil(t.height);if(!this._depthFBO||this._depthFBO.width===n&&this._depthFBO.height===o||(this._depthFBO.destroy(),this._depthFBO=void 0,this._depthTexture=void 0),!this._depthFBO){const t=i.gl,r=i.createFramebuffer(n,o,!0,"renderbuffer");i.activeTexture.set(t.TEXTURE0);const s=new e.T(i,{width:n,height:o,data:null},t.RGBA);s.bind(t.NEAREST,t.CLAMP_TO_EDGE),r.colorAttachment.set(s.texture);const a=i.createRenderbuffer(i.gl.DEPTH_COMPONENT16,n,o);r.depthAttachment.set(a),this._depthFBO=r,this._depthTexture=s}i.bindFramebuffer.set(this._depthFBO.framebuffer),i.viewport.set([0,0,n,o]),function(e,t,i,r){if("globe"===e.transform.projection.name)return;const n=e.context,o=n.gl;n.clear({depth:1});const s=e.getOrCreateProgram("terrainDepth"),a=new Mt(o.LESS,Mt.ReadWrite,e.depthRangeFor3D);for(const l of r){const r=i.getTile(l),n=tn(l.projMatrix,0,[0,0,0]);t.setupElevationDraw(r,s),s.draw(e,o.TRIANGLES,a,It.disabled,Pt.unblended,Rt.backCCW,n,"terrain_depth",t.gridBuffer,t.gridIndexBuffer,t.gridNoSkirtSegments)}}(t,this,r,this.proxyCoords)}_setupProxiedCoordsForOrtho(t,i,r){if(t.getSource()instanceof e.as)return this._setupProxiedCoordsForImageSource(t,i,r);this._findCoveringTileCache[t.id]=this._findCoveringTileCache[t.id]||{};const n=this.proxiedCoords[t.id]=[],o=this.proxyCoords;for(let e=0;et.overscaledZ-e.overscaledZ))}_setupProxiedCoordsForImageSource(t,i,r){if(!t.getSource().loaded())return;const n=this.proxiedCoords[t.id]=[],o=this.proxyCoords,s=t.getSource(),a=s.tileID;if(!a)return;const l=new e.P(a.x,a.y)._div(1<(e.min.x=Math.min(e.min.x,t.x-l.x),e.min.y=Math.min(e.min.y,t.y-l.y),e.max.x=Math.max(e.max.x,t.x-l.x),e.max.y=Math.max(e.max.y,t.y-l.y),e)),{min:new e.P(Number.MAX_VALUE,Number.MAX_VALUE),max:new e.P(-Number.MAX_VALUE,-Number.MAX_VALUE)}),h=(t,i)=>{const r=t.wrap+t.canonical.x/(1<s+c.max.x||n+oa+c.max.y};for(let e=0;ee.key===i.tileID.key));if(e)return e}if(i.tileID.key!==t.key){const r=t.canonical.z-i.tileID.canonical.z;let o,s,a;n=e.a9.create();const l=i.tileID.wrap-t.wrap<0?(o=e.Y>>r,s=o*((i.tileID.canonical.x<=n){const r=t.canonical.z-n;i.getSource().reparseOverscaled?(a=Math.max(t.canonical.z+2,i.transform.tileZoom),s=new e.ap(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r)):0!==r&&(a=n,s=new e.ap(a,t.wrap,n,t.canonical.x>>r,t.canonical.y>>r))}s.key!==t.key&&(c.push(s.key),r=i.getTile(s))}const h=e=>{c.forEach((t=>{n[t]=e})),c.length=0};for(a-=1;a>=l&&(!r||!r.hasData());a--){r&&h(r.tileID.key);const e=s.calculateScaledKey(a);if(r=i.getTileByID(e),r&&r.hasData())break;const t=n[e];if(null===t)break;void 0===t?c.push(e):r=i.getTileByID(t)}return h(r?r.tileID.key:null),r&&r.hasData()?r:null}findDEMTileFor(e){return this.enabled?this._findTileCoveringTileID(e,this.sourceCache):null}prepareDrawTile(){this.renderedToTile=!0}_clearRenderCacheForTile(e,t){let i=this._tilesDirty[e];i||(i=this._tilesDirty[e]={}),i[t.key]=!0}}function mn(t,i,r){const n=function(t,i,r){const n=e.Q.dot(i,t),o=e.Q.dot(r,[.2126,.7152,.0722]),s=(e,t,i)=>(1-i)*e+i*t,a=s(1-.3*Math.min(o,1),1,Math.min(n+1,1));return s(.92,1,Math.asin(e.ad(i[2],-1,1))/Math.PI+.5)*a}(t,[0,0,1],i),o=[0,0,0];e.Q.scale(o,r.slice(0,3),n);const s=[0,0,0];e.Q.scale(s,i.slice(0,3),t[2]);const a=[0,0,0];return e.Q.add(a,o,s),e.bX(a)}const _n=["fill","fillOutline","fillPattern","line","linePattern","background","backgroundPattern","hillshade","raster"],gn=["stars","fillExtrusion","fillExtrusionGroundEffect","model","symbolSDF","symbolIcon","symbolTextAndIcon"];class yn{static cacheKey(e,t,i,r){let n=`${t}${r?r.cacheKey:""}`;for(const o of i)e.usedDefines.includes(o)&&(n+=`/${o}`);return n}constructor(t,i,r,n,o,s){const a=t.gl;this.program=a.createProgram(),this.configuration=n,this.name=i,this.fixedDefines=[...s];const l=n?n.getBinderAttributes():[],c=(r.staticAttributes||[]).concat(l);let h=n?n.defines():[];h=h.concat(s.map((e=>`#define ${e}`)));const u="#version 300 es\n";let d=u+h.concat("precision mediump float;",Zr,qr.fragmentSource).join("\n");for(const e of r.fragmentIncludes)d+=`\n${jr[e]}`;d+=`\n${r.fragmentSource}`;let p=u+h.concat("precision highp float;",Zr,qr.vertexSource).join("\n");for(const e of r.vertexIncludes)p+=`\n${jr[e]}`;p+=`\n${r.vertexSource}`;const f=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())return void(this.failedToCreate=!0);a.shaderSource(f,d),a.compileShader(f),a.attachShader(this.program,f);const m=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(m,p),a.compileShader(m),a.attachShader(this.program,m),this.attributes={},this.numAttributes=c.length;for(let e=0;e({u_dem:new e.bR(t),u_dem_prev:new e.bR(t),u_dem_tl:new e.bO(t),u_dem_scale:new e.bQ(t),u_dem_tl_prev:new e.bO(t),u_dem_scale_prev:new e.bQ(t),u_dem_size:new e.bQ(t),u_dem_lerp:new e.bQ(t),u_exaggeration:new e.bQ(t),u_depth:new e.bR(t),u_depth_size_inv:new e.bO(t),u_meter_to_dem:new e.bQ(t),u_label_plane_matrix_inv:new e.bN(t)}))(t)),s.includes("GLOBE")&&(this.globeUniforms=(t=>({u_tile_tl_up:new e.bP(t),u_tile_tr_up:new e.bP(t),u_tile_br_up:new e.bP(t),u_tile_bl_up:new e.bP(t),u_tile_up_scale:new e.bQ(t)}))(t)),s.includes("FOG")&&(this.fogUniforms=(t=>({u_fog_matrix:new e.bN(t),u_fog_range:new e.bO(t),u_fog_color:new e.bS(t),u_fog_horizon_blend:new e.bQ(t),u_fog_vertical_limit:new e.bO(t),u_fog_temporal_offset:new e.bQ(t),u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_globe_pos:new e.bP(t),u_globe_radius:new e.bQ(t),u_globe_transition:new e.bQ(t),u_is_globe:new e.bR(t),u_viewport:new e.bO(t)}))(t)),s.includes("RENDER_CUTOFF")&&(this.cutoffUniforms=(t=>({u_cutoff_params:new e.bS(t)}))(t)),s.includes("LIGHTING_3D_MODE")&&(this.lightsUniforms=(t=>({u_lighting_ambient_color:new e.bP(t),u_lighting_directional_dir:new e.bP(t),u_lighting_directional_color:new e.bP(t),u_ground_radiance:new e.bP(t)}))(t)),s.includes("RENDER_SHADOWS")&&(this.shadowUniforms=(t=>({u_light_matrix_0:new e.bN(t),u_light_matrix_1:new e.bN(t),u_fade_range:new e.bO(t),u_shadow_normal_offset:new e.bP(t),u_shadow_intensity:new e.bQ(t),u_shadow_texel_size:new e.bQ(t),u_shadow_map_resolution:new e.bQ(t),u_shadow_direction:new e.bP(t),u_shadow_bias:new e.bP(t),u_shadowmap_0:new e.bR(t),u_shadowmap_1:new e.bR(t)}))(t))}}setTerrainUniformValues(e,t){if(!this.terrainUniforms)return;const i=this.terrainUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setGlobeUniformValues(e,t){if(!this.globeUniforms)return;const i=this.globeUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e]&&i[e].set(this.program,e,t[e])}}setFogUniformValues(e,t){if(!this.fogUniforms)return;const i=this.fogUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setCutoffUniformValues(e,t){if(!this.cutoffUniforms)return;const i=this.cutoffUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setLightsUniformValues(e,t){if(!this.lightsUniforms)return;const i=this.lightsUniforms;if(!this.failedToCreate){e.program.set(this.program);for(const e in t)i[e].set(this.program,e,t[e])}}setShadowUniformValues(e,t){if(this.failedToCreate||!this.shadowUniforms)return;const i=this.shadowUniforms;e.program.set(this.program);for(const r in t)i[r].set(this.program,r,t[r])}_drawDebugWireframe(t,i,r,n,o,s,a,l,c,h){const u=t.options.wireframe;if(!1===u.terrain&&!1===u.layers2D&&!1===u.layers3D)return;const d=t.context;if(!(()=>!(!u.terrain||"terrainRaster"!==this.name&&"globeRaster"!==this.name)||!(!u.layers2D||t._terrain&&t._terrain.renderingToTexture||!_n.includes(this.name))||!(!u.layers3D||!gn.includes(this.name)))())return;const p=d.gl,f=t.wireframeDebugCache.getLinesFromTrianglesBuffer(t.frameCounter,o,d);if(!f)return;const m=[...this.fixedDefines];m.push("DEBUG_WIREFRAME");const _=t.getOrCreateProgram(this.name,{config:this.configuration,defines:m});d.program.set(_.program);const g=(e,t,i)=>{if(t[e]&&i[e])for(const r in t[e])i[e][r]&&i[e][r].set(i.program,r,t[e][r].current)};c&&c.setUniforms(_.program,d,_.binderUniforms,a,{zoom:l}),g("fixedUniforms",this,_),g("terrainUniforms",this,_),g("globeUniforms",this,_),g("fogUniforms",this,_),g("lightsUniforms",this,_),g("shadowUniforms",this,_),f.bind(),d.setColorMode(new Pt([p.ONE,p.ONE_MINUS_SRC_ALPHA,p.ZERO,p.ONE],e.aA.transparent,[!0,!0,!0,!1])),d.setDepthMode(new Mt(i.func===p.LESS?p.LEQUAL:i.func,Mt.ReadOnly,i.range)),d.setStencilMode(It.disabled);const y=3*s.primitiveLength*2,x=3*s.primitiveOffset*2*2;h&&h>1?p.drawElementsInstanced(p.LINES,y,p.UNSIGNED_SHORT,x,h):p.drawElements(p.LINES,y,p.UNSIGNED_SHORT,x),o.bind(),d.program.set(this.program),d.setDepthMode(i),d.setStencilMode(r),d.setColorMode(n)}draw(e,t,i,r,n,o,s,a,l,c,h,u,d,p,f,m){const _=e.context,g=_.gl;if(this.failedToCreate)return;_.program.set(this.program),_.setDepthMode(i),_.setStencilMode(r),_.setColorMode(n),_.setCullFace(o);for(const v of Object.keys(this.fixedUniforms))this.fixedUniforms[v].set(this.program,v,s[v]);p&&p.setUniforms(this.program,_,this.binderUniforms,u,{zoom:d});const y={[g.POINTS]:1,[g.LINES]:2,[g.TRIANGLES]:3,[g.LINE_STRIP]:1}[t],x=m&&m>0?1:void 0;for(const v of h.get()){const o=v.vaos||(v.vaos={});(o[a]||(o[a]=new Hr)).bind(_,this,l,p?p.getPaintVertexBuffers():[],c,v.vertexOffset,f||[],x),m&&m>1?g.drawElementsInstanced(t,v.primitiveLength*y,g.UNSIGNED_SHORT,v.primitiveOffset*y*2,m):c?g.drawElements(t,v.primitiveLength*y,g.UNSIGNED_SHORT,v.primitiveOffset*y*2):g.drawArrays(t,v.vertexOffset,v.vertexLength),t===g.TRIANGLES&&c&&this._drawDebugWireframe(e,i,r,n,c,v,u,d,p,m)}}}function xn(t,i){const r=Math.pow(2,i.tileID.overscaledZ),n=i.tileSize*Math.pow(2,t.transform.tileZoom)/r,o=n*(i.tileID.canonical.x+i.tileID.wrap*r),s=n*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture?i.imageAtlasTexture.size:[0,0],u_tile_units_to_pixels:1/e.a6(i,1,t.transform.tileZoom),u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const vn=e.a9.create(),bn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>{const g=i.style.light,y=g.properties.get("position"),x=[y.x,y.y,y.z],v=e.ct.create();"viewport"===g.properties.get("anchor")&&(e.ct.fromRotation(v,-i.transform.angle),e.Q.transformMat3(x,x,v));const b=g.properties.get("color"),w=i.transform,T={u_matrix:t,u_lightpos:x,u_lightintensity:g.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_vertical_gradient:+r,u_opacity:n,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:vn,u_merc_center:[0,0],u_up_dir:[0,0,0],u_height_lift:0,u_ao:o,u_edge_radius:s,u_flood_light_color:d,u_vertical_scale:p,u_flood_light_intensity:f,u_ground_shadow_factor:m,u_emissive_strength:_};return"globe"===w.projection.name&&(T.u_tile_id=[a.canonical.x,a.canonical.y,1<({u_matrix:e,u_edge_radius:t,u_vertical_scale:i}),Tn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f)=>{const m=bn(t,i,r,n,o,s,a,c,h,u,d,p,f,1,[0,0,0],0),_={u_height_factor:-Math.pow(2,a.overscaledZ)/l.tileSize/8};return e.e(m,xn(i,l),_)},En=(e,t)=>({u_matrix:e,u_emissive_strength:t}),Sn=(t,i,r,n)=>e.e(En(t,i),xn(r,n)),Mn=(e,t,i)=>({u_matrix:e,u_world:i,u_emissive_strength:t}),An=(t,i,r,n,o)=>e.e(Sn(t,i,r,n),{u_world:o}),In=(t,i,r,n)=>{const o=e.Y/r.tileSize;return{u_matrix:t,u_camera_to_center_distance:i.getCameraToCenterDistance(n),u_extrude_scale:[i.pixelsToGLUnits[0]/o,i.pixelsToGLUnits[1]/o]}},Cn=function(e,t){return{u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:arguments.length>2&&void 0!==arguments[2]?arguments[2]:1}},Pn=e.a9.create(),zn=(t,i,r,n,o,s,a)=>{const l=t.transform,c="globe"===l.projection.name,h=c?e.cu(l.zoom,i.canonical)*l._pixelsPerMercatorPixel:e.a6(r,1,s),u={u_matrix:i.projMatrix,u_extrude_scale:h,u_intensity:a,u_inv_rot_matrix:Pn,u_merc_center:[0,0],u_tile_id:[0,0,0],u_zoom_transition:0,u_up_dir:[0,0,0]};if(c){u.u_inv_rot_matrix=n,u.u_merc_center=o,u.u_tile_id=[i.canonical.x,i.canonical.y,1<({u_matrix:t,u_normalize_matrix:i,u_globe_matrix:r,u_merc_matrix:n,u_grid_matrix:o,u_tl_parent:s,u_scale_parent:h,u_fade_t:u.mix,u_opacity:u.opacity*d.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:d.paint.get("raster-brightness-min"),u_brightness_high:d.paint.get("raster-brightness-max"),u_saturation_factor:e.cv(d.paint.get("raster-saturation")),u_contrast_factor:e.cw(d.paint.get("raster-contrast")),u_spin_weights:kn(d.paint.get("raster-hue-rotate")),u_perspective_transform:p,u_raster_elevation:f,u_zoom_transition:a,u_merc_center:l,u_cutoff_params:c,u_colorization_mix:Dn(e.cx,_,y),u_colorization_offset:Rn(e.cx,g,y),u_color_ramp:m,u_texture_offset:[v/(x+2*v),x/(x+2*v)],u_texture_res:[x+2*v,x+2*v],u_emissive_strength:b});function kn(e){e*=Math.PI/180;const t=Math.sin(e),i=Math.cos(e);return[(2*i+1)/3,(-Math.sqrt(3)*t-i+1)/3,(Math.sqrt(3)*t-i+1)/3]}const On=(e,t,i,r,n,o,s,a,l,c,h,u)=>({u_matrix:e,u_normalize_matrix:t,u_globe_matrix:i,u_merc_matrix:r,u_grid_matrix:n,u_tl_parent:o,u_scale_parent:c,u_fade_t:h.mix,u_opacity:h.opacity,u_image0:0,u_image1:1,u_raster_elevation:u,u_zoom_transition:s,u_merc_center:a,u_cutoff_params:l}),Bn=(e,t,i,r,n,o,s,a,l,c)=>({u_particle_texture:e,u_particle_texture_side_len:t,u_tile_offset:i,u_velocity:r,u_color_ramp:o,u_velocity_res:n,u_max_speed:s,u_uv_offset:a,u_data_scale:l,u_data_offset:c,u_particle_pos_scale:1.3,u_particle_pos_offset:[Ot,Ot]}),Fn=(e,t,i,r,n,o,s,a,l,c)=>({u_particle_texture:e,u_particle_texture_side_len:t,u_velocity:i,u_velocity_res:r,u_max_speed:n,u_speed_factor:o,u_reset_rate:s,u_rand_seed:Math.random(),u_uv_offset:a,u_data_scale:l,u_data_offset:c,u_particle_pos_scale:1.3,u_particle_pos_offset:[Ot,Ot]}),Nn=e.a9.create(),Vn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y)=>{const x=o.transform,v={u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:i?i.uSizeT:0,u_size:i?i.uSize:0,u_camera_to_center_distance:x.getCameraToCenterDistance(_),u_rotate_symbol:+r,u_aspect_ratio:x.width/x.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:a,u_coord_matrix:l,u_is_text:+c,u_pitch_with_map:+n,u_texsize:h,u_texture:0,u_tile_id:[0,0,0],u_zoom_transition:0,u_inv_rot_matrix:Nn,u_merc_center:[0,0],u_camera_forward:[0,0,0],u_ecef_origin:[0,0,0],u_tile_matrix:Nn,u_up_vector:[0,-1,0],u_color_adj_mat:g,u_icon_transition:y||0};return"globe"===_.name&&(v.u_tile_id=[u.canonical.x,u.canonical.y,1<e.e(Vn(t,i,r,n,o,s,a,l,c,h,d,p,f,m,_,g),{u_gamma_scale:n?o.transform.getCameraToCenterDistance(g)*Math.cos(o.terrain?0:o.transform._pitch):1,u_device_pixel_ratio:e.f.devicePixelRatio,u_is_halo:+u,undefined:void 0}),jn=(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_)=>e.e(Un(t,i,r,n,o,s,a,l,!0,c,!0,u,d,p,f,m,_),{u_texsize_icon:h,u_texture_icon:1}),Gn=(e,t,i,r)=>({u_matrix:e,u_emissive_strength:t,u_opacity:i,u_color:r}),qn=(t,i,r,n,o,s,a)=>e.e(function(t,i,r,n){const o=r.imageManager.getPattern(t.toString(),i),{width:s,height:a}=r.imageManager.getPixelSize(i),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,h=c*(n.tileID.canonical.x+n.tileID.wrap*l),u=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl:o.tl,u_pattern_br:o.br,u_texsize:[s,a],u_pattern_size:o.displaySize,u_tile_units_to_pixels:1/e.a6(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(o,s,n,a),{u_matrix:t,u_emissive_strength:i,u_opacity:r}),Zn=new Float32Array(e.a9.identity([])),$n=function(t,i,r,n,o,s,a,l,c,h,u,d,p){let f=arguments.length>13&&void 0!==arguments[13]?arguments[13]:[0,0,0],m=arguments.length>14?arguments[14]:void 0;const _=o.style.light,g=_.properties.get("position"),y=[-g.x,-g.y,g.z],x=e.ct.create();"viewport"===_.properties.get("anchor")&&(e.ct.fromRotation(x,-o.transform.angle),e.Q.transformMat3(y,y,x));const v="MASK"===u.alphaMode,b=_.properties.get("color"),w=p.paint.get("model-ambient-occlusion-intensity"),T=p.paint.get("model-color").constantOr(e.aA.white),E=p.paint.get("model-color-mix-intensity").constantOr(0);return{u_matrix:t,u_lighting_matrix:i,u_normal_matrix:r,u_node_matrix:n||Zn,u_lightpos:y,u_lightintensity:_.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_camera_pos:f,u_opacity:s,u_baseTextureIsAlpha:0,u_alphaMask:+v,u_alphaCutoff:u.alphaCutoff,u_baseColorFactor:[a.r,a.g,a.b,a.a],u_emissiveFactor:[l[0],l[1],l[2],1],u_metallicFactor:c,u_roughnessFactor:h,u_baseColorTexture:fr.BaseColor,u_metallicRoughnessTexture:fr.MetallicRoughness,u_normalTexture:fr.Normal,u_occlusionTexture:fr.Occlusion,u_emissionTexture:fr.Emission,u_color_mix:[T.r,T.g,T.b,E],u_aoIntensity:w,u_emissive_strength:d,u_occlusionTextureTransform:m||[0,0,0,0]}},Wn=function(e){return{u_matrix:e,u_instance:arguments.length>1&&void 0!==arguments[1]?arguments[1]:Zn,u_node_matrix:arguments.length>2&&void 0!==arguments[2]?arguments[2]:Zn}},Qn={fillExtrusion:t=>({u_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_vertical_gradient:new e.bQ(t),u_opacity:new e.bQ(t),u_edge_radius:new e.bQ(t),u_ao:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_up_dir:new e.bP(t),u_height_lift:new e.bQ(t),u_flood_light_color:new e.bP(t),u_vertical_scale:new e.bQ(t),u_flood_light_intensity:new e.bQ(t),u_ground_shadow_factor:new e.bP(t),u_emissive_strength:new e.bQ(t)}),fillExtrusionDepth:t=>({u_matrix:new e.bN(t),u_edge_radius:new e.bQ(t),u_vertical_scale:new e.bQ(t)}),fillExtrusionPattern:t=>({u_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_vertical_gradient:new e.bQ(t),u_height_factor:new e.bQ(t),u_edge_radius:new e.bQ(t),u_ao:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_up_dir:new e.bP(t),u_height_lift:new e.bQ(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t),u_opacity:new e.bQ(t)}),fillExtrusionGroundEffect:t=>({u_matrix:new e.bN(t),u_opacity:new e.bQ(t),u_ao_pass:new e.bQ(t),u_meter_to_tile:new e.bQ(t),u_ao:new e.bO(t),u_flood_light_intensity:new e.bQ(t),u_flood_light_color:new e.bP(t),u_attenuation:new e.bQ(t),u_edge_radius:new e.bQ(t),u_fb:new e.bR(t),u_fb_size:new e.bQ(t)}),fill:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t)}),fillPattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),fillOutline:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_world:new e.bO(t)}),fillOutlinePattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_world:new e.bO(t),u_image:new e.bR(t),u_texsize:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),circle:e.cz,collisionBox:t=>({u_matrix:new e.bN(t),u_camera_to_center_distance:new e.bQ(t),u_extrude_scale:new e.bO(t)}),collisionCircle:t=>({u_matrix:new e.bN(t),u_inv_matrix:new e.bN(t),u_camera_to_center_distance:new e.bQ(t),u_viewport_size:new e.bO(t)}),debug:t=>({u_color:new e.cf(t),u_matrix:new e.bN(t),u_overlay:new e.bR(t),u_overlay_scale:new e.bQ(t)}),clippingMask:t=>({u_matrix:new e.bN(t)}),heatmap:t=>({u_extrude_scale:new e.bQ(t),u_intensity:new e.bQ(t),u_matrix:new e.bN(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_up_dir:new e.bP(t)}),heatmapTexture:t=>({u_image:new e.bR(t),u_color_ramp:new e.bR(t),u_opacity:new e.bQ(t)}),hillshade:t=>({u_matrix:new e.bN(t),u_image:new e.bR(t),u_latrange:new e.bO(t),u_light:new e.bO(t),u_shadow:new e.cf(t),u_highlight:new e.cf(t),u_emissive_strength:new e.bQ(t),u_accent:new e.cf(t)}),hillshadePrepare:t=>({u_matrix:new e.bN(t),u_image:new e.bR(t),u_dimension:new e.bO(t),u_zoom:new e.bQ(t)}),line:e.cA,linePattern:e.cB,raster:t=>({u_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_grid_matrix:new e.cg(t),u_tl_parent:new e.bO(t),u_scale_parent:new e.bQ(t),u_fade_t:new e.bQ(t),u_opacity:new e.bQ(t),u_image0:new e.bR(t),u_image1:new e.bR(t),u_brightness_low:new e.bQ(t),u_brightness_high:new e.bQ(t),u_saturation_factor:new e.bQ(t),u_contrast_factor:new e.bQ(t),u_spin_weights:new e.bP(t),u_perspective_transform:new e.bO(t),u_raster_elevation:new e.bQ(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_cutoff_params:new e.bS(t),u_colorization_mix:new e.bS(t),u_colorization_offset:new e.bQ(t),u_color_ramp:new e.bR(t),u_texture_offset:new e.bO(t),u_texture_res:new e.bO(t),u_emissive_strength:new e.bQ(t)}),rasterParticle:t=>({u_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_grid_matrix:new e.cg(t),u_tl_parent:new e.bO(t),u_scale_parent:new e.bQ(t),u_fade_t:new e.bQ(t),u_opacity:new e.bQ(t),u_image0:new e.bR(t),u_image1:new e.bR(t),u_raster_elevation:new e.bQ(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_cutoff_params:new e.bS(t)}),rasterParticleTexture:t=>({u_texture:new e.bR(t),u_opacity:new e.bQ(t)}),rasterParticleDraw:t=>({u_particle_texture:new e.bR(t),u_particle_texture_side_len:new e.bQ(t),u_tile_offset:new e.bO(t),u_velocity:new e.bR(t),u_color_ramp:new e.bR(t),u_velocity_res:new e.bO(t),u_max_speed:new e.bQ(t),u_uv_offset:new e.bO(t),u_data_scale:new e.bS(t),u_data_offset:new e.bQ(t),u_particle_pos_scale:new e.bQ(t),u_particle_pos_offset:new e.bO(t)}),rasterParticleUpdate:t=>({u_particle_texture:new e.bR(t),u_particle_texture_side_len:new e.bQ(t),u_velocity:new e.bR(t),u_velocity_res:new e.bO(t),u_max_speed:new e.bQ(t),u_speed_factor:new e.bQ(t),u_reset_rate:new e.bQ(t),u_rand_seed:new e.bQ(t),u_uv_offset:new e.bO(t),u_data_scale:new e.bS(t),u_data_offset:new e.bQ(t),u_particle_pos_scale:new e.bQ(t),u_particle_pos_offset:new e.bO(t)}),symbolIcon:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_camera_forward:new e.bP(t),u_tile_matrix:new e.bN(t),u_up_vector:new e.bP(t),u_ecef_origin:new e.bP(t),u_texture:new e.bR(t),u_icon_transition:new e.bQ(t),u_color_adj_mat:new e.bN(t)}),symbolSDF:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_texture:new e.bR(t),u_gamma_scale:new e.bQ(t),u_device_pixel_ratio:new e.bQ(t),u_tile_id:new e.bP(t),u_zoom_transition:new e.bQ(t),u_inv_rot_matrix:new e.bN(t),u_merc_center:new e.bO(t),u_camera_forward:new e.bP(t),u_tile_matrix:new e.bN(t),u_up_vector:new e.bP(t),u_ecef_origin:new e.bP(t),u_is_halo:new e.bR(t)}),symbolTextAndIcon:t=>({u_is_size_zoom_constant:new e.bR(t),u_is_size_feature_constant:new e.bR(t),u_size_t:new e.bQ(t),u_size:new e.bQ(t),u_camera_to_center_distance:new e.bQ(t),u_rotate_symbol:new e.bR(t),u_aspect_ratio:new e.bQ(t),u_fade_change:new e.bQ(t),u_matrix:new e.bN(t),u_label_plane_matrix:new e.bN(t),u_coord_matrix:new e.bN(t),u_is_text:new e.bR(t),u_pitch_with_map:new e.bR(t),u_texsize:new e.bO(t),u_texsize_icon:new e.bO(t),u_texture:new e.bR(t),u_texture_icon:new e.bR(t),u_gamma_scale:new e.bQ(t),u_device_pixel_ratio:new e.bQ(t),u_is_halo:new e.bR(t)}),background:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_opacity:new e.bQ(t),u_color:new e.cf(t)}),backgroundPattern:t=>({u_matrix:new e.bN(t),u_emissive_strength:new e.bQ(t),u_opacity:new e.bQ(t),u_image:new e.bR(t),u_pattern_tl:new e.bO(t),u_pattern_br:new e.bO(t),u_texsize:new e.bO(t),u_pattern_size:new e.bO(t),u_pixel_coord_upper:new e.bO(t),u_pixel_coord_lower:new e.bO(t),u_tile_units_to_pixels:new e.bQ(t)}),terrainRaster:en,terrainDepth:en,skybox:t=>({u_matrix:new e.bN(t),u_sun_direction:new e.bP(t),u_cubemap:new e.bR(t),u_opacity:new e.bQ(t),u_temporal_offset:new e.bQ(t)}),skyboxGradient:t=>({u_matrix:new e.bN(t),u_color_ramp:new e.bR(t),u_center_direction:new e.bP(t),u_radius:new e.bQ(t),u_opacity:new e.bQ(t),u_temporal_offset:new e.bQ(t)}),skyboxCapture:t=>({u_matrix_3f:new e.cg(t),u_sun_direction:new e.bP(t),u_sun_intensity:new e.bQ(t),u_color_tint_r:new e.bS(t),u_color_tint_m:new e.bS(t),u_luminance:new e.bQ(t)}),globeRaster:t=>({u_proj_matrix:new e.bN(t),u_globe_matrix:new e.bN(t),u_normalize_matrix:new e.bN(t),u_merc_matrix:new e.bN(t),u_zoom_transition:new e.bQ(t),u_merc_center:new e.bO(t),u_image0:new e.bR(t),u_grid_matrix:new e.cg(t),u_skirt_height:new e.bQ(t),u_far_z_cutoff:new e.bQ(t),u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_globe_pos:new e.bP(t),u_globe_radius:new e.bQ(t),u_viewport:new e.bO(t)}),globeAtmosphere:t=>({u_frustum_tl:new e.bP(t),u_frustum_tr:new e.bP(t),u_frustum_br:new e.bP(t),u_frustum_bl:new e.bP(t),u_horizon:new e.bQ(t),u_transition:new e.bQ(t),u_fadeout_range:new e.bQ(t),u_color:new e.bS(t),u_high_color:new e.bS(t),u_space_color:new e.bS(t),u_temporal_offset:new e.bQ(t),u_horizon_angle:new e.bQ(t)}),model:t=>({u_matrix:new e.bN(t),u_lighting_matrix:new e.bN(t),u_normal_matrix:new e.bN(t),u_node_matrix:new e.bN(t),u_lightpos:new e.bP(t),u_lightintensity:new e.bQ(t),u_lightcolor:new e.bP(t),u_camera_pos:new e.bP(t),u_opacity:new e.bQ(t),u_baseColorFactor:new e.bS(t),u_emissiveFactor:new e.bS(t),u_metallicFactor:new e.bQ(t),u_roughnessFactor:new e.bQ(t),u_baseTextureIsAlpha:new e.bR(t),u_alphaMask:new e.bR(t),u_alphaCutoff:new e.bQ(t),u_baseColorTexture:new e.bR(t),u_metallicRoughnessTexture:new e.bR(t),u_normalTexture:new e.bR(t),u_occlusionTexture:new e.bR(t),u_emissionTexture:new e.bR(t),u_color_mix:new e.bS(t),u_aoIntensity:new e.bQ(t),u_emissive_strength:new e.bQ(t),u_occlusionTextureTransform:new e.bS(t)}),modelDepth:t=>({u_matrix:new e.bN(t),u_instance:new e.bN(t),u_node_matrix:new e.bN(t)}),groundShadow:t=>({u_matrix:new e.bN(t),u_ground_shadow_factor:new e.bP(t)}),stars:t=>({u_matrix:new e.bN(t),u_up:new e.bP(t),u_right:new e.bP(t),u_intensity_multiplier:new e.bQ(t)})};let Hn;function Xn(t,i,r,n,o,s,a){const l=t.context,c=l.gl,h=t.transform,u=t.getOrCreateProgram("collisionBox"),d=[];let p=0,f=0;for(let b=0;b0){const t=e.a9.create(),i=y;e.a9.mul(t,_.placementInvProjMatrix,h.glCoordMatrix),e.a9.mul(t,t,_.placementViewportMatrix),d.push({circleArray:v,circleOffset:f,transform:i,invTransform:t,projection:_.getProjection()}),p+=v.length/4,f=p}x&&(t.terrain&&t.terrain.setupElevationDraw(m,u),u.draw(t,c.LINES,Mt.disabled,It.disabled,t.colorModeForRenderPass(),Rt.disabled,In(y,h,m,_.getProjection()),r.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,h.zoom,null,[x.collisionVertexBuffer,x.collisionVertexBufferExt]))}if(!a||!d.length)return;const m=t.getOrCreateProgram("collisionCircle"),_=new e.cC;_.resize(4*p),_._trim();let g=0;for(const e of d)for(let t=0;t=0&&(m[f.associatedIconIndex]={x:S,y:M,z:A,angle:D})}else Mi(T,p)}if(u){f.clear();const i=t.icon.placedSymbolArray;for(let t=0;t6&&void 0!==arguments[6]?arguments[6]:{};const l=r.paint.get("icon-translate"),c=r.paint.get("text-translate"),h=r.paint.get("icon-translate-anchor"),u=r.paint.get("text-translate-anchor"),d=r.layout.get("icon-rotation-alignment"),p=r.layout.get("text-rotation-alignment"),f=r.layout.get("icon-pitch-alignment"),m=r.layout.get("text-pitch-alignment"),_=r.layout.get("icon-keep-upright"),g=r.layout.get("text-keep-upright"),y=r.paint.get("icon-color-saturation"),x=r.paint.get("icon-color-contrast"),v=r.paint.get("icon-color-brightness-min"),b=r.paint.get("icon-color-brightness-max"),w=t.context,T=w.gl,E=t.transform,S="map"===d,M="map"===p,A="map"===f,I="map"===m,C=void 0!==r.layout.get("symbol-sort-key").constantOr(1);let P=!1;const z=t.depthModeForSublayer(0,Mt.ReadOnly),D=[e.a8(E.center.lng),e.ah(E.center.lat)],R=r.layout.get("text-variable-anchor"),L="globe"===E.projection.name,k=[],O=[0,-1,0];for(const B of n){const n=i.getTile(B),o=n.getBucket(r);if(!o)continue;if("mercator"===o.projection.name&&L)continue;if(o.fullyClipped)continue;const s="globe"===o.projection.name,d=s?e.W(E.zoom):0,p=Di(B,o.getProjection(),E),f=E.calculatePixelsToTileUnitsMatrix(n),m=R&&o.hasTextData(),w=o.hasIconTextFit()&&m&&o.hasIconData(),z=o.getProjection().createInversionMatrix(E,B.canonical),F=()=>{const i=S&&"point"!==r.layout.get("symbol-placement"),a=[],c=i||w,u=r.paint.get("icon-image-cross-fade").constantOr(0);t.terrainRenderModeElevated()&&A&&a.push("PITCH_WITH_MAP_TERRAIN"),s&&(a.push("PROJECTION_GLOBE_VIEW"),c&&a.push("PROJECTED_POS_ON_VIEWPORT")),u>0&&a.push("ICON_TRANSITION"),o.icon.zOffsetVertexBuffer&&a.push("Z_OFFSET"),0===y&&0===x&&0===v&&1===b||a.push("COLOR_ADJUSTMENT");const m=o.icon.programConfigurations.get(r.id),g=t.getOrCreateProgram(o.sdfIcons?"symbolSDF":"symbolIcon",{config:m,defines:a});let M;const I=n.imageAtlasTexture?n.imageAtlasTexture.size:[0,0],C=o.iconSizeData,P=e.b8(C,E.zoom),R=A||0!==E.pitch,k=pi(p,n.tileID.canonical,A,S,E,o.getProjection(),f),F=mi(p,n.tileID.canonical,A,S,E,o.getProjection(),f),N=t.translatePosMatrix(F,n,l,h,!0),V=t.translatePosMatrix(p,n,l,h),U=c?Yn:k,j=S&&!A&&!i;let G=O;!L&&!E.mercatorFromTransition||S||(G=Kn(E));const q=s?G:O;if(o.sdfIcons&&!o.iconsInText)M=Un(C.kind,P,j,A,t,V,U,N,!1,I,!0,B,d,D,z,q,o.getProjection());else{const e=r.getColorAdjustmentMatrix(y,x,v,b);M=Vn(C.kind,P,j,A,t,V,U,N,!1,I,B,d,D,z,q,o.getProjection(),e,u)}const Z=n.imageAtlasTexture?n.imageAtlasTexture:null,$=1!==r.layout.get("icon-size").constantOr(0)||o.iconsNeedLinear,W=o.sdfIcons||t.options.rotating||t.options.zooming||$||R?T.LINEAR:T.NEAREST,Q=o.sdfIcons&&0!==r.paint.get("icon-halo-width").constantOr(1),H=t.terrain&&A&&i?e.a9.invert(e.a9.create(),k):Yn;if(i&&o.icon){const e=E.elevation,i=e?e.getAtTileOffsetFunc(B,E.center.lat,E.worldSize,o.getProjection()):null,r=fi(p,n.tileID.canonical,A,S,E,o.getProjection(),f);xi(o,p,t,!1,r,F,A,_,i,B)}return{program:g,buffers:o.icon,uniformValues:M,atlasTexture:Z,atlasTextureIcon:null,atlasInterpolation:W,atlasInterpolationIcon:null,isSDF:o.sdfIcons,hasHalo:Q,tile:n,labelPlaneMatrixInv:H}},N=()=>{const i=M&&"point"!==r.layout.get("symbol-placement"),a=[],l=i||R||w;t.terrainRenderModeElevated()&&I&&a.push("PITCH_WITH_MAP_TERRAIN"),s&&(a.push("PROJECTION_GLOBE_VIEW"),l&&a.push("PROJECTED_POS_ON_VIEWPORT")),o.text.zOffsetVertexBuffer&&a.push("Z_OFFSET");const h=o.text.programConfigurations.get(r.id),m=t.getOrCreateProgram(o.iconsInText?"symbolTextAndIcon":"symbolSDF",{config:h,defines:a});let _,y=[0,0],x=null;const v=o.textSizeData;o.iconsInText&&(y=n.imageAtlasTexture?n.imageAtlasTexture.size:[0,0],x=n.imageAtlasTexture?n.imageAtlasTexture:null,_=I||0!==E.pitch||t.options.rotating||t.options.zooming||"composite"===v.kind||"camera"===v.kind?T.LINEAR:T.NEAREST);const b=n.glyphAtlasTexture?n.glyphAtlasTexture.size:[0,0],S=e.b8(v,E.zoom),A=pi(p,n.tileID.canonical,I,M,E,o.getProjection(),f),C=mi(p,n.tileID.canonical,I,M,E,o.getProjection(),f),P=t.translatePosMatrix(C,n,c,u,!0),k=t.translatePosMatrix(p,n,c,u),F=l?Yn:A,N=M&&!I&&!i;let V=O;!L&&!E.mercatorFromTransition||M||(V=Kn(E));const U=s?V:O;let j;j=o.iconsInText?jn(v.kind,S,N,I,t,k,F,P,b,y,B,d,D,z,U,o.getProjection()):Un(v.kind,S,N,I,t,k,F,P,!0,b,!0,B,d,D,z,U,o.getProjection());const G=n.glyphAtlasTexture?n.glyphAtlasTexture:null,q=T.LINEAR,Z=0!==r.paint.get("text-halo-width").constantOr(1),$=t.terrain&&I&&i?e.a9.invert(e.a9.create(),A):Yn;if(i&&o.text){const e=E.elevation,i=e?e.getAtTileOffsetFunc(B,E.center.lat,E.worldSize,o.getProjection()):null,r=fi(p,n.tileID.canonical,I,M,E,o.getProjection(),f);xi(o,p,t,!0,r,C,I,g,i,B)}return{program:m,buffers:o.text,uniformValues:j,atlasTexture:G,atlasTextureIcon:x,atlasInterpolation:q,atlasInterpolationIcon:_,isSDF:!0,hasHalo:Z,tile:n,labelPlaneMatrixInv:$}},V=o.icon.segments.get().length,U=o.text.segments.get().length,j=V&&!a.onlyText?F():null,G=U&&!a.onlyIcons?N():null,q=r.paint.get("icon-opacity").constantOr(1),Z=r.paint.get("text-opacity").constantOr(1);if(C&&o.canOverlap){P=!0;const t=q&&!a.onlyText?o.icon.segments.get():[],i=Z&&!a.onlyIcons?o.text.segments.get():[];for(const r of t)k.push({segments:new e.aE([r]),sortKey:r.sortKey,state:j});for(const r of i)k.push({segments:new e.aE([r]),sortKey:r.sortKey,state:G})}else a.onlyText||k.push({segments:q?o.icon.segments:new e.aE([]),sortKey:0,state:j}),a.onlyIcons||k.push({segments:Z?o.text.segments:new e.aE([]),sortKey:0,state:G})}P&&k.sort(((e,t)=>e.sortKey-t.sortKey));for(const e of k){const i=e.state;if(i)if(t.terrain&&t.terrain.setupElevationDraw(i.tile,i.program,{useDepthForOcclusion:E.depthOcclusionForSymbolsAndCircles,labelPlaneMatrixInv:i.labelPlaneMatrixInv}),w.activeTexture.set(T.TEXTURE0),i.atlasTexture&&i.atlasTexture.bind(i.atlasInterpolation,T.CLAMP_TO_EDGE,!0),i.atlasTextureIcon&&(w.activeTexture.set(T.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,T.CLAMP_TO_EDGE,!0)),t.uploadCommonLightUniforms(t.context,i.program),i.hasHalo){const n=i.uniformValues;n.u_is_halo=1,io(i.buffers,e.segments,r,t,i.program,z,o,s,n,2),n.u_is_halo=0}else{if(i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,io(i.buffers,e.segments,r,t,i.program,z,o,s,n,1)),n.u_is_halo=0}io(i.buffers,e.segments,r,t,i.program,z,o,s,i.uniformValues,1)}}}function io(e,t,i,r,n,o,s,a,l,c){const h=[e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer,e.iconTransitioningVertexBuffer,e.globeExtVertexBuffer,e.zOffsetVertexBuffer];n.draw(r,r.context.gl.TRIANGLES,o,s,a,Rt.disabled,l,i.id,e.layoutVertexBuffer,e.indexBuffer,t,i.paint,r.transform.zoom,e.programConfigurations.get(i.id),h,c)}function ro(e,t,i,r,n,o,s){const a=e.context.gl,l=i.paint.get("fill-pattern"),c=l&&l.constantOr(1);let h,u,d,p,f;s?(u=c&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",h=a.LINES):(u=c?"fillPattern":"fill",h=a.TRIANGLES);for(const m of r){const r=t.getTile(m);if(c&&!r.patternsLoaded())continue;const _=r.getBucket(i);if(!_)continue;e.prepareDrawTile();const g=_.programConfigurations.get(i.id),y=e.isTileAffectedByFog(m),x=e.getOrCreateProgram(u,{config:g,overrideFog:y});c&&(e.context.activeTexture.set(a.TEXTURE0),r.imageAtlasTexture&&r.imageAtlasTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),g.updatePaintBuffers());const v=l.constantOr(null);if(v&&r.imageAtlas){const e=r.imageAtlas.patternPositions[v.toString()];e&&g.setConstantPatternPositions(e)}const b=e.translatePosMatrix(m.projMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor")),w=i.paint.get("fill-emissive-strength");if(s){p=_.indexBuffer2,f=_.segments2;const t=e.terrain&&e.terrain.renderingToTexture?e.terrain.drapeBufferSize:[a.drawingBufferWidth,a.drawingBufferHeight];d="fillOutlinePattern"===u&&c?An(b,w,e,r,t):Mn(b,w,t)}else p=_.indexBuffer,f=_.segments,d=c?Sn(b,w,e,r):En(b,w);e.uploadCommonUniforms(e.context,x,m.toUnwrapped()),x.draw(e,h,n,e.stencilModeForClipping(m),o,Rt.disabled,d,i.id,_.layoutVertexBuffer,p,f,i.paint,e.transform.zoom,g,void 0)}}function no(t,i,r,n,o,s,a,l){r.resetLayerRenderingStats(t);const c=t.context,h=c.gl,u=t.transform,d=r.paint.get("fill-extrusion-pattern"),p=d.constantOr(1),f=r.paint.get("fill-extrusion-opacity"),m=t.style.enable3dLights(),_=r.paint.get(m&&!p?"fill-extrusion-ambient-occlusion-wall-radius":"fill-extrusion-ambient-occlusion-radius"),g=[r.paint.get("fill-extrusion-ambient-occlusion-intensity"),_],y=r.layout.get("fill-extrusion-edge-radius"),x=y>0&&!r.paint.get("fill-extrusion-rounded-roof"),v=x?0:y,b="globe"===u.projection.name?e.cM():0,w="globe"===u.projection.name,T=w?e.W(u.zoom):0,E=[e.a8(u.center.lng),e.ah(u.center.lat)],S=r.paint.get("fill-extrusion-flood-light-color").toArray01().slice(0,3),M=r.paint.get("fill-extrusion-flood-light-intensity"),A=r.paint.get("fill-extrusion-vertical-scale"),I=mr(t,r.paint.get("fill-extrusion-cutoff-fade-range")),C=r.paint.get("fill-extrusion-emissive-strength"),P=[];let z;w&&P.push("PROJECTION_GLOBE_VIEW"),g[0]>0&&P.push("FAUX_AO"),x&&P.push("ZERO_ROOF_RADIUS"),l&&P.push("HAS_CENTROID"),M>0&&P.push("FLOOD_LIGHT"),I.shouldRenderCutoff&&P.push("RENDER_CUTOFF");const D="shadow"===t.renderPass,R=t.shadowRenderer,L=D&&!!R;t.shadowRenderer&&(t.shadowRenderer.useNormalOffset=!0);let k=[0,0,0];if(R){const e=t.style.directionalLight,i=t.style.ambientLight;e&&i&&(k=wr(e,i)),z=P.concat(["SHADOWS_SINGLE_CASCADE"])}const O=L?"fillExtrusionDepth":p?"fillExtrusionPattern":"fillExtrusion",B=r.getLayerRenderingStats();for(const e of n){const n=i.getTile(e),m=n.getBucket(r);if(!m||m.projection.name!==u.projection.name)continue;let _=!1;R&&(_=0===R.getMaxCascadeForTile(e.toUnwrapped()));const y=t.isTileAffectedByFog(e),x=m.programConfigurations.get(r.id),L=t.getOrCreateProgram(O,{config:x,defines:_?z:P,overrideFog:y});if(t.terrain&&t.terrain.setupElevationDraw(n,L,{useMeterToDem:!0}),!m.centroidVertexBuffer){const e=L.attributes.a_centroid_pos;void 0!==e&&h.vertexAttrib2f(e,0,0)}!D&&R&&R.setupShadows(n.tileID.toUnwrapped(),L,"vector-tile",n.tileID.overscaledZ),p&&(t.context.activeTexture.set(h.TEXTURE0),n.imageAtlasTexture&&n.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),x.updatePaintBuffers());const F=d.constantOr(null);if(F&&n.imageAtlas){const e=n.imageAtlas.patternPositions[F.toString()];e&&x.setConstantPatternPositions(e)}const N=r.paint.get("fill-extrusion-vertical-gradient");let V;if(D&&R){if(ho(n.tileID,m,t))continue;const e=R.calculateShadowPassMatrixFromTile(n.tileID.toUnwrapped());V=wn(e,v,A)}else{const i=t.translatePosMatrix(e.expandedProjMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),o=u.projection.createInversionMatrix(u,e.canonical);V=p?Tn(i,t,N,f,g,v,e,n,b,T,E,o,S,A):bn(i,t,N,f,g,v,e,b,T,E,o,S,A,M,k,C)}t.uploadCommonUniforms(c,L,e.toUnwrapped(),null,I);let U=m.segments;if("mercator"===u.projection.name&&!D&&(U=m.getVisibleSegments(n.tileID,t.terrain,t.transform.getFrustum(0)),!U.get().length))continue;if(B)if(D)for(const e of U.get())B.numRenderedVerticesInShadowPass+=e.primitiveLength;else for(const e of U.get())B.numRenderedVerticesInTransparentPass+=e.primitiveLength;const j=[];(t.terrain||l)&&j.push(m.centroidVertexBuffer),w&&j.push(m.layoutVertexExtBuffer),L.draw(t,c.gl.TRIANGLES,o,s,a,Rt.backCCW,V,r.id,m.layoutVertexBuffer,m.indexBuffer,U,r.paint,t.transform.zoom,x,j)}t.shadowRenderer&&(t.shadowRenderer.useNormalOffset=!1)}function oo(t,i,r,n,o,s,a,l,c,h,u,d,p,f,m,_,g,y,x){const v=t.context,b=v.gl,w=t.transform,T=t.transform.zoom,E=[],S=mr(t,r.paint.get("fill-extrusion-cutoff-fade-range"));"clear"===h?(E.push("CLEAR_SUBPASS"),x&&(E.push("CLEAR_FROM_TEXTURE"),v.activeTexture.set(b.TEXTURE0),x.bind(b.LINEAR,b.CLAMP_TO_EDGE))):"sdf"===h&&E.push("SDF_SUBPASS"),g&&E.push("HAS_CENTROID"),S.shouldRenderCutoff&&E.push("RENDER_CUTOFF");const M=r.layout.get("fill-extrusion-edge-radius"),A=(e,i,n,h,y)=>{const b=i.programConfigurations.get(r.id),w=t.isTileAffectedByFog(e),A=t.getOrCreateProgram("fillExtrusionGroundEffect",{config:b,defines:E,overrideFog:w}),I=((e,t,i,r,n,o,s,a,l,c,h)=>({u_matrix:t,u_opacity:i,u_ao_pass:r?1:0,u_meter_to_tile:n,u_ao:o,u_flood_light_intensity:s,u_flood_light_color:a,u_attenuation:l,u_edge_radius:c,u_fb:0,u_fb_size:h}))(0,h,u,c,y,[d,p*y],f,m,_,T>=17?0:M*y,x?x.size[0]:0),C=[];g&&C.push(i.hiddenByLandmarkVertexBuffer),t.uploadCommonUniforms(v,A,e.toUnwrapped(),null,S),A.draw(t,v.gl.TRIANGLES,o,s,a,l,I,r.id,i.vertexBuffer,i.indexBuffer,n,r.paint,T,b,C)};for(const I of n){const n=i.getTile(I),o=n.getBucket(r);if(!o||o.projection.name!==w.projection.name||!o.groundEffect||o.groundEffect&&!o.groundEffect.hasData())continue;const s=o.groundEffect,a=1/o.tileToMeter;{const e=t.translatePosMatrix(I.projMatrix,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),i=s.getDefaultSegment();A(I,s,i,e,a)}if(y)for(let l=0;l<4;l++){const o=e.cN[l](I),s=i.getTile(o);if(!s)continue;const c=s.getBucket(r);if(!c||c.projection.name!==w.projection.name||!c.groundEffect||c.groundEffect&&!c.groundEffect.hasData())continue;const h=c.groundEffect;let u,d;0===l?(u=[-e.Y,0,0],d=1):1===l?(u=[e.Y,0,0],d=0):2===l?(u=[0,-e.Y,0],d=3):(u=[0,e.Y,0],d=2);const p=h.regionSegments[d];if(!p)continue;const f=new Float32Array(16);e.a9.translate(f,I.projMatrix,u),A(I,h,p,t.translatePosMatrix(f,n,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),a)}}}function so(t,i,r,n,o,s,a){0===n.centroidVertexArray.length&&n.createCentroidsBuffer();const l=s?s.findDEMTileFor(r):null;if(!(l&&l.dem||a))return;const c=t=>new e.P(Math.ceil((t+e.cQ)*e.cR),0),h=e=>{const t=i.getSource().minzoom,r=e=>{const t=i.getTileByID(e);if(t&&t.hasData())return t.getBucket(o)},n=[0,-1,1];for(const i of n){if(e.overscaledZ+i(u[0]=Math.min(t.min.y,i.min.y),u[1]=Math.max(t.max.y,i.max.y),u[2]=e.Y-i.min.x>t.max.x?i.min.x-e.Y:t.max.x,u),p=(t,i)=>(u[0]=Math.min(t.min.x,i.min.x),u[1]=Math.max(t.max.x,i.max.x),u[2]=e.Y-i.min.y>t.max.y?i.min.y-e.Y:t.max.y,u),f=[(e,t)=>d(e,t),(e,t)=>d(t,e),(e,t)=>p(e,t),(e,t)=>p(t,e)],m=(t,i,n,o,a,c,h)=>{if(!s)return 0;const u=[[c?n:t,c?t:n,0],[c?n:i,c?i:n,0]],d=h<0?e.Y+h:h,p=[c?d:(t+i)/2,c?(t+i)/2:d,0];return 0===n&&h<0||0!==n&&h>0?s.getForTilePoints(a,[p],!0,o):u.push(p),s.getForTilePoints(r,u,!0,l),Math.max(u[0][2],u[1][2],p[2])/s.exaggeration()};for(let y=0;y<4;y++){const t=n.borderFeatureIndices[y];if(0===t.length)continue;const i=e.cN[y](r),o=h(i);if(!(o&&o instanceof e.cO))continue;if(n.borderDoneWithNeighborZ[y]===o.canonical.z)continue;0===o.centroidVertexArray.length&&o.createCentroidsBuffer();const l=s?s.findDEMTileFor(i):null;if(!(l&&l.dem||a))continue;const u=(y<2?1:5)-y,d=o.borderDoneWithNeighborZ[u]!==n.canonical.z,p=o.borderFeatureIndices[u];let x=0;if(n.canonical.z!==o.canonical.z){for(const e of t)n.showCentroid(n.featuresOnBorder[e]);if(d)for(const e of p)o.showCentroid(o.featuresOnBorder[e]);n.borderDoneWithNeighborZ[y]=o.canonical.z,o.borderDoneWithNeighborZ[u]=n.canonical.z}for(const r of t){const t=n.featuresOnBorder[r],s=n.centroidData[t.centroidDataIndex],h=t.borders[y];let d;for(;xh[0]+3||e[0]>h[0]-3)break;o.showCentroid(d),x++}if(d&&xh[1]-3)&&(v++,++x!==p.length);)d=o.featuresOnBorder[p[x]];if(d=o.featuresOnBorder[p[r]],v>1){const e=d.borders[u];Math.abs(h[0]-e[0])<3&&Math.abs(h[1]-e[1])<3&&(v=1,x=r+1)}else if(0===v){n.showCentroid(t);continue}const b=o.centroidData[d.centroidDataIndex];a&&1===v&&(((_=s).flags|(g=b).flags)&e.cP?(_.flags|=e.cP,g.flags|=e.cP):(_.flags&=~e.cP,g.flags&=~e.cP));const w=t.intersectsCount()>1||d.intersectsCount()>1;if(v>1)x=r,s.centroidXY=b.centroidXY=new e.P(0,0);else if(l&&l.dem&&!w){const t=f[y](s,b),r=y%2?e.Y-1:0,n=m(t[0],Math.min(e.Y-1,t[1]),r,l,i,y<2,t[2]);s.centroidXY=b.centroidXY=c(n)}else w?s.centroidXY=b.centroidXY=new e.P(0,0):(s.centroidXY=n.encodeBorderCentroid(t),b.centroidXY=o.encodeBorderCentroid(d));n.writeCentroidToBuffer(s),o.writeCentroidToBuffer(b)}else n.showCentroid(t)}n.borderDoneWithNeighborZ[y]=o.canonical.z,o.borderDoneWithNeighborZ[u]=n.canonical.z}var _,g;(n.needsCentroidUpdate||!n.centroidVertexBuffer&&0!==n.centroidVertexArray.length)&&n.uploadCentroid(t)}const ao=[1,0,0],lo=[0,1,0],co=[0,0,1];function ho(t,i,r){const n=r.transform,o=r.shadowRenderer;if(!o)return!0;const s=t.toUnwrapped(),a=n.tileSize*o._cascades[r.currentShadowCascade].scale;let l=i.maxHeight;if(n.elevation){const e=n.elevation.getMinMaxForTile(t);e&&(l+=e.max)}const c=[...o.shadowDirection];c[2]=-c[2];const h=o.computeSimplifiedTileShadowVolume(s,l,a,c);if(!h)return!1;const u=[ao,lo,co,c,[c[0],0,c[2]],[0,c[1],c[2]]],d="globe"===n.projection.name,p=n.scaleZoom(a),f=e.bt.fromInvProjectionMatrix(n.invProjMatrix,n.worldSize,p,!d),m=o.getCurrentCascadeFrustum();return 0===f.intersectsPrecise(h.vertices,h.planes,u)||0===m.intersectsPrecise(h.vertices,h.planes,u)}function uo(t){return[t[0]*e.cS,t[1]*e.cS,t[2]*e.cS,0]}function po(t,i,r,n,o,s,a,l,c){const h=n.getSource(),u=r.globeSharedBuffers;if(!u)return;let d,p,f;if(i&&(d=n.getTile(i)),h instanceof e.as?(p=h.texture,f=e.co(0,0,r.transform)):d&&i&&(p=d.texture,f=e.co(i.canonical.z,i.canonical.x,r.transform)),!p||!f)return;t||(f=e.a9.scale(e.a9.create(),f,[1,-1,1]));const m=r.context,_=m.gl,g="nearest"===o.paint.get("raster-resampling")?_.NEAREST:_.LINEAR,y=r.colorModeForDrapableLayerRenderPass(s),x=a.defines;x.push("GLOBE_POLES");const v=new Mt(_.LEQUAL,Mt.ReadWrite,r.depthRangeFor3D),b=Float32Array.from(r.transform.expandedFarZProjMatrix),w=Float32Array.from(e.aW(e.cn(new e.bv(0,0,0))));r.terrain&&r.terrain.prepareDrawTile(),m.activeTexture.set(_.TEXTURE0),p.bind(g,_.CLAMP_TO_EDGE),m.activeTexture.set(_.TEXTURE1),p.bind(g,_.CLAMP_TO_EDGE),p.useMipmap&&m.extTextureFilterAnisotropic&&r.transform.pitch>20&&_.texParameterf(_.TEXTURE_2D,m.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,m.extTextureFilterAnisotropicMax);const[T,E,S,M]=i?u.getPoleBuffers(i.canonical.z,!1):u.getPoleBuffers(0,!0),A=o.paint.get("raster-elevation");let I;t?(I=T,r.renderDefaultNorthPole=0!==A):(I=E,r.renderDefaultSouthPole=0!==A);const C=uo(a.mix),P=((e,t,i,r,n,o,s,a,l,c,h,u,d)=>Ln(e,t,i,new Float32Array(16),new Float32Array(9),[0,0],r,[0,0],[0,0,0,0],1,{opacity:1,mix:0},o,[0,0]||0,a,2,c,h,u,1,0,d))(b,w,f,e.W(r.transform.zoom),0,o,0,A,0,C,a.offset,a.range,s),z=r.getOrCreateProgram("raster",{defines:x});r.uploadCommonUniforms(m,z,null),z.draw(r,_.TRIANGLES,v,c,y,l,P,o.id,I,S,M)}function fo(e){const t=e._nearZ,i=e.projection.farthestPixelDistance(e),r=i-t,n=.2*e.height,o=t+n;return[t,i,(o-n-t)/r,(o-t)/r]}function mo(e,t,i,r){if(e)return t instanceof ze&&e instanceof $t?t.getTextureDescriptor(e,i,!0):{texture:e.texture,mix:uo(r.mix),offset:r.offset,buffer:0,tileSize:1}}function _o(t,i,r){if(!t)return null;const n=i.getTextureDescriptor(t,r,!0);if(!n)return null;let{texture:o,mix:s,offset:a,tileSize:l,buffer:c,format:h}=n;if(!o||!h)return null;let u=!1;return"uint32"===h&&(u=!0,s[3]=0,s=Dn(e.cT,s,[0,r.paint.get("raster-particle-max-speed")]),a=Rn(e.cT,a,[0,r.paint.get("raster-particle-max-speed")])),{texture:o,textureOffset:[c/(l+2*c),l/(l+2*c)],tileSize:l,scalarData:u,scale:s,offset:a,defines:["RASTER_ARRAY",{uint8:"DATA_FORMAT_UINT8",uint16:"DATA_FORMAT_UINT16",uint32:"DATA_FORMAT_UINT32"}[h]]}}function go(e){const t=e._nearZ,i=e.projection.farthestPixelDistance(e),r=i-t,n=.2*e.height,o=t+n;return[t,i,(o-n-t)/r,(o-t)/r]}const yo=new e.aA(1,0,0,1),xo=new e.aA(0,1,0,1),vo=new e.aA(0,0,1,1),bo=new e.aA(1,0,1,1),wo=new e.aA(0,1,1,1);function To(t,i,r,n,o,s,a){const l=t.context,c=t.transform,h=l.gl,u="globe"===c.projection.name,d=u?["PROJECTION_GLOBE_VIEW"]:[];let p=e.a9.clone(r.projMatrix);if(u&&e.W(c.zoom)>0){const t=e.aV(r.canonical,c),i=e.cU(t);p=e.a9.multiply(new Float32Array(16),c.globeMatrix,i),e.a9.multiply(p,c.projMatrix,p)}const f=e.a9.create();f[12]+=2*o/(e.f.devicePixelRatio*c.width),f[13]+=2*s/(e.f.devicePixelRatio*c.height),e.a9.multiply(p,f,p);const m=t.getOrCreateProgram("debug",{defines:d}),_=i.getTileByID(r.key);t.terrain&&t.terrain.setupElevationDraw(_,m);const g=Mt.disabled,y=It.disabled,x=t.colorModeForRenderPass(),v="$debug";l.activeTexture.set(h.TEXTURE0),t.emptyTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),u?_._makeGlobeTileDebugBuffers(t.context,c):_._makeDebugTileBoundsBuffers(t.context,c.projection);const b=_._tileDebugBuffer||t.debugBuffer,w=_._tileDebugIndexBuffer||t.debugIndexBuffer,T=_._tileDebugSegments||t.debugSegments;if(m.draw(t,h.LINE_STRIP,g,y,x,Rt.disabled,Cn(p,n),v,b,w,T,null,null,null,[_._globeTileDebugBorderBuffer]),a){const e=_.latestRawTileData,i=Math.floor((e&&e.byteLength||0)/1024);let n=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(n+=` => ${r.overscaledZ}`),n+=` ${_.state}`,n+=` ${i}kb`,function(e,t){e.initDebugOverlayCanvas();const i=e.debugOverlayCanvas,r=e.context.gl,n=e.debugOverlayCanvas.getContext("2d");n.clearRect(0,0,i.width,i.height),n.shadowColor="white",n.shadowBlur=2,n.lineWidth=1.5,n.strokeStyle="white",n.textBaseline="top",n.font="bold 36px Open Sans, sans-serif",n.fillText(t,5,5),n.strokeText(t,5,5),e.debugOverlayTexture.update(i),e.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(t,n)}const E=i.getTile(r).tileSize,S=512/Math.min(E,512)*(r.overscaledZ/c.zoom)*.5,M=_._tileDebugTextBuffer||t.debugBuffer,A=_._tileDebugTextIndexBuffer||t.quadTriangleIndexBuffer,I=_._tileDebugTextSegments||t.debugSegments;m.draw(t,h.TRIANGLES,g,y,Pt.alphaBlended,Rt.disabled,Cn(p,e.aA.transparent,S),v,M,A,I,null,null,null,[_._globeTileDebugTextBuffer])}function Eo(e,t,i,r){Mo(e,0,t+i/2,e.transform.width,i,r)}function So(e,t,i,r){Mo(e,t-i/2,0,i,e.transform.height,r)}function Mo(t,i,r,n,o,s){const a=t.context,l=a.gl;l.enable(l.SCISSOR_TEST),l.scissor(i*e.f.devicePixelRatio,r*e.f.devicePixelRatio,n*e.f.devicePixelRatio,o*e.f.devicePixelRatio),a.clear({color:s}),l.disable(l.SCISSOR_TEST)}const Ao=e.aB([{name:"a_pos_3f",components:3,type:"Float32"}]),{members:Io}=Ao;function Co(e,t,i,r){e.emplaceBack(t,i,r)}class Po{constructor(t){this.vertexArray=new e.cV,this.indices=new e.az,Co(this.vertexArray,-1,-1,1),Co(this.vertexArray,1,-1,1),Co(this.vertexArray,-1,1,1),Co(this.vertexArray,1,1,1),Co(this.vertexArray,-1,-1,-1),Co(this.vertexArray,1,-1,-1),Co(this.vertexArray,-1,1,-1),Co(this.vertexArray,1,1,-1),this.indices.emplaceBack(5,1,3),this.indices.emplaceBack(3,7,5),this.indices.emplaceBack(6,2,0),this.indices.emplaceBack(0,4,6),this.indices.emplaceBack(2,6,7),this.indices.emplaceBack(7,3,2),this.indices.emplaceBack(5,4,0),this.indices.emplaceBack(0,1,5),this.indices.emplaceBack(0,2,3),this.indices.emplaceBack(3,1,0),this.indices.emplaceBack(7,6,4),this.indices.emplaceBack(4,5,7),this.vertexBuffer=t.createVertexBuffer(this.vertexArray,Io),this.indexBuffer=t.createIndexBuffer(this.indices),this.segment=e.aE.simpleSegment(0,0,36,12)}}function zo(t,i,r,n,o,s){const a=t.context.gl,l=i.paint.get("sky-atmosphere-color"),c=i.paint.get("sky-atmosphere-halo-color"),h=i.paint.get("sky-atmosphere-sun-intensity"),u=((e,t,i,r,n)=>({u_matrix_3f:e,u_sun_direction:t,u_sun_intensity:i,u_color_tint_r:[r.r,r.g,r.b,r.a],u_color_tint_m:[n.r,n.g,n.b,n.a],u_luminance:5e-5}))(e.ct.fromMat4(e.ct.create(),n),o,h,l,c);a.framebufferTexture2D(a.FRAMEBUFFER,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+s,i.skyboxTexture,0),r.draw(t,a.TRIANGLES,Mt.disabled,It.disabled,Pt.unblended,Rt.frontCW,u,"skyboxCapture",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}const Do=e.aB([{type:"Float32",name:"a_pos",components:3},{type:"Float32",name:"a_uv",components:2}]);class Ro{constructor(t){const i=new e.cW;i.emplaceBack(-1,1,1,0,0),i.emplaceBack(1,1,1,1,0),i.emplaceBack(1,-1,1,1,1),i.emplaceBack(-1,-1,1,0,1);const r=new e.az;r.emplaceBack(0,1,2),r.emplaceBack(2,3,0),this.vertexBuffer=t.createVertexBuffer(i,Do.members),this.indexBuffer=t.createIndexBuffer(r),this.segments=e.aE.simpleSegment(0,0,4,2)}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy()}}const Lo=e.aB([{type:"Float32",name:"a_pos_3f",components:3},{type:"Float32",name:"a_uv",components:2},{type:"Float32",name:"a_size_scale",components:1},{type:"Float32",name:"a_fade_opacity",components:1}]);class ko{constructor(){this.starsCount=16e3,this.sizeMultiplier=.15,this.sizeRange=100,this.intensityRange=200}}class Oo{constructor(t){this.colorModeAlphaBlendedWriteRGB=new Pt([1,Ct,1,Ct],e.aA.transparent,[!0,!0,!0,!1]),this.colorModeWriteAlpha=new Pt([1,0,1,0],e.aA.transparent,[!1,!1,!1,!0]),this.params=new ko,this.updateNeeded=!0,t.tp.registerParameter(this.params,["Stars"],"starsCount",{min:100,max:16e3,step:1},(()=>{this.updateNeeded=!0})),t.tp.registerParameter(this.params,["Stars"],"sizeMultiplier",{min:.01,max:2,step:.01}),t.tp.registerParameter(this.params,["Stars"],"sizeRange",{min:0,max:200,step:1},(()=>{this.updateNeeded=!0})),t.tp.registerParameter(this.params,["Stars"],"intensityRange",{min:0,max:200,step:1},(()=>{this.updateNeeded=!0}))}update(t){const i=t.context;if(!this.atmosphereBuffer||this.updateNeeded){this.updateNeeded=!1,this.atmosphereBuffer=new Ro(i);const t=this.params.sizeRange,r=this.params.intensityRange,n=function(t){const i=e.aC(30),r=[];for(let n=0;n{const i="globe"===o.projection.name?["PROJECTION_GLOBE_VIEW","FOG"]:["FOG"];e&&i.push("ALPHA_PASS");const u=t.getOrCreateProgram("globeAtmosphere",{defines:i}),p=((e,t,i,r,n,o,s,a,l,c,h,u)=>({u_frustum_tl:e,u_frustum_tr:t,u_frustum_br:i,u_frustum_bl:r,u_horizon:n,u_transition:o,u_fadeout_range:s,u_color:a,u_high_color:l,u_space_color:c,u_temporal_offset:h,u_horizon_angle:u}))(o.frustumCorners.TL,o.frustumCorners.TR,o.frustumCorners.BR,o.frustumCorners.BL,o.frustumCorners.horizon,a,d,l,c,h,f,g);t.uploadCommonUniforms(r,u);const m=this.atmosphereBuffer;m&&u.draw(t,n.TRIANGLES,s,It.disabled,e?this.colorModeWriteAlpha:this.colorModeAlphaBlendedWriteRGB,Rt.backCW,p,e?"atmosphere_glow_alpha":"atmosphere_glow",m.vertexBuffer,m.indexBuffer,m.segments)};y(!1),y(!0)}drawStars(t,i){const r=e.ad(i.properties.get("star-intensity"),0,1);if(0===r)return;const n=t.context,o=n.gl,s=t.transform,a=t.getOrCreateProgram("stars"),l=e.bl.identity([]);e.bl.rotateX(l,l,-s._pitch),e.bl.rotateZ(l,l,-s.angle),e.bl.rotateX(l,l,e.bm(s._center.lat)),e.bl.rotateY(l,l,-e.bm(s._center.lng));const c=e.a9.fromQuat(new Float32Array(16),l),h=e.a9.multiply([],s.starsProjMatrix,c),u=e.ct.fromMat4([],c),d=e.ct.invert([],u),p=[0,1,0];e.Q.transformMat3(p,p,d),e.Q.scale(p,p,this.params.sizeMultiplier);const f=[1,0,0];e.Q.transformMat3(f,f,d),e.Q.scale(f,f,this.params.sizeMultiplier);const m=(_=p,g=f,y=r,{u_matrix:Float32Array.from(h),u_up:_,u_right:g,u_intensity_multiplier:y});var _,g,y;t.uploadCommonUniforms(n,a),this.starsVx&&this.starsIdx&&a.draw(t,o.TRIANGLES,Mt.disabled,It.disabled,this.colorModeAlphaBlendedWriteRGB,Rt.disabled,m,"atmosphere_stars",this.starsVx,this.starsIdx,this.starsSegments)}}function Bo(t,i){const r=[...t],n=i.cameraWorldSizeForFog/i.worldSize,o=e.a9.identity([]);return e.a9.scale(o,o,[n,n,1]),e.a9.multiply(r,o,r),e.a9.multiply(r,i.worldToFogMatrix,r),r}function Fo(e,t,i,r){const n=i.material,o=r.context,{baseColorTexture:s,metallicRoughnessTexture:a}=n.pbrMetallicRoughness,{normalTexture:l,occlusionTexture:c,emissionTexture:h}=n;function u(t,i,r){if(t&&(e.push(i),o.activeTexture.set(o.gl.TEXTURE0+r),t.gfxTexture)){const{minFilter:e,magFilter:i,wrapS:r,wrapT:n}=t.sampler;t.gfxTexture.bindExtraParam(e,i,r,n)}}u(s,"HAS_TEXTURE_u_baseColorTexture",fr.BaseColor),u(a,"HAS_TEXTURE_u_metallicRoughnessTexture",fr.MetallicRoughness),u(l,"HAS_TEXTURE_u_normalTexture",fr.Normal),u(c,"HAS_TEXTURE_u_occlusionTexture",fr.Occlusion),u(h,"HAS_TEXTURE_u_emissionTexture",fr.Emission),i.texcoordBuffer&&(e.push("HAS_ATTRIBUTE_a_uv_2f"),t.push(i.texcoordBuffer)),i.colorBuffer&&(e.push(12===i.colorBuffer.itemSize?"HAS_ATTRIBUTE_a_color_3f":"HAS_ATTRIBUTE_a_color_4f"),t.push(i.colorBuffer)),i.normalBuffer&&(e.push("HAS_ATTRIBUTE_a_normal_3f"),t.push(i.normalBuffer)),i.pbrBuffer&&(e.push("HAS_ATTRIBUTE_a_pbr"),e.push("HAS_ATTRIBUTE_a_heightBasedEmissiveStrength"),t.push(i.pbrBuffer)),"OPAQUE"!==n.alphaMode&&"MASK"!==n.alphaMode||e.push("UNPREMULT_TEXTURE_IN_SHADER"),n.defined||e.push("DIFFUSE_SHADED"),e.push("USE_STANDARD_DERIVATIVES")}function No(t,i,r,n,o,s){const a=r.paint.get("model-opacity"),l=i.context,c=new Mt(i.context.gl.LEQUAL,Mt.ReadWrite,i.depthRangeFor3D),h=i.transform,u=t.mesh,d=u.material,p=d.pbrMetallicRoughness,f=i.style.fog;let m;m="pixels"===i.transform.projection.zAxisUnit?[...t.nodeModelMatrix]:e.a9.multiply([],n.zScaleMatrix,t.nodeModelMatrix),e.a9.multiply(m,n.negCameraPosMatrix,m);const _=e.a9.invert([],m);e.a9.transpose(_,_);const g=r.paint.get("model-emissive-strength").constantOr(0),y=$n(new Float32Array(t.worldViewProjection),new Float32Array(m),new Float32Array(_),null,i,a,p.baseColorFactor,d.emissiveFactor,p.metallicFactor,p.roughnessFactor,d,g,r),x={defines:[]},v=[];Fo(x.defines,v,u,i);const b=i.shadowRenderer;b&&(b.useNormalOffset=!1);let w=null;if(f){const e=Bo(t.nodeModelMatrix,i.transform);if(w=new Float32Array(e),"globe"!==h.projection.name){const t=u.aabb.min,i=u.aabb.max,[r,n]=f.getOpacityForBounds(e,t[0],t[1],i[0],i[1]);x.overrideFog=r>=pe||n>=pe}}const T=mr(i,r.paint.get("model-cutoff-fade-range"));T.shouldRenderCutoff&&x.defines.push("RENDER_CUTOFF");const E=i.getOrCreateProgram("model",x);i.uploadCommonUniforms(l,E,null,w,T),"shadow"!==i.renderPass&&b&&b.setupShadowsFromMatrix(t.nodeModelMatrix,E),E.draw(i,l.gl.TRIANGLES,c,o,s,u.material.doubleSided?Rt.disabled:Rt.backCCW,y,r.id,u.vertexBuffer,u.indexBuffer,u.segments,r.paint,i.transform.zoom,void 0,v)}function Vo(t,i,r,n,o,s,a){let l;l="globe"===t.projection.name?e.c_(r,t):[...r],e.a9.multiply(l,l,i.matrix);const c=e.a9.multiply([],n,l);if(i.meshes)for(const h of i.meshes){if("BLEND"!==h.material.alphaMode){a.push({mesh:h,depth:0,modelIndex:o,worldViewProjection:c,nodeModelMatrix:l});continue}const t=e.Q.transformMat4([],h.centroid,c);t[2]>0&&s.push({mesh:h,depth:t[2],modelIndex:o,worldViewProjection:c,nodeModelMatrix:l})}if(i.children)for(const e of i.children)Vo(t,e,r,n,o,s,a)}function Uo(e,t,i,r){const n=i.shadowRenderer;if(!n)return;const o=n.getShadowPassDepthMode(),s=n.getShadowPassColorMode(),a=n.calculateShadowPassMatrixFromMatrix(t),l=Wn(a);i.getOrCreateProgram("modelDepth",{defines:i._shadowMapDebug?[]:["DEPTH_TEXTURE"]}).draw(i,i.context.gl.TRIANGLES,o,It.disabled,s,Rt.backCCW,l,r.id,e.vertexBuffer,e.indexBuffer,e.segments,r.paint,i.transform.zoom,void 0,void 0)}function jo(t,i,r){const n=i.updateZoomBasedPaintProperties(),o=function(t,i,r){let n,o,s,a=t.terrain?t.terrain.exaggeration():0;if(t.terrain&&a>0){const i=t.terrain,o=i.findDEMTileFor(r);o&&o.dem?n=e.d0.create(i,r,o):a=0}if(0===a&&(i.terrainElevationMin=0,i.terrainElevationMax=0),a===i.validForExaggeration&&(0===a||n&&n._demTile&&n._demTile.tileID===i.validForDEMTile.id&&n._dem._timestamp===i.validForDEMTile.timestamp))return!1;for(const e in i.instancesPerModel){const t=i.instancesPerModel[e];for(let e=0;eh&&(h=e.max)}const u=e.ad(n.x,s,a)-n.x,d=e.ad(n.y,l,c)-n.y,p=e.bo(h,i.center.lat)-n.z;return i._zoomFromMercatorZ(Math.sqrt(u*u+d*d+p*p))}function Zo(e,t,i,r,n,o,s){const a=e.context,l="shadow"===e.renderPass,c=e.shadowRenderer,h=l&&c?c.getShadowPassDepthMode():new Mt(a.gl.LEQUAL,Mt.ReadWrite,e.depthRangeFor3D),u=e.isTileAffectedByFog(o);if(i.meshes)for(const d of i.meshes){const p=["MODEL_POSITION_ON_GPU"],f=[];let m,_,g;r.instancedDataArray.length>20&&p.push("INSTANCED_ARRAYS");const y=mr(e,t.paint.get("model-cutoff-fade-range"));if(y.shouldRenderCutoff&&p.push("RENDER_CUTOFF"),l&&c)m=e.getOrCreateProgram("modelDepth",{defines:p}),_=Wn(s.shadowTileMatrix,s.shadowTileMatrix,Float32Array.from(i.matrix)),g=c.getShadowPassColorMode();else{Fo(p,f,d,e),m=e.getOrCreateProgram("model",{defines:p,overrideFog:u});const r=d.material,l=r.pbrMetallicRoughness,h=t.paint.get("model-opacity"),x=t.paint.get("model-emissive-strength").constantOr(0);_=$n(o.expandedProjMatrix,Float32Array.from(i.matrix),new Float32Array(16),null,e,h,l.baseColorFactor,r.emissiveFactor,l.metallicFactor,l.roughnessFactor,r,x,t,n),c&&(s.shadowUniformsInitialized?m.setShadowUniformValues(a,c.getShadowUniformValues()):(c.setupShadows(o.toUnwrapped(),m,"model-tile",o.overscaledZ),s.shadowUniformsInitialized=!0)),g=y.shouldRenderCutoff||h<1||"OPAQUE"!==r.alphaMode?Pt.alphaBlended:Pt.unblended}e.uploadCommonUniforms(a,m,o.toUnwrapped(),null,y);const x=d.material.doubleSided?Rt.disabled:Rt.backCCW;if(r.instancedDataArray.length>20)f.push(r.instancedDataBuffer),m.draw(e,a.gl.TRIANGLES,h,It.disabled,g,x,_,t.id,d.vertexBuffer,d.indexBuffer,d.segments,t.paint,e.transform.zoom,void 0,f,r.instancedDataArray.length);else{const i=l?"u_instance":"u_normal_matrix";for(let n=0;n30&&(i.buf.destroy(),this._storage.delete(t))}destroy(){for(const[e,t]of this._storage)t.buf.destroy(),this._storage.delete(e)}}const Xo={symbol:function(t,i,r,n,o){if("translucent"!==t.renderPass)return;const s=It.disabled,a=t.colorModeForRenderPass();r.layout.get("text-variable-anchor")&&function(t,i,r,n,o,s,a){const l=i.transform,c="map"===o,h="map"===s;for(const u of t){const t=n.getTile(u),i=t.getBucket(r);if(!i||!i.text||!i.text.segments.get().length)continue;const o=e.b8(i.textSizeData,l.zoom),s=Di(u,i.getProjection(),l),d=l.calculatePixelsToTileUnitsMatrix(t),p=pi(s,t.tileID.canonical,h,c,l,i.getProjection(),d),f=i.hasIconTextFit()&&i.hasIconData();if(o){const r=Math.pow(2,l.zoom-t.tileID.overscaledZ);eo(i,c,h,a,e.cE,l,p,u,r,o,f)}}}(n,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),o);const l=0!==r.paint.get("icon-opacity").constantOr(1),c=0!==r.paint.get("text-opacity").constantOr(1);void 0!==r.layout.get("symbol-sort-key").constantOr(1)&&(l||c)?to(t,i,r,n,s,a):(l&&to(t,i,r,n,s,a,{onlyIcons:!0}),c&&to(t,i,r,n,s,a,{onlyText:!0})),i.map.showCollisionBoxes&&(Xn(t,i,r,n,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),!0),Xn(t,i,r,n,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),!1))},circle:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("circle-opacity"),s=r.paint.get("circle-stroke-width"),a=r.paint.get("circle-stroke-opacity"),l=void 0!==r.layout.get("circle-sort-key").constantOr(1),c=r.paint.get("circle-emissive-strength");if(0===o.constantOr(1)&&(0===s.constantOr(1)||0===a.constantOr(1)))return;const h=t.context,u=h.gl,d=t.transform,p=t.depthModeForSublayer(0,Mt.ReadOnly),f=It.disabled,m=t.colorModeForDrapableLayerRenderPass(c),_="globe"===d.projection.name,g=[e.a8(d.center.lng),e.ah(d.center.lat)],y=[];for(let v=0;ve.sortKey-t.sortKey));const x={useDepthForOcclusion:d.depthOcclusionForSymbolsAndCircles};for(const e of y){const{programConfiguration:i,program:n,layoutVertexBuffer:o,globeExtVertexBuffer:s,indexBuffer:a,uniformValues:l,tile:c}=e.state,_=e.segments;t.terrain&&t.terrain.setupElevationDraw(c,n,x),t.uploadCommonUniforms(h,n,c.tileID.toUnwrapped()),n.draw(t,u.TRIANGLES,p,f,m,Rt.disabled,l,r.id,o,a,_,r.paint,d.zoom,i,[s])}},heatmap:function(t,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const o=t.context,s=o.gl,a=It.disabled,l=new Pt([s.ONE,s.ONE,s.ONE,s.ONE],e.aA.transparent,[!0,!0,!0,!0]);!function(e,t,i,r){const n=e.gl,o=t.width*r,s=t.height*r;e.activeTexture.set(n.TEXTURE1),e.viewport.set([0,0,o,s]);let a=i.heatmapFbo;if(!a||a&&(a.width!==o||a.height!==s)){a&&a.destroy();const t=n.createTexture();n.bindTexture(n.TEXTURE_2D,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=i.heatmapFbo=e.createFramebuffer(o,s,!0,null),function(e,t,i,r,n,o){const s=e.gl;s.texImage2D(s.TEXTURE_2D,0,e.extRenderToTextureHalfFloat?s.RGBA16F:s.RGBA,n,o,0,s.RGBA,e.extRenderToTextureHalfFloat?s.HALF_FLOAT:s.UNSIGNED_BYTE,null),r.colorAttachment.set(i)}(e,0,t,a,o,s)}else n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),e.bindFramebuffer.set(a.framebuffer)}(o,t,r,"globe"===t.transform.projection.name?.5:.25),o.clear({color:e.aA.transparent});const c=t.transform,h="globe"===c.projection.name,u=h?["PROJECTION_GLOBE_VIEW"]:[],d=h?Rt.frontCCW:Rt.disabled,p=[e.a8(c.center.lng),e.ah(c.center.lat)];for(let e=0;e({u_image:0,u_color_ramp:1,u_opacity:t.paint.get("heatmap-opacity")}))(0,i),i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom)}(t,r))},line:function(t,i,r,n){if("translucent"!==t.renderPass)return;const o=r.paint.get("line-opacity"),s=r.paint.get("line-width");if(0===o.constantOr(1)||0===s.constantOr(1))return;const a=r.paint.get("line-emissive-strength"),l=t.depthModeForSublayer(0,Mt.ReadOnly),c=t.colorModeForDrapableLayerRenderPass(a),h=t.terrain&&t.terrain.renderingToTexture?1:e.f.devicePixelRatio,u=r.paint.get("line-dasharray"),d=u.constantOr(1),p=r.layout.get("line-cap"),f=r.paint.get("line-pattern"),m=f.constantOr(1),_=1!==r.paint.get("line-opacity").constantOr(1);let g=!m&&_;const y=r.paint.get("line-gradient"),x=m?"linePattern":"line",v=t.context,b=v.gl,w=e.cH(r);t.terrain&&t.terrain.clipOrMaskOverlapStencilType()&&(g=!1);for(const T of n){const n=i.getTile(T);if(m&&!n.patternsLoaded())continue;const o=n.getBucket(r);if(!o)continue;t.prepareDrawTile();const s=o.programConfigurations.get(r.id),a=t.isTileAffectedByFog(T),_=t.getOrCreateProgram(x,{config:s,defines:w,overrideFog:a}),E=f.constantOr(null);if(E&&n.imageAtlas){const e=n.imageAtlas.patternPositions[E.toString()];e&&s.setConstantPatternPositions(e)}const S=u.constantOr(null),M=p.constantOr(null);if(!m&&S&&M&&n.lineAtlas){const e=n.lineAtlas.getDash(S,M);e&&s.setConstantPatternPositions(e)}let[A,I]=r.paint.get("line-trim-offset");if("round"===M||"square"===M){const e=1;A!==I&&(0===A&&(A-=e),1===I&&(I+=e))}const C=t.terrain?T.projMatrix:null,P=m?e.cI(t,n,r,C,h,[A,I]):e.cJ(t,n,r,C,o.lineClipsArray.length,h,[A,I]);if(y){const n=o.gradients[r.id];let s=n.texture;if(r.gradientVersion!==n.version){let a=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=T.canonical.z===r?Math.ceil(1<{_.draw(t,b.TRIANGLES,l,e,c,Rt.disabled,P,r.id,o.layoutVertexBuffer,o.indexBuffer,o.segments,r.paint,t.transform.zoom,s,[o.layoutVertexBuffer2,o.patternVertexBuffer])};if(g){const e=t.stencilModeForClipping(T).ref;0===e&&t.terrain&&v.clear({stencil:0});const i={func:b.EQUAL,mask:255};P.u_alpha_discard_threshold=.8,z(new It(i,e,255,b.KEEP,b.KEEP,b.INVERT)),P.u_alpha_discard_threshold=0,z(new It(i,e,255,b.KEEP,b.KEEP,b.KEEP))}else z(t.stencilModeForClipping(T))}g&&(t.resetStencilClippingMasks(),t.terrain&&v.clear({stencil:0}))},fill:function(t,i,r,n){const o=r.paint.get("fill-color"),s=r.paint.get("fill-opacity");if(0===s.constantOr(1))return;const a=r.paint.get("fill-emissive-strength"),l=t.colorModeForDrapableLayerRenderPass(a),c=r.paint.get("fill-pattern"),h=t.opaquePassEnabledForLayer()&&!c.constantOr(1)&&1===o.constantOr(e.aA.transparent).a&&1===s.constantOr(0)?"opaque":"translucent";if(t.renderPass===h){const e=t.depthModeForSublayer(1,"opaque"===t.renderPass?Mt.ReadWrite:Mt.ReadOnly);ro(t,i,r,n,e,l,!1)}if("translucent"===t.renderPass&&r.paint.get("fill-antialias")){const e=t.depthModeForSublayer(r.getPaintProperty("fill-outline-color")?2:0,Mt.ReadOnly);ro(t,i,r,n,e,l,!0)}},"fill-extrusion":function(t,i,r,n){const o=r.paint.get("fill-extrusion-opacity"),s=t.context,a=s.gl,l=t.terrain,c=l&&l.renderingToTexture;if(0===o)return;const h=t.conflationActive&&t.layerUsedInConflation(r,i.getSource());if(h&&function(e,t,i,r){for(const n of r){const r=t.getTile(n).getBucket(i);r&&(r.updateReplacement(n,e.replacementSource),r.uploadCentroid(e.context))}}(t,i,r,n),l||h)for(const e of n){const n=i.getTile(e).getBucket(r);n&&so(t.context,i,e,n,r,l,h)}if("shadow"===t.renderPass&&t.shadowRenderer){const s=t.shadowRenderer;if(l&&o<.65&&r._transitionablePaint._values["fill-extrusion-opacity"].value.expression instanceof e.Z)return;const a=s.getShadowPassDepthMode(),c=s.getShadowPassColorMode();no(t,i,r,n,a,It.disabled,c,h)}else if("translucent"===t.renderPass){const u=!r.paint.get("fill-extrusion-pattern").constantOr(1),d=r.paint.get("fill-extrusion-color").constantOr(e.aA.white);if(!c&&0!==d.a){const e=new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);1===o&&u?no(t,i,r,n,e,It.disabled,Pt.unblended,h):(no(t,i,r,n,e,It.disabled,Pt.disabled,h),no(t,i,r,n,e,t.stencilModeFor3D(),t.colorModeForRenderPass(),h),t.resetStencilClippingMasks())}if(t.style.enable3dLights()&&u&&(!l&&"globe"!==t.transform.projection.name||c)){const o=r.paint.get("fill-extrusion-opacity"),u=r.paint.get("fill-extrusion-ambient-occlusion-intensity"),d=r.paint.get("fill-extrusion-ambient-occlusion-ground-radius"),p=r.paint.get("fill-extrusion-flood-light-intensity"),f=r.paint.get("fill-extrusion-flood-light-color").toArray01().slice(0,3),m=u>0&&d>0,_=p>0,g=(e,t,i)=>(1-i)*e+i*t,y=s=>{const l=t.depthModeForSublayer(1,Mt.ReadOnly,a.LEQUAL,!0),c=r.paint.get(s?"fill-extrusion-ambient-occlusion-ground-attenuation":"fill-extrusion-flood-light-ground-attenuation"),m=g(.1,3,c),_=t._showOverdrawInspector;if(!_){const c=new It({func:a.ALWAYS,mask:255},255,255,a.KEEP,a.KEEP,a.REPLACE),_=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0],a.MIN);oo(t,i,r,n,l,c,_,Rt.disabled,s,"sdf",o,u,d,p,f,m,h,!1)}{const c=_?It.disabled:new It({func:a.EQUAL,mask:255},255,255,a.KEEP,a.DECR,a.DECR),g=_?t.colorModeForRenderPass():new Pt([a.ONE_MINUS_DST_ALPHA,a.DST_ALPHA,a.ONE,a.ONE],e.aA.transparent,[!0,!0,!0,!0]);oo(t,i,r,n,l,c,g,Rt.disabled,s,"color",o,u,d,p,f,m,h,!1)}};if(c){const c=(s,l,c)=>{const m=t.depthModeForSublayer(1,Mt.ReadOnly,a.LEQUAL,!1),_=r.paint.get(s?"fill-extrusion-ambient-occlusion-ground-attenuation":"fill-extrusion-flood-light-ground-attenuation"),y=g(.1,3,_);{const c=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0]);oo(t,i,r,n,m,It.disabled,c,Rt.disabled,s,"clear",o,u,d,p,f,y,h,l)}{const c=new It({func:a.ALWAYS,mask:255},255,255,a.KEEP,a.KEEP,a.REPLACE),_=new Pt([a.ONE,a.ONE,a.ONE,a.ONE],e.aA.transparent,[!1,!1,!1,!0],a.MIN);oo(t,i,r,n,m,c,_,Rt.disabled,s,"sdf",o,u,d,p,f,y,h,l)}{const c=s?a.ZERO:a.ONE_MINUS_DST_ALPHA,_=new It({func:a.EQUAL,mask:255},255,255,a.KEEP,a.DECR,a.DECR),g=new Pt([c,a.DST_ALPHA,a.ONE_MINUS_DST_ALPHA,a.ZERO],e.aA.transparent,[!0,!0,!0,!0]);oo(t,i,r,n,m,_,g,Rt.disabled,s,"color",o,u,d,p,f,y,h,l)}{const _=new Pt([a.ONE,a.ONE,a.ONE,s?a.ZERO:a.ONE],e.aA.transparent,[!1,!1,!1,!0],s?a.FUNC_ADD:a.MAX);oo(t,i,r,n,m,It.disabled,_,Rt.disabled,s,"clear",o,u,d,p,f,y,h,l,c)}};if(m||_){let i;if(t.prepareDrawTile(),l){const t=l.drapeBufferSize[0],r=l.drapeBufferSize[1];i=l.framebufferCopyTexture,i&&(!i||i.size[0]===t&&i.size[1]===r)||(i&&i.destroy(),i=l.framebufferCopyTexture=new e.T(s,new e.h({width:t,height:r}),a.RGBA)),i.bind(a.LINEAR,a.CLAMP_TO_EDGE),a.copyTexImage2D(a.TEXTURE_2D,0,a.RGBA,0,0,t,r,0)}m&&c(!0,!1,i),_&&c(!1,!0,i)}}else m&&y(!0),_&&y(!1)}}},hillshade:function(e,t,i,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;if(e.style.disableElevatedTerrain)return;const n=e.context,o=e.terrain&&e.terrain.renderingToTexture,[s,a]="translucent"!==e.renderPass||o?[{},r]:e.stencilConfigForOverlap(r);for(const l of a){const r=t.getTile(l);if(r.needsHillshadePrepare&&"offscreen"===e.renderPass)Jr(e,r,i);else if("translucent"===e.renderPass){const t=e.depthModeForSublayer(0,Mt.ReadOnly),n=i.paint.get("hillshade-emissive-strength"),a=e.colorModeForDrapableLayerRenderPass(n),c=o&&e.terrain?e.terrain.stencilModeForRTTOverlap(l):s[l.overscaledZ];Yr(e,l,r,i,t,c,a)}}n.viewport.set([0,0,e.width,e.height]),e.resetStencilClippingMasks()},raster:function(t,i,r,n,o,s){if("translucent"!==t.renderPass)return;if(0===r.paint.get("raster-opacity"))return;const a="globe"===t.transform.projection.name,l=0!==r.paint.get("raster-elevation"),c=l&&a;if(t.renderElevatedRasterBackface&&!c)return;const h=t.context,u=h.gl,d=i.getSource(),p=function(t,i,r,n){const o=i.paint.get("raster-color"),s="raster-array"===t.type,a=[],l=i.paint.get("raster-resampling"),c=i.paint.get("raster-color-mix");let h=i.paint.get("raster-color-range");const u=[c[0],c[1],c[2],0],d=c[3];let p="nearest"===l?n.NEAREST:n.LINEAR;if(s&&(a.push("RASTER_ARRAY"),o||a.push("RASTER_COLOR"),"linear"===l&&a.push("RASTER_ARRAY_LINEAR"),p=n.NEAREST,!h&&t.rasterLayers)){const e=t.rasterLayers.find((e=>{let{id:t}=e;return t===i.sourceLayer}));e&&e.fields&&e.fields.range&&(h=e.fields.range)}if(h=h||[0,1],o){a.push("RASTER_COLOR"),r.activeTexture.set(n.TEXTURE2),i.updateColorRamp(h);let t=i.colorRampTexture;t||(t=i.colorRampTexture=new e.T(r,i.colorRamp,n.RGBA)),t.bind(n.LINEAR,n.CLAMP_TO_EDGE)}return{mix:u,range:h,offset:d,defines:a,resampling:p}}(d,r,h,u);if(d instanceof e.as&&!n.length&&!a)return;const f=r.paint.get("raster-emissive-strength"),m=t.colorModeForDrapableLayerRenderPass(f),_=t.terrain&&t.terrain.renderingToTexture,g=!t.options.moving,y="nearest"===r.paint.get("raster-resampling")?u.NEAREST:u.LINEAR;if(d instanceof e.as&&!n.length&&(d.onNorthPole||d.onSouthPole)){const e=l?t.stencilModeFor3D():It.disabled;return void po(!!d.onNorthPole,null,t,i,r,f,p,Rt.disabled,e)}if(!n.length)return;const[x,v]=d instanceof e.as||_?[{},n]:t.stencilConfigForOverlap(n),b=v[v.length-1].overscaledZ;c&&p.defines.push("PROJECTION_GLOBE_VIEW"),l&&p.defines.push("RENDER_CUTOFF");const w=(n,o,v)=>{for(const w of n){const n=w.toUnwrapped(),T=i.getTile(w);if(_&&(!T||!T.hasData()))continue;h.activeTexture.set(u.TEXTURE0);const E=mo(T,d,r,p);if(!E||!E.texture)continue;const{texture:S,mix:M,offset:A,tileSize:I,buffer:C}=E;let P,z;_?(P=Mt.disabled,z=w.projMatrix):l?(P=new Mt(u.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D),z=a?Float32Array.from(t.transform.expandedFarZProjMatrix):t.transform.calculateProjMatrix(n,g)):(P=t.depthModeForSublayer(w.overscaledZ-b,1===r.paint.get("raster-opacity")?Mt.ReadWrite:Mt.ReadOnly,u.LESS),z=t.transform.calculateProjMatrix(n,g));const D=t.terrain&&_?t.terrain.stencilModeForRTTOverlap(w):x[w.overscaledZ],R=s?0:r.paint.get("raster-fade-duration");T.registerFadeDuration(R);const L=i.findLoadedParent(w,0),k=hn(T,L,i,t.transform,R);let O,B;t.terrain&&t.terrain.prepareDrawTile(),h.activeTexture.set(u.TEXTURE0),S.bind(y,u.CLAMP_TO_EDGE),h.activeTexture.set(u.TEXTURE1),L?(L.texture&&L.texture.bind(y,u.CLAMP_TO_EDGE),O=Math.pow(2,L.tileID.overscaledZ-T.tileID.overscaledZ),B=[T.tileID.canonical.x*O%1,T.tileID.canonical.y*O%1]):S.bind(y,u.CLAMP_TO_EDGE),S.useMipmap&&h.extTextureFilterAnisotropic&&t.transform.pitch>20&&u.texParameterf(u.TEXTURE_2D,h.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,h.extTextureFilterAnisotropicMax);const F=t.transform;let N;const V=l?fo(F):[0,0,0,0];let U,j,G,q,Z,$=0;if(c&&d instanceof e.as&&d.coordinates.length>3)U=Float32Array.from(e.aW(e.cn(new e.bv(0,0,0)))),j=Float32Array.from(F.globeMatrix),G=Float32Array.from(e.cj(F)),q=[e.a8(F.center.lng),e.ah(F.center.lat)],N=d.elevatedGlobePerspectiveTransform,Z=d.elevatedGlobeGridMatrix||new Float32Array(9);else if(c){const t=e.ck(w.canonical);$=e.cl(t.getCenter().lat),U=Float32Array.from(e.aW(e.cn(w.canonical))),j=Float32Array.from(F.globeMatrix),G=Float32Array.from(e.cj(F)),q=[e.a8(F.center.lng),e.ah(F.center.lat)],N=[0,0],Z=Float32Array.from(e.cm(w.canonical,t,$,F.worldSize/F._pixelsPerMercatorPixel))}else N=d instanceof e.as?d.perspectiveTransform:[0,0],U=new Float32Array(16),j=new Float32Array(9),G=new Float32Array(16),q=[0,0],Z=new Float32Array(9);const W=Ln(z,U,j,G,Z,B||[0,0],e.W(t.transform.zoom),q,V,O||1,k,r,N,l?r.paint.get("raster-elevation"):0,2,M,A,p.range,I,C,f),Q=t.isTileAffectedByFog(w),H=t.getOrCreateProgram("raster",{defines:p.defines,overrideFog:Q});if(t.uploadCommonUniforms(h,H,n),d instanceof e.as){const i=d.elevatedGlobeVertexBuffer,n=d.elevatedGlobeIndexBuffer;if(_||!a)d.boundsBuffer&&d.boundsSegments&&H.draw(t,u.TRIANGLES,P,It.disabled,m,Rt.disabled,W,r.id,d.boundsBuffer,t.quadTriangleIndexBuffer,d.boundsSegments);else if(i&&n){const s=F.zoom<=e.bJ?d.elevatedGlobeSegments:d.getSegmentsForLongitude(F.center.lng);s&&H.draw(t,u.TRIANGLES,P,It.disabled,m,o,W,r.id,i,n,s)}}else if(c){P=new Mt(u.LEQUAL,Mt.ReadOnly,t.depthRangeFor3D);const e=t.globeSharedBuffers;if(e){const[i,n,s]=e.getGridBuffers($,!1);H.draw(t,u.TRIANGLES,P,v||D,t.colorModeForRenderPass(),o,W,r.id,i,n,s)}}else{const{tileBoundsBuffer:e,tileBoundsIndexBuffer:i,tileBoundsSegments:n}=t.getTileBoundsBuffers(T);H.draw(t,u.TRIANGLES,P,D,m,Rt.disabled,W,r.id,e,i,n)}}if(!(d instanceof e.as)&&c)for(const e of n){const n=e.canonical.y===(1<e.cN[t](n)));f.push(n);const m=n.canonical.x,_=n.canonical.y;for(const e of f){const o=i.getTile(l?e.wrapped():e);if(!o)continue;const a=o.rasterParticleState;if(!a)continue;const h=e.canonical.x+(1<e.tileID))),u&&(a.activeTexture.set(l.TEXTURE0),e.imageManager.bind(e.context,i.scope));for(const x of y){const d=e.isTileAffectedByFog(x),y=e.getOrCreateProgram(_,{overrideFog:d}),v=x.toUnwrapped(),b=r?x.projMatrix:e.transform.calculateProjMatrix(v);e.prepareDrawTile();const w=t?t.getTile(x):g?g[x.key]:new Nt(x,h,c.zoom,e),T=u?qn(b,s,o,e,u,i.scope,{tileID:x,tileSize:h}):Gn(b,s,o,n);e.uploadCommonUniforms(a,y,v);const{tileBoundsBuffer:E,tileBoundsIndexBuffer:S,tileBoundsSegments:M}=e.getTileBoundsBuffers(w);y.draw(e,l.TRIANGLES,f,p,m,Rt.disabled,T,i.id,E,S,M)}},sky:function(t,i,r){const n=t._atmosphere?e.W(t.transform.zoom):1,o=r.paint.get("sky-opacity")*n;if(0===o)return;const s=t.context,a=r.paint.get("sky-type"),l=new Mt(s.gl.LEQUAL,Mt.ReadOnly,[0,1]),c=t.frameCounter/1e3%1;"atmosphere"===a?"offscreen"===t.renderPass?r.needsSkyboxCapture(t)&&(function(t,i,r,n){const o=t.context,s=o.gl;let a=i.skyboxFbo;if(!a){a=i.skyboxFbo=o.createFramebuffer(32,32,!0,null),i.skyboxGeometry=new Po(o),i.skyboxTexture=o.gl.createTexture(),s.bindTexture(s.TEXTURE_CUBE_MAP,i.skyboxTexture),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_CUBE_MAP,s.TEXTURE_MAG_FILTER,s.LINEAR);for(let e=0;e<6;++e)s.texImage2D(s.TEXTURE_CUBE_MAP_POSITIVE_X+e,0,s.RGBA,32,32,0,s.RGBA,s.UNSIGNED_BYTE,null)}o.bindFramebuffer.set(a.framebuffer),o.viewport.set([0,0,32,32]);const l=i.getCenter(t,!0),c=t.getOrCreateProgram("skyboxCapture"),h=new Float64Array(16);e.a9.identity(h),e.a9.rotateY(h,h,.5*-Math.PI),zo(t,i,c,h,l,0),e.a9.identity(h),e.a9.rotateY(h,h,.5*Math.PI),zo(t,i,c,h,l,1),e.a9.identity(h),e.a9.rotateX(h,h,.5*-Math.PI),zo(t,i,c,h,l,2),e.a9.identity(h),e.a9.rotateX(h,h,.5*Math.PI),zo(t,i,c,h,l,3),e.a9.identity(h),zo(t,i,c,h,l,4),e.a9.identity(h),e.a9.rotateY(h,h,Math.PI),zo(t,i,c,h,l,5),o.viewport.set([0,0,t.width,t.height])}(t,r),r.markSkyboxValid(t)):"sky"===t.renderPass&&function(e,t,i,r,n){const o=e.context,s=o.gl,a=e.transform,l=e.getOrCreateProgram("skybox");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_CUBE_MAP,t.skyboxTexture);const c=((e,t,i,r,n)=>({u_matrix:e,u_sun_direction:t,u_cubemap:0,u_opacity:r,u_temporal_offset:n}))(a.skyboxMatrix,t.getCenter(e,!1),0,r,n);e.uploadCommonUniforms(o,l),l.draw(e,s.TRIANGLES,i,It.disabled,e.colorModeForRenderPass(),Rt.backCW,c,"skybox",t.skyboxGeometry.vertexBuffer,t.skyboxGeometry.indexBuffer,t.skyboxGeometry.segment)}(t,r,l,o,c):"gradient"===a&&"sky"===t.renderPass&&function(t,i,r,n,o){const s=t.context,a=s.gl,l=t.transform,c=t.getOrCreateProgram("skyboxGradient");i.skyboxGeometry||(i.skyboxGeometry=new Po(s)),s.activeTexture.set(a.TEXTURE0);let h=i.colorRampTexture;h||(h=i.colorRampTexture=new e.T(s,i.colorRamp,a.RGBA)),h.bind(a.LINEAR,a.CLAMP_TO_EDGE);const u=((t,i,r,n,o)=>({u_matrix:t,u_color_ramp:0,u_center_direction:i,u_radius:e.bm(r),u_opacity:n,u_temporal_offset:o}))(l.skyboxMatrix,i.getCenter(t,!1),i.paint.get("sky-gradient-radius"),n,o);t.uploadCommonUniforms(s,c),c.draw(t,a.TRIANGLES,r,It.disabled,t.colorModeForRenderPass(),Rt.backCW,u,"skyboxGradient",i.skyboxGeometry.vertexBuffer,i.skyboxGeometry.indexBuffer,i.skyboxGeometry.segment)}(t,r,l,o,c)},debug:function(t,i,r,n,o,s){for(let a=0;a{a&&(a.useNormalOffset=!0,l||(a.enabled=!0))},h=i.getSource();if("light-beam"===t.renderPass&&"batched-model"!==h.type)return;if("vector"===h.type||"geojson"===h.type)return function(t,i,r,n,o){const s=t.transform;if("mercator"!==s.projection.name)return void e.w(`Drawing 3D models for ${s.projection.name} projection is not yet implemented`);const a=s.getFreeCameraOptions().position;if(!t.modelManager)return;const l=t.modelManager;r.modelManager=l;const c=t.shadowRenderer;if(!r._unevaluatedLayout._values.hasOwnProperty("model-id"))return;const h=r._unevaluatedLayout._values["model-id"],u={...r.layout.get("model-id").parameters};for(const d of n){const n=i.getTile(d).getBucket(r);if(!n||n.projection.name!==s.projection.name)continue;const p=n.getModelUris();p&&!n.modelsRequested&&(l.addModelsFromBucket(p,o),n.modelsRequested=!0);const f=qo(d,s);u.zoom=f;const m=h.possiblyEvaluate(u);if(jo(t,n,d),Go.shadowUniformsInitialized=!1,Go.useSingleShadowCascade=!!c&&0===c.getMaxCascadeForTile(d.toUnwrapped()),"shadow"===t.renderPass&&c){if(1===t.currentShadowCascade&&n.isInsideFirstShadowMapFrustum)continue;const i=s.calculatePosMatrix(d.toUnwrapped(),s.worldSize);if(Go.tileMatrix.set(i),Go.shadowTileMatrix=Float32Array.from(c.calculateShadowPassMatrixFromMatrix(i)),Go.aabb.min.fill(0),Go.aabb.max[0]=Go.aabb.max[1]=e.Y,Go.aabb.max[2]=0,Wo(n,Go,t,r.scope))continue}const _=1<0&&(e=m.evaluate(i.features[0].feature,{}));const s=l.getModel(e,o);if(s&&s.uploaded)for(const e of s.nodes)Zo(t,r,e,i,g,d,Go)}}}(t,i,r,n,"vector"===h.type?r.scope:""),void c();if(!h.loaded())return;if("batched-model"===h.type)return function(t,i,r,n){r.resetLayerRenderingStats(t);const o=t.context,s=t.transform,a=t.style.fog,l=t.shadowRenderer;if("mercator"!==s.projection.name)return void e.w(`Drawing 3D landmark models for ${s.projection.name} projection is not yet implemented`);const c=t.transform.getFreeCameraOptions().position,h=e.Q.scale([],[c.x,c.y,c.z],t.transform.worldSize);e.Q.negate(h,h);const u=e.a9.identity([]),d=e.cZ(s.center.lat,s.zoom),p=e.a9.fromScaling([],[1,1,1/d]);e.a9.translate(u,u,h);const f=r.paint.get("model-opacity"),m=new Mt(o.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D),_=new Mt(o.gl.LEQUAL,Mt.ReadOnly,t.depthRangeFor3D),g=new e.bV([1/0,1/0,1/0],[-1/0,-1/0,-1/0]),y="shadow"===t.renderPass,x=y&&l?l.getCurrentCascadeFrustum():s.getFrustum(s.scaleZoom(s.worldSize)),v=r.getLayerRenderingStats(),b=function(c,h){for(const d of n){const n=i.getTile(d).getBucket(r);if(!n||!n.uploaded)continue;let b=!1;l&&(b=0===l.getMaxCascadeForTile(d.toUnwrapped()));const w=s.calculatePosMatrix(d.toUnwrapped(),s.worldSize),T=n.modelTraits;for(const i of n.getNodesInfo()){if(i.hiddenByReplacement)continue;if(!i.node.meshes)continue;const n=i.evaluatedScale,d=i.node;let E=0;if(t.terrain&&d.elevation&&(E=d.elevation*t.terrain.exaggeration()),n[0]<=1&&n[1]<=1&&n[2]<=1&&0===(()=>{const t=i.getLocalBounds();return g.min=[...t.min],g.max=[...t.max],g.min[2]+=E,g.max[2]+=E,e.Q.transformMat4(g.min,g.min,w),e.Q.transformMat4(g.max,g.max,w),g})().intersects(x))continue;const S=[...w];e.a9.translate(S,S,[(d.anchor?d.anchor[0]:0)*(n[0]-1),(d.anchor?d.anchor[1]:0)*(n[1]-1),E]),e.Q.exactEquals(n,e.c$)||e.a9.scale(S,S,n);const M=e.a9.multiply([],S,d.matrix);let A=e.a9.multiply([],p,S);e.a9.multiply(A,u,A);const I=e.a9.invert([],A);e.a9.transpose(I,I),e.a9.scale(I,I,$o),A=e.a9.multiply(A,A,d.matrix);const C="light-beam"===t.renderPass,P=e.a9.multiply([],s.expandedFarZProjMatrix,M),z=e.a9.multiply([],s.expandedFarZProjMatrix,S),D=T&e.d1.HasMapboxMeshFeatures,R=D?0:i.evaluatedRMEA[0][2];for(let e=0;e=pe||o>=pe}}const T=n.material;let E;T.occlusionTexture&&T.occlusionTexture.offsetScale&&(E=T.occlusionTexture.offsetScale,g.defines.push("OCCLUSION_TEXTURE_TRANSFORM")),!y&&l&&(l.useNormalOffset=!!n.normalBuffer);const L=t.getOrCreateProgram("model",g);!y&&l&&l.setupShadowsFromMatrix(S,L,l.useNormalOffset),t.uploadCommonUniforms(o,L,null,w);const k=T.pbrMetallicRoughness;k.metallicFactor=.9,k.roughnessFactor=.5;const O=$n(new Float32Array(p),new Float32Array(A),new Float32Array(I),new Float32Array(d.matrix),t,f,k.baseColorFactor,T.emissiveFactor,k.metallicFactor,k.roughnessFactor,T,R,r,[0,0,0],E);L.draw(t,o.gl.TRIANGLES,h&&!u?m:_,It.disabled,c?u||f<1||i.hasTranslucentParts?Pt.alphaBlended:Pt.unblended:Pt.disabled,Rt.backCCW,O,r.id,n.vertexBuffer,n.indexBuffer,n.segments,r.paint,t.transform.zoom,void 0,x)}}}};(function(e,t,i,r){const n=e.terrain?e.terrain.exaggeration():0,o=e.transform.zoom;for(const s of r){const r=t.getTile(s).getBucket(i);r&&(e.conflationActive&&r.updateReplacement(s,e.replacementSource),r.evaluateScale(e,i),e.terrain&&n>0&&r.elevationUpdate(e.terrain,n,s,i.source),r.needsReEvaluation(e,o,i)&&r.evaluate(i))}})(t,i,r,n),1===f?b(!0,!0):(b(!1,!0),b(!0,!1))}(t,i,r,n),void c();const u=h.getModels(),d=[],p=t.transform.getFreeCameraOptions().position,f=e.Q.scale([],[p.x,p.y,p.z],t.transform.worldSize);e.Q.negate(f,f);const m=[],_=[];let g=0;for(const y of u){const i=r.paint.get("model-rotation").constantOr(null),n=r.paint.get("model-scale").constantOr(null),o=r.paint.get("model-translation").constantOr(null);y.computeModelMatrix(t,i,n,o,!0,!0,!1);const s=e.a9.identity([]),a=e.cZ(y.position.lat,t.transform.zoom),l=e.a9.fromScaling([],[1,1,1/a]);e.a9.translate(s,s,f),d.push({zScaleMatrix:l,negCameraPosMatrix:s});for(const e of y.nodes)Vo(t.transform,e,y.matrix,t.transform.expandedFarZProjMatrix,g,m,_);g++}if(m.sort(((e,t)=>t.depth-e.depth)),"shadow"!==t.renderPass){if(1===o)for(const e of _)No(e,t,r,d[e.modelIndex],It.disabled,t.colorModeForRenderPass());else{for(const e of _)No(e,t,r,d[e.modelIndex],It.disabled,Pt.disabled);for(const e of _)No(e,t,r,d[e.modelIndex],t.stencilModeFor3D(),t.colorModeForRenderPass());t.resetStencilClippingMasks()}for(const e of m)No(e,t,r,d[e.modelIndex],It.disabled,t.colorModeForRenderPass());c()}else{for(const e of _)Uo(e.mesh,e.nodeModelMatrix,t,r);for(const e of m)Uo(e.mesh,e.nodeModelMatrix,t,r);c()}}},Yo={model:function(e,t,i){const r=t.getSource();if(!r.loaded())return;if("vector"===r.type||"geojson"===r.type)return void(i.modelManager&&i.modelManager.upload(i,"vector"===r.type?e.scope:""));if("batched-model"===r.type)return;const n=r.getModels();for(const o of n)o.upload(i.context)},raster:function(e,t,i){const r=t.getSource();if(!(r instanceof ze&&r.loaded()))return;const n=e.sourceLayer||r.rasterLayerIds&&r.rasterLayerIds[0];if(!n)return;const o=e.paint.get("raster-array-band")||r.getInitialBand(n);if(null==o)return;const s=t.getIds().map((e=>t.getTileByID(e)));for(const a of s)a.updateNeeded(n,o)&&r.prepareTile(a,n,o)},"raster-particle":function(e,t,i){const r=t.getSource();if(!(r instanceof ze&&r.loaded()))return;const n=e.sourceLayer||r.rasterLayerIds&&r.rasterLayerIds[0];if(!n)return;const o=e.paint.get("raster-particle-array-band")||r.getInitialBand(n);if(null==o)return;const s=t.getIds().map((e=>t.getTileByID(e)));for(const a of s)a.updateNeeded(n,o)&&r.prepareTile(a,n,o)}};class Ko{constructor(t,i,r,n){this.context=new Lt(t,i),this.transform=r,this._tileTextures={},this.frameCopies=[],this.loadTimeStamps=[],this.tp=n,this._timeStamp=(new Date).getTime(),this._averageFPS=0,this._fpsHistory=[],this._debugParams={showTerrainProxyTiles:!1,fpsWindow:30,continousRedraw:!1,enabledLayers:{}};const o=["fill","line","symbol","circle","heatmap","fill-extrusion","raster","raster-particle","hillshade","model","background","sky"];for(const e of o)this._debugParams.enabledLayers[e]=!0;n.registerParameter(this._debugParams,["Terrain"],"showTerrainProxyTiles",{},(()=>{this.style.map.triggerRepaint()})),n.registerParameter(this._debugParams,["FPS"],"fpsWindow",{min:1,max:100,step:1}),n.registerBinding(this._debugParams,["FPS"],"continousRedraw",{readonly:!0,label:"continuous redraw"}),n.registerBinding(this,["FPS"],"_averageFPS",{readonly:!0,label:"value"}),n.registerBinding(this,["FPS"],"_averageFPS",{readonly:!0,label:"graph",view:"graph",min:0,max:200});for(const e of o)n.registerParameter(this._debugParams.enabledLayers,["Debug","Layers"],e);this.setup(),this.numSublayers=Qt.maxUnderzooming+Qt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.deferredRenderGpuTimeQueries=[],this.gpuTimers={},this.frameCounter=0,this._backgroundTiles={},this.conflationActive=!1,this.replacementSource=new e.d3,this.longestCutoffRange=0,this.minCutoffZoom=0,this._fogVisible=!1,this._cachedTileFogOpacities={},this._shadowRenderer=new xr(this),this._wireframeDebugCache=new Ho,this.renderDefaultNorthPole=!0,this.renderDefaultSouthPole=!0}updateTerrain(e,t){const i=!!e&&!!e.terrain&&this.transform.projection.supportsTerrain;if(!(i||this._terrain&&this._terrain.enabled))return;this._terrain||(this._terrain=new fn(this,e));const r=this._terrain;this.transform.elevation=i?r:null,r.update(e,this.transform,t),this.transform.elevation&&!r.enabled&&(this.transform.elevation=null)}_updateFog(e){const t=e.fog;if(!t||"globe"===this.transform.projection.name||t.getOpacity(this.transform.pitch)<1||t.properties.get("horizon-blend")<.03)return void(this.transform.fogCullDistSq=null);const[i,r]=t.getFovAdjustedRange(this.transform._fov);if(i>r)return void(this.transform.fogCullDistSq=null);const n=i+.78*(r-i);this.transform.fogCullDistSq=n*n}get terrain(){return this.transform._terrainEnabled()&&this._terrain&&this._terrain.enabled?this._terrain:null}get shadowRenderer(){return this._shadowRenderer&&this._shadowRenderer.enabled?this._shadowRenderer:null}get wireframeDebugCache(){return this._wireframeDebugCache}resize(t,i){if(this.width=t*e.f.devicePixelRatio,this.height=i*e.f.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const e of this.style.order)this.style._mergedLayers[e].resize()}setup(){const t=this.context,i=new e.aQ;i.emplaceBack(0,0),i.emplaceBack(e.Y,0),i.emplaceBack(0,e.Y),i.emplaceBack(e.Y,e.Y),this.tileExtentBuffer=t.createVertexBuffer(i,e.aS.members),this.tileExtentSegments=e.aE.simpleSegment(0,0,4,2);const r=new e.aQ;r.emplaceBack(0,0),r.emplaceBack(e.Y,0),r.emplaceBack(0,e.Y),r.emplaceBack(e.Y,e.Y),this.debugBuffer=t.createVertexBuffer(r,e.aS.members),this.debugSegments=e.aE.simpleSegment(0,0,4,5);const n=new e.aQ;n.emplaceBack(-1,-1),n.emplaceBack(1,-1),n.emplaceBack(-1,1),n.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(n,e.aS.members),this.viewportSegments=e.aE.simpleSegment(0,0,4,2);const o=new e.ay;o.emplaceBack(0,0,0,0),o.emplaceBack(e.Y,0,e.Y,0),o.emplaceBack(0,e.Y,0,e.Y),o.emplaceBack(e.Y,e.Y,e.Y,e.Y),this.mercatorBoundsBuffer=t.createVertexBuffer(o,e.aU.members),this.mercatorBoundsSegments=e.aE.simpleSegment(0,0,4,2);const s=new e.az;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const a=new e.aR;for(const e of[0,1,3,2,0])a.emplaceBack(e);this.debugIndexBuffer=t.createIndexBuffer(a),this.emptyTexture=new e.T(t,new e.h({width:1,height:1},Uint8Array.of(0,0,0,0)),t.gl.RGBA),this.identityMat=e.a9.create();const l=this.context.gl;this.stencilClearMode=new It({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO),this.loadTimeStamps.push(performance.now())}getMercatorTileBoundsBuffers(){return{tileBoundsBuffer:this.mercatorBoundsBuffer,tileBoundsIndexBuffer:this.quadTriangleIndexBuffer,tileBoundsSegments:this.mercatorBoundsSegments}}getTileBoundsBuffers(e){return e._makeTileBoundsBuffers(this.context,this.transform.projection),e._tileBoundsBuffer?{tileBoundsBuffer:e._tileBoundsBuffer,tileBoundsIndexBuffer:e._tileBoundsIndexBuffer,tileBoundsSegments:e._tileBoundsSegments}:this.getMercatorTileBoundsBuffers()}clearStencil(){const e=this.context.gl;this.nextStencilID=1,this.currentStencilSource=void 0,this._tileClippingMaskIDs={},this.getOrCreateProgram("clippingMask").draw(this,e.TRIANGLES,Mt.disabled,this.stencilClearMode,Pt.disabled,Rt.disabled,cn(this.identityMat),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}resetStencilClippingMasks(){this.terrain||(this.currentStencilSource=void 0,this._tileClippingMaskIDs={})}_renderTileClippingMasks(e,t,i){if(!t||this.currentStencilSource===t.id||!e.isTileClipped()||!i||0===i.length)return;if(this._tileClippingMaskIDs&&!this.terrain){let e=!1;for(const t of i)if(void 0===this._tileClippingMaskIDs[t.key]){e=!0;break}if(!e)return}this.currentStencilSource=t.id;const r=this.context,n=r.gl;this.nextStencilID+i.length>256&&this.clearStencil(),r.setColorMode(Pt.disabled),r.setDepthMode(Mt.disabled);const o=this.getOrCreateProgram("clippingMask");this._tileClippingMaskIDs={};for(const s of i){const e=t.getTile(s),i=this._tileClippingMaskIDs[s.key]=this.nextStencilID++,{tileBoundsBuffer:r,tileBoundsIndexBuffer:a,tileBoundsSegments:l}=this.getTileBoundsBuffers(e);o.draw(this,n.TRIANGLES,Mt.disabled,new It({func:n.ALWAYS,mask:0},i,255,n.KEEP,n.KEEP,n.REPLACE),Pt.disabled,Rt.disabled,cn(s.projMatrix),"$clipping",r,a,l)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,t=this.context.gl;return new It({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){if(this.terrain)return this.terrain.stencilModeForRTTOverlap(e);const t=this.context.gl;return new It({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){const t=this.context.gl,i=e.sort(((e,t)=>t.overscaledZ-e.overscaledZ)),r=i[i.length-1].overscaledZ,n=i[0].overscaledZ-r+1;if(n>1){this.currentStencilSource=void 0,this.nextStencilID+n>256&&this.clearStencil();const e={};for(let i=0;ithis.style&&this.style.enable3dLights()&&this.terrain&&this.terrain.renderingToTexture)()&&"translucent"===this.renderPass?new Pt([i.ONE,i.ONE_MINUS_SRC_ALPHA,i.CONSTANT_ALPHA,i.ONE_MINUS_SRC_ALPHA],new e.aA(0,0,0,void 0===t?0:t),[!0,!0,!0,!0]):this.colorModeForRenderPass()}depthModeForSublayer(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!this.opaquePassEnabledForLayer()&&!r)return Mt.disabled;const n=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new Mt(i||this.context.gl.LEQUAL,t,[n,n])}opaquePassEnabledForLayer(){return this.currentLayerthis._debugParams.fpsWindow&&this._fpsHistory.splice(0,this._fpsHistory.length-this._debugParams.fpsWindow),this._averageFPS=Math.round(this._fpsHistory.reduce(((e,t)=>e+t/this._fpsHistory.length),0))}render(t,i){this._wireframeDebugCache.update(this.frameCounter),this._debugParams.continousRedraw=t.map.repaint,this.style=t,this.options=i;const r=this.style._mergedLayers,n=this.style.order.filter((e=>{const t=r[e];return!(t.type in this._debugParams.enabledLayers)||this._debugParams.enabledLayers[t.type]})),o=n.map((e=>r[e])),s=this.style._mergedSourceCaches;this.imageManager=t.imageManager,this.modelManager=t.modelManager,this.symbolFadeChange=t.placement.symbolFadeChange(e.f.now()),this.imageManager.beginFrame();let a=0,l=!1;for(const e in s){const t=s[e];t.used&&(t.prepare(this.context),t.getSource().usedInConflation&&++a)}for(const e of o)e.isHidden(this.transform.zoom)||this.prepareLayer(e);const c={},h={},u={},d={},p={};for(const e in s){const t=s[e];c[e]=t.getVisibleCoordinates(),h[e]=c[e].slice().reverse(),u[e]=t.getVisibleCoordinates(!0).reverse(),d[e]=t.getShadowCasterCoordinates(),p[e]=t.sortCoordinatesByDistance(c[e])}const f=e=>{const t=this.style.getLayerSourceCache(e);return t&&t.used?t.getSource():null};if(a){const e=[];for(const t of o)this.layerUsedInConflation(t,f(t))&&e.push(t);if(e&&e.length>1){const t=[];for(const i of e){const e=this.style.getLayerSourceCache(i);e&&e.used&&e.getSource().usedInConflation&&t.push({layer:i.fqid,cache:e})}this.replacementSource.setSources(t),l=!0}}l||this.replacementSource.clear(),this.conflationActive=l,this.minCutoffZoom=0,this.longestCutoffRange=0;for(const e of o){const t=e.cutoffRange();if(this.longestCutoffRange=Math.max(t,this.longestCutoffRange),t>0){const t=f(e);t&&(this.minCutoffZoom=Math.max(t.minzoom,this.minCutoffZoom)),e.minzoom&&(this.minCutoffZoom=Math.max(e.minzoom,this.minCutoffZoom))}}this.opaquePassCutoff=1/0;for(let e=0;e{if(i.showOverdrawInspector)return e.aA.black;if(this.style.fog&&this.transform.projection.supportsFog&&!y){const t=this.style.fog.properties.get("color").toArray01();return new e.aA(...t)}if(this.style.fog&&this.transform.projection.supportsFog&&y){const t=this.style.fog.properties.get("space-color").toArray01();return new e.aA(...t)}return e.aA.transparent})();if(this.context.clear({color:x,depth:1}),this.clearStencil(),this._showOverdrawInspector=i.showOverdrawInspector,this.renderPass="opaque",this.style.fog&&this.transform.projection.supportsFog&&this._atmosphere&&!this._showOverdrawInspector&&y&&this._atmosphere.drawStars(this,this.style.fog),!this.terrain)for(this.currentLayer=n.length-1;this.currentLayer>=0;this.currentLayer--){const e=o[this.currentLayer],i=t.getLayerSourceCache(e);if(e.isSky())continue;const r=i?(e.is3D()?p:h)[i.id]:void 0;this._renderTileClippingMasks(e,i,r),this.renderLayer(this,i,e,r)}if(this.style.fog&&this.transform.projection.supportsFog&&this._atmosphere&&!this._showOverdrawInspector&&y&&this._atmosphere.drawAtmosphereGlow(this,this.style.fog),this.renderPass="sky",(!this._atmosphere||e.W(this.transform.zoom)>0)&&("globe"===this.transform.projection.name||this.transform.isHorizonVisible()))for(this.currentLayer=0;this.currentLayer0&&e.hasShadowPass()&&0==--b&&(_.drawGroundShadows(),this.firstLightBeamLayer<=this.currentLayer)){const e=this.currentLayer;for(this.renderPass="light-beam",this.currentLayer=this.firstLightBeamLayer;this.currentLayer<=e;this.currentLayer++){const e=o[this.currentLayer];if(!e.hasLightBeamPass())continue;const i=t.getLayerSourceCache(e);this.renderLayer(this,i,e,i?h[i.id]:void 0)}this.currentLayer=e,this.renderPass="translucent"}++this.currentLayer}}if(this.terrain&&this.terrain.postRender(),this.options.showTileBoundaries||this.options.showQueryGeometry||this.options.showTileAABBs){let i=null;o.forEach((e=>{const r=t.getLayerSourceCache(e);r&&!e.isHidden(this.transform.zoom)&&r.getVisibleCoordinates().length&&(!i||i.getSource().maxzoom0?t.pop():null}isPatternMissing(e,t){return null===e||void 0!==e&&!this.imageManager.getPattern(e.toString(),t)}terrainRenderModeElevated(){return this.style&&!!this.style.getTerrain()&&!!this.terrain&&!this.terrain.renderingToTexture}linearFloatFilteringSupported(){return null!=this.context.extTextureFloatLinear}currentGlobalDefines(e,t,i){const r=void 0===i?this.terrain&&this.terrain.renderingToTexture:i,n=this.terrain&&0===this.terrain.exaggeration(),o=[];return this.style&&this.style.enable3dLights()&&("globeRaster"===e||"terrainRaster"===e?(o.push("LIGHTING_3D_MODE"),o.push("LIGHTING_3D_ALPHA_EMISSIVENESS")):r||o.push("LIGHTING_3D_MODE")),"shadow"===this.renderPass?this._shadowMapDebug||o.push("DEPTH_TEXTURE"):this.shadowRenderer&&(this.shadowRenderer.useNormalOffset?o.push("RENDER_SHADOWS","DEPTH_TEXTURE","NORMAL_OFFSET"):o.push("RENDER_SHADOWS","DEPTH_TEXTURE")),this.terrainRenderModeElevated()&&(o.push("TERRAIN"),this.linearFloatFilteringSupported()&&o.push("TERRAIN_DEM_FLOAT_FORMAT"),n&&o.push("ZERO_EXAGGERATION")),"globe"===this.transform.projection.name&&o.push("GLOBE"),!this._fogVisible||r||void 0!==t&&!t||o.push("FOG","FOG_DITHERING"),r&&o.push("RENDER_TO_TEXTURE"),this._showOverdrawInspector&&o.push("OVERDRAW_INSPECTOR"),o}getOrCreateProgram(e,t){this.cache=this.cache||{};const i=t&&t.defines||[],r=t&&t.config,n=this.currentGlobalDefines(e,t&&t.overrideFog,t&&t.overrideRtt).concat(i),o=yn.cacheKey($r[e],e,n,r);return this.cache[o]||(this.cache[o]=new yn(this.context,e,$r[e],r,Qn[e],n)),this.cache[o]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.frontFace.setDefault(),this.context.cullFaceSide.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new e.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this._terrain&&this._terrain.destroy(),this._atmosphere&&(this._atmosphere.destroy(),this._atmosphere=void 0),this.globeSharedBuffers&&this.globeSharedBuffers.destroy(),this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this._wireframeDebugCache.destroy()}prepareDrawTile(){this.terrain&&this.terrain.prepareDrawTile()}uploadCommonLightUniforms(t,i){if(this.style.enable3dLights()){const r=this.style.directionalLight,n=this.style.ambientLight;if(r&&n){const o=((t,i)=>{const r=t.properties.get("direction"),n=t.properties.get("color").toArray01(),o=t.properties.get("intensity"),s=i.properties.get("color").toArray01(),a=i.properties.get("intensity"),l=[r.x,r.y,r.z],c=e.cs(s,a),h=e.cs(n,o);return{u_lighting_ambient_color:c,u_lighting_directional_dir:l,u_lighting_directional_color:h,u_ground_radiance:mn(l,h,c)}})(r,n);i.setLightsUniformValues(t,o)}}}uploadCommonUniforms(t,i,r,n,o){if(this.uploadCommonLightUniforms(t,i),this.terrain&&this.terrain.renderingToTexture)return;const s=this.style.fog;if(s){const o=s.getOpacity(this.transform.pitch),a=((t,i,r,n,o,s,a,l,c,h,u,d)=>{const p=t.transform,f=i.properties.get("color").toArray01();f[3]=n;const m=t.frameCounter/1e3%1,[_,g]=i.properties.get("vertical-range");return{u_fog_matrix:r?p.calculateFogTileMatrix(r):d||t.identityMat,u_fog_range:i.getFovAdjustedRange(p._fov),u_fog_color:f,u_fog_horizon_blend:i.properties.get("horizon-blend"),u_fog_vertical_limit:[Math.min(_,g),g],u_fog_temporal_offset:m,u_frustum_tl:o,u_frustum_tr:s,u_frustum_br:a,u_frustum_bl:l,u_globe_pos:c,u_globe_radius:h,u_viewport:u,u_globe_transition:e.W(p.zoom),u_is_globe:+("globe"===p.projection.name)}})(this,s,r,o,this.transform.frustumCorners.TL,this.transform.frustumCorners.TR,this.transform.frustumCorners.BR,this.transform.frustumCorners.BL,this.transform.globeCenterInViewSpace,this.transform.globeRadius,[this.transform.width*e.f.devicePixelRatio,this.transform.height*e.f.devicePixelRatio],n);i.setFogUniformValues(t,a)}o&&i.setCutoffUniformValues(t,o.uniformValues)}setTileLoadedFlag(e){this.tileLoaded=e}saveCanvasCopy(){const e=this.canvasCopy();e&&(this.frameCopies.push(e),this.tileLoaded=!1)}canvasCopy(){const e=this.context.gl,t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.copyTexImage2D(e.TEXTURE_2D,0,e.RGBA,0,0,e.drawingBufferWidth,e.drawingBufferHeight,0),t}getCanvasCopiesAndTimestamps(){return{canvasCopies:this.frameCopies,timeStamps:this.loadTimeStamps}}averageElevationNeedsEasing(){if(!this.transform._elevation)return!1;const e=this.style&&this.style.fog;return!!e&&0!==e.getOpacity(this.transform.pitch)}getBackgroundTiles(){const e=this._backgroundTiles,t=this._backgroundTiles={},i=this.transform.coveringTiles({tileSize:512});for(const r of i)t[r.key]=e[r.key]||new Nt(r,512,this.transform.tileZoom,this);return t}clearBackgroundTiles(){this._backgroundTiles={}}layerUsedInConflation(e,t){return!(!e.is3D()||e.minzoom&&e.minzoom>this.transform.zoom||"building"!==e.sourceLayer&&(!t||"batched-model"!==t.type))}isTileAffectedByFog(e){if(!this.style||!this.style.fog)return!1;if("globe"===this.transform.projection.name)return!0;let t=this._cachedTileFogOpacities[e.key];return t||(this._cachedTileFogOpacities[e.key]=t=this.style.fog.getOpacityForTile(e)),t[0]>=pe||t[1]>=pe}}function Jo(e,t){let i=!1,r=null;const n=()=>{r=null,i&&(e(),r=setTimeout(n,t),i=!1)};return()=>(i=!0,r||n(),r)}class es{constructor(t){this._hashName=t&&encodeURIComponent(t),e.a$(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=Jo(this._updateHashUnthrottled.bind(this),300)}addTo(e){return this._map=e,window.addEventListener("hashchange",this._onHashChange,!1),e.on("moveend",this._updateHash),this}remove(){return this._map?(this._map.off("moveend",this._updateHash),window.removeEventListener("hashchange",this._onHashChange,!1),clearTimeout(this._updateHash()),this._map=void 0,this):this}getHashString(){const e=this._map;if(!e)return"";const t=ts(e);if(this._hashName){const e=this._hashName;let i=!1;const r=location.hash.slice(1).split("&").map((r=>{const n=r.split("=")[0];return n===e?(i=!0,`${n}=${t}`):r})).filter((e=>e));return i||r.push(`${e}=${t}`),`#${r.join("&")}`}return`#${t}`}_getCurrentHash(){const e=location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map((e=>e.split("="))).forEach((e=>{e[0]===this._hashName&&(t=e)})),(t&&t[1]||"").split("/")}return e.split("/")}_onHashChange(){const e=this._map;if(!e)return!1;const t=this._getCurrentHash();if(t.length>=3&&!t.some((e=>isNaN(e)))){const i=e.dragRotate.isEnabled()&&e.touchZoomRotate.isEnabled()?+(t[3]||0):e.getBearing();return e.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:i,pitch:+(t[4]||0)}),!0}return!1}_updateHashUnthrottled(){history.replaceState(history.state,"",location.href.replace(/(#.+)?$/,this.getHashString()))}}function ts(e,t){const i=e.getCenter(),r=Math.round(100*e.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),o=Math.pow(10,n),s=Math.round(i.lng*o)/o,a=Math.round(i.lat*o)/o,l=e.getBearing(),c=e.getPitch();let h=t?`/${s}/${a}/${r}`:`${r}/${a}/${s}`;return(l||c)&&(h+="/"+Math.round(10*l)/10),c&&(h+=`/${Math.round(c)}`),h}const is={linearity:.3,easing:e.d6(0,0,.3,1)},rs=e.e({deceleration:2500,maxSpeed:1400},is),ns=e.e({deceleration:20,maxSpeed:1400},is),os=e.e({deceleration:1e3,maxSpeed:360},is),ss=e.e({deceleration:1e3,maxSpeed:90},is);class as{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:e.f.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,i=e.f.now();for(;t.length>0&&i-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._map._prefersReducedMotion())return;if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:e}of this._inertiaBuffer)i.zoom+=e.zoomDelta||0,i.bearing+=e.bearingDelta||0,i.pitch+=e.pitchDelta||0,e.panDelta&&i.pan._add(e.panDelta),e.around&&(i.around=e.around),e.pinchAround&&(i.pinchAround=e.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const o=cs(i.pan.mag(),r,e.e({},rs,t||{}));n.offset=i.pan.mult(o.amount/i.pan.mag()),n.center=this._map.transform.center,ls(n,o)}if(i.zoom){const e=cs(i.zoom,r,ns);n.zoom=this._map.transform.zoom+e.amount,ls(n,e)}if(i.bearing){const t=cs(i.bearing,r,os);n.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),ls(n,t)}if(i.pitch){const e=cs(i.pitch,r,ss);n.pitch=this._map.transform.pitch+e.amount,ls(n,e)}if(n.zoom||n.bearing){const e=void 0===i.pinchAround?i.around:i.pinchAround;n.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),n.noMoveStart=!0,n}}function ls(e,t){(!e.duration||e.duration3&&void 0!==arguments[3]?arguments[3]:{};const o=f(i.getCanvasContainer(),r),s=i.unproject(o);super(t,e.e({point:o,lngLat:s,originalEvent:r},n)),this._defaultPrevented=!1,this.target=i}}class us extends e.b{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,i,r){const n="touchend"===t?r.changedTouches:r.touches,o=m(i.getCanvasContainer(),n),s=o.map((e=>i.unproject(e))),a=o.reduce(((e,t,i,r)=>e.add(t.div(r.length))),new e.P(0,0));super(t,{points:o,point:a,lngLats:s,lngLat:i.unproject(a),originalEvent:r}),this._defaultPrevented=!1}}class ds extends e.b{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,i){super(e,{originalEvent:i}),this._defaultPrevented=!1}}class ps{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){this._mousedownPos=void 0}wheel(e){return this._firePreventable(new ds(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new hs(e.type,this._map,e))}mouseup(e){this._map.fire(new hs(e.type,this._map,e))}preclick(t){const i=e.e({},t);i.type="preclick",this._map.fire(new hs(i.type,this._map,i))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||(this.preclick(e),this._map.fire(new hs(e.type,this._map,e)))}dblclick(e){return this._firePreventable(new hs(e.type,this._map,e))}mouseover(e){this._map.fire(new hs(e.type,this._map,e))}mouseout(e){this._map.fire(new hs(e.type,this._map,e))}touchstart(e){return this._firePreventable(new us(e.type,this._map,e))}touchmove(e){this._map.fire(new us(e.type,this._map,e))}touchend(e){this._map.fire(new us(e.type,this._map,e))}touchcancel(e){this._map.fire(new us(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class fs{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._contextMenuEvent=void 0}mousemove(e){this._map.fire(new hs(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new hs("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._map.fire(new hs(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ms{constructor(e,t){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(h(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active)return;const i=t,r=this._startPos,n=this._lastPos;if(!r||!n||n.equals(i)||!this._box&&i.dist(r){this._box&&(this._box.style.transform=`translate(${s}px,${l}px)`,this._box.style.width=a-s+"px",this._box.style.height=c-l+"px")}))}mouseupWindow(t,i){if(!this._active)return;const r=this._startPos,n=i;if(r&&0===t.button){if(this.reset(),p(),r.x!==n.x||r.y!==n.y)return this._map.fire(new e.b("boxzoomend",{originalEvent:t})),{cameraAnimation:e=>e.fitScreenCoordinates(r,n,this._map.getBearing(),{linear:!1})};this._fireEvent("boxzoomcancel",t)}}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}blur(){this.reset()}reset(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(this._box.remove(),this._box=null),u(),delete this._startPos,delete this._lastPos}_fireEvent(t,i){return this._map.fire(new e.b(t,{originalEvent:i}))}}function _s(e,t){const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(0===this.startTime&&(this.startTime=t.timeStamp),r.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=_s(r,i)))}touchmove(e,t,i){if(this.aborted||!this.centroid)return;const r=_s(i,t);for(const n in this.touches){const e=r[n];(!e||e.dist(this.touches[n])>30)&&(this.aborted=!0)}}touchend(e,t,i){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class ys{constructor(e){this.singleTap=new gs(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,this.lastTap=void 0,this.count=0,this.singleTap.reset()}touchstart(e,t,i){this.singleTap.touchstart(e,t,i)}touchmove(e,t,i){this.singleTap.touchmove(e,t,i)}touchend(e,t,i){const r=this.singleTap.touchend(e,t,i);if(r){const t=e.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(t&&i||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class xs{constructor(){this._zoomIn=new ys({numTouches:1,numTaps:2}),this._zoomOut=new ys({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,i){this._zoomIn.touchstart(e,t,i),this._zoomOut.touchstart(e,t,i)}touchmove(e,t,i){this._zoomIn.touchmove(e,t,i),this._zoomOut.touchmove(e,t,i)}touchend(e,t,i){const r=this._zoomIn.touchend(e,t,i),n=this._zoomOut.touchend(e,t,i);return r?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()+1,around:t.unproject(r)},{originalEvent:e})}):n?(this._active=!0,e.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:t.getZoom()-1,around:t.unproject(n)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}const vs={0:1,2:2};class bs{constructor(e){this.reset(),this._clickTolerance=e.clickTolerance||1}blur(){this.reset()}reset(){this._active=!1,this._moved=!1,this._lastPoint=void 0,this._eventButton=void 0}_correctButton(e,t){return!1}_move(e,t){return{}}mousedown(e,t){if(this._lastPoint)return;const i=_(e);this._correctButton(e,i)&&(this._lastPoint=t,this._eventButton=i)}mousemoveWindow(e,t){const i=this._lastPoint;if(i)if(e.preventDefault(),null!=this._eventButton&&function(e,t){const i=vs[t];return void 0===e.buttons||(e.buttons&i)!==i}(e,this._eventButton))this.reset();else if(this._moved||!(t.dist(i)0&&(this._active=!0);const n=_s(r,i),o=new e.P(0,0),s=new e.P(0,0);let a=0;for(const e in n){const t=n[e],i=this._touches[e];i&&(o._add(t),s._add(t.sub(i)),a++,n[e]=t)}if(this._touches=n,a{this._alertContainer.classList.remove("mapboxgl-touch-pan-blocker-show"),this._alertContainer.removeAttribute("role")}),500)}}class Ms{constructor(){this.reset()}reset(){this._active=!1,this._firstTwoTouches=void 0}_start(e){}_move(e,t,i){return{}}touchstart(e,t,i){this._firstTwoTouches||i.length<2||(this._firstTwoTouches=[i[0].identifier,i[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,i){const r=this._firstTwoTouches;if(!r)return;e.preventDefault();const[n,o]=r,s=As(i,t,n),a=As(i,t,o);if(!s||!a)return;const l=this._aroundCenter?null:s.add(a).div(2);return this._move([s,a],l,e)}touchend(e,t,i){if(!this._firstTwoTouches)return;const[r,n]=this._firstTwoTouches,o=As(i,t,r),s=As(i,t,n);o&&s||(this._active&&p(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}function As(e,t,i){for(let r=0;rMath.abs(e.x)}class Rs extends Ms{constructor(e){super(),this._map=e}reset(){super.reset(),this._valid=void 0,this._firstMove=void 0,this._lastPoints=void 0}_start(e){this._lastPoints=e,Ds(e[0].sub(e[1]))&&(this._valid=!1)}_move(t,i,r){const n=this._lastPoints;if(!n)return;const o=t[0].sub(n[0]),s=t[1].sub(n[1]);return this._map._cooperativeGestures&&!e.d7()&&r.touches.length<3||(this._valid=this.gestureBeginsVertically(o,s,r.timeStamp),!this._valid)?void 0:(this._lastPoints=t,this._active=!0,{pitchDelta:(o.y+s.y)/2*-.5})}gestureBeginsVertically(e,t,i){if(void 0!==this._valid)return this._valid;const r=e.mag()>=2,n=t.mag()>=2;if(!r&&!n)return;if(!r||!n)return null==this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=e.y>0==t.y>0;return Ds(e)&&Ds(t)&&o}}const Ls={panStep:100,bearingStep:15,pitchStep:10};class ks{constructor(){const e=Ls;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}blur(){this.reset()}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,i=0,r=0,n=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?i=-1:(e.preventDefault(),n=-1);break;case 39:e.shiftKey?i=1:(e.preventDefault(),n=1);break;case 38:e.shiftKey?r=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?r=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:s=>{const a=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:Os,zoom:t?Math.round(a)+t*(e.shiftKey?2:1):a,bearing:s.getBearing()+i*this._bearingStep,pitch:s.getPitch()+r*this._pitchStep,offset:[-n*this._panStep,-o*this._panStep],center:s.getCenter()},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Os(e){return e*(2-e)}const Bs=4.000244140625,Fs=1/450;class Ns{constructor(t,i){this._map=t,this._el=t.getCanvasContainer(),this._handler=i,this._delta=0,this._lastDelta=0,this._defaultZoomRate=.01,this._wheelZoomRate=Fs,e.a$(["_onTimeout","_addScrollZoomBlocker","_showBlockerAlert"],this)}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around,this._map._cooperativeGestures&&this._addScrollZoomBlocker())}disable(){this.isEnabled()&&(this._enabled=!1,this._map._cooperativeGestures&&(clearTimeout(this._alertTimer),this._alertContainer.remove()))}wheel(t){if(!this.isEnabled())return;if(this._map._cooperativeGestures){if(!(t.ctrlKey||t.metaKey||this.isZooming()||e.d7()))return void this._showBlockerAlert();"hidden"!==this._alertContainer.style.visibility&&(this._alertContainer.style.visibility="hidden",clearTimeout(this._alertTimer))}let i=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=e.f.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==i&&i%Bs==0?this._type="wheel":0!==i&&Math.abs(i)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=i,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*i)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,i+=this._lastValue)),t.shiftKey&&i&&(i/=4),this._type&&(this._lastWheelEvent=t,this._delta-=i,this._active||this._start(t)),t.preventDefault()}_onTimeout(e){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const t=f(this._el,e);this._aroundPoint=this._aroundCenter?this._map.transform.centerPoint:t,this._aroundCoord=this._map.transform.pointCoordinate3D(this._aroundPoint),this._targetZoom=void 0,this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._map.transform;"wheel"===this._type&&t.projection.wrap&&(t._center.lng>=180||t._center.lng<=-180)&&(this._prevEase=null,this._easing=null,this._lastWheelEvent=null,this._lastWheelEventTime=0);const i=()=>t._terrainEnabled()&&this._aroundCoord?t.computeZoomRelativeTo(this._aroundCoord):t.zoom;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>Bs?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n=i(),o=Math.pow(2,n),s="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):o;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(s*r))),"wheel"===this._type&&(this._startZoom=n,this._easing=this._smoothOutEasing(200)),this._lastDelta=this._delta,this._delta=0}const r="number"==typeof this._targetZoom?this._targetZoom:i(),n=this._startZoom,o=this._easing;let s,a=!1;if("wheel"===this._type&&n&&o){const t=Math.min((e.f.now()-this._lastWheelEventTime)/200,1),i=o(t);s=e.X(n,r,i),t<1?this._frameId||(this._frameId=!0):a=!0}else s=r,a=!0;this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._handler._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200));let l=s-i();return l*this._lastDelta<0&&(l=0),{noInertia:!0,needsRenderFrame:!a,zoomDelta:l,around:this._aroundPoint,aroundCoord:this._aroundCoord,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.d8;if(this._prevEase){const t=this._prevEase,r=(e.f.now()-t.start)/t.duration,n=t.easing(r+.01)-t.easing(r),o=.27/Math.sqrt(n*n+1e-4)*.01,s=Math.sqrt(.0729-o*o);i=e.d6(o,s,.25,1)}return this._prevEase={start:e.f.now(),duration:t,easing:i},i}blur(){this.reset()}reset(){this._active=!1}_addScrollZoomBlocker(){this._map&&!this._alertContainer&&(this._alertContainer=o("div","mapboxgl-scroll-zoom-blocker",this._map._container),this._alertContainer.textContent=/(Mac|iPad)/i.test(navigator.userAgent)?this._map._getUIString("ScrollZoomBlocker.CmdMessage"):this._map._getUIString("ScrollZoomBlocker.CtrlMessage"),this._alertContainer.style.fontSize=`${Math.max(10,Math.min(24,Math.floor(.05*this._el.clientWidth)))}px`)}_showBlockerAlert(){this._alertContainer.style.visibility="visible",this._alertContainer.classList.add("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.setAttribute("role","alert"),clearTimeout(this._alertTimer),this._alertTimer=setTimeout((()=>{this._alertContainer.classList.remove("mapboxgl-scroll-zoom-blocker-show"),this._alertContainer.removeAttribute("role")}),200)}}class Vs{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Us{constructor(){this.reset()}reset(){this._active=!1}blur(){this.reset()}dblclick(e,t){return e.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:i.getZoom()+(e.shiftKey?-1:1),around:i.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class js{constructor(){this._tap=new ys({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,this._swipePoint=void 0,this._swipeTouch=0,this._tapTime=0,this._tap.reset()}touchstart(e,t,i){this._swipePoint||(this._tapTime&&e.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?i.length>0&&(this._swipePoint=t[0],this._swipeTouch=i[0].identifier):this._tap.touchstart(e,t,i))}touchmove(e,t,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=t[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,e.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(e,t,i)}touchend(e,t,i){this._tapTime?this._swipePoint&&0===i.length&&this.reset():this._tap.touchend(e,t,i)&&(this._tapTime=e.timeStamp)}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Gs{constructor(e,t,i){this._el=e,this._mousePan=t,this._touchPan=i}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class qs{constructor(e,t,i){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=i}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Zs{constructor(e,t,i,r){this._el=e,this._touchZoom=t,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}const $s=e=>e.zoom||e.drag||e.pitch||e.rotate;class Ws extends e.b{}class Qs{constructor(){this.constants=[1,1,.01],this.radius=0}setup(t,i){const r=e.Q.sub([],i,t);this.radius=e.Q.length(r[2]<0?e.Q.div([],r,this.constants):[r[0],r[1],0])}projectRay(t){e.Q.div(t,t,this.constants),e.Q.normalize(t,t),e.Q.mul(t,t,this.constants);const i=e.Q.scale([],t,this.radius);if(i[2]>0){const t=e.Q.scale([],[0,0,1],e.Q.dot(i,[0,0,1])),r=e.Q.scale([],e.Q.normalize([],[i[0],i[1],0]),this.radius),n=e.Q.add([],i,e.Q.scale([],e.Q.sub([],e.Q.add([],r,t),i),2));i[0]=n[0],i[1]=n[1]}return i}}function Hs(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class Xs{constructor(t,i){this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new as(t),this._bearingSnap=i.bearingSnap,this._previousActiveHandlers={},this._trackingEllipsoid=new Qs,this._dragOrigin=null,this._eventsInProgress={},this._addDefaultHandlers(i),e.a$(["handleEvent","handleWindowEvent"],this);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[e,n,o]of this._listeners){const t=e===document?this.handleWindowEvent:this.handleEvent;e.addEventListener(n,t,o)}}destroy(){for(const[e,t,i]of this._listeners){const r=e===document?this.handleWindowEvent:this.handleEvent;e.removeEventListener(t,r,i)}}_addDefaultHandlers(e){const t=this._map,i=t.getCanvasContainer();this._add("mapEvent",new ps(t,e));const r=t.boxZoom=new ms(t,e);this._add("boxZoom",r);const n=new xs,o=new Us;t.doubleClickZoom=new Vs(o,n),this._add("tapZoom",n),this._add("clickZoom",o);const s=new js;this._add("tapDragZoom",s);const a=t.touchPitch=new Rs(t);this._add("touchPitch",a);const l=new Ts(e),c=new Es(e);t.dragRotate=new qs(e,l,c),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",c,["mouseRotate"]);const h=new ws(e),u=new Ss(t,e);t.dragPan=new Gs(i,h,u),this._add("mousePan",h),this._add("touchPan",u,["touchZoom","touchRotate"]);const d=new zs,p=new Cs;t.touchZoomRotate=new Zs(i,p,d,s),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]),this._add("blockableMapEvent",new fs(t));const f=t.scrollZoom=new Ns(t,this);this._add("scrollZoom",f,["mousePan"]);const m=t.keyboard=new ks;this._add("keyboard",m);for(const _ of["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"])e.interactive&&e[_]&&t[_].enable(e[_])}_add(e,t,i){this._handlers.push({handlerName:e,handler:t,allowed:i}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(const{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[],this._originalZoom=void 0}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!$s(this._eventsInProgress)||this.isZooming()}_isDragging(){return!!this._eventsInProgress.drag}_blockedByActive(e,t,i){for(const r in e)if(r!==i&&(!t||t.indexOf(r)<0))return!0;return!1}handleWindowEvent(e){this.handleEvent(e,`${e.type}Window`)}_getMapTouches(e){const t=[];for(const i of e)this._el.contains(i.target)&&t.push(i);return t}handleEvent(e,t){this._updatingCamera=!0;const i="renderFrame"===e.type,r=i?void 0:e,n={needsRenderFrame:!1},o={},s={},a=e.touches?this._getMapTouches(e.touches):void 0,l=a?m(this._el,a):i?void 0:f(this._el,e);for(const{handlerName:u,handler:d,allowed:p}of this._handlers){if(!d.isEnabled())continue;let i;this._blockedByActive(s,p,u)?d.reset():d[t||e.type]&&(i=d[t||e.type](e,l,a),this.mergeHandlerResult(n,o,i,u,r),i&&i.needsRenderFrame&&this._triggerRenderFrame()),(i||d.isActive())&&(s[u]=d)}const c={};for(const u in this._previousActiveHandlers)s[u]||(c[u]=r);this._previousActiveHandlers=s,(Object.keys(c).length||Hs(n))&&(this._changes.push([n,o,c]),this._triggerRenderFrame()),(Object.keys(s).length||Hs(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))}mergeHandlerResult(t,i,r,n,o){if(!r)return;e.e(t,r);const s={handlerName:n,originalEvent:r.originalEvent||o};void 0!==r.zoomDelta&&(i.zoom=s),void 0!==r.panDelta&&(i.drag=s),void 0!==r.pitchDelta&&(i.pitch=s),void 0!==r.bearingDelta&&(i.rotate=s)}_applyChanges(){const t={},i={},r={};for(const[n,o,s]of this._changes)n.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(n.panDelta)),n.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+n.zoomDelta),n.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+n.bearingDelta),n.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+n.pitchDelta),void 0!==n.around&&(t.around=n.around),void 0!==n.aroundCoord&&(t.aroundCoord=n.aroundCoord),void 0!==n.pinchAround&&(t.pinchAround=n.pinchAround),n.noInertia&&(t.noInertia=n.noInertia),e.e(i,o),e.e(r,s);this._updateMapTransform(t,i,r),this._changes=[]}_updateMapTransform(t,i,r){const n=this._map,o=n.transform,s=e=>[e.x,e.y,e.z];if((e=>{const t=this._eventsInProgress.drag;return t&&!this._handlersById[t.handlerName].isActive()})()&&!Hs(t)){const e=o.zoom;o.cameraElevationReference="sea",null!=this._originalZoom&&o._orthographicProjectionAtLowPitch&&"globe"!==o.projection.name&&0===o.pitch?(o.cameraElevationReference="ground",o.zoom=this._originalZoom):(o.recenterOnTerrain(),o.cameraElevationReference="ground"),e!==o.zoom&&this._map._update(!0)}if(o._isCameraConstrained&&n._stop(!0),!Hs(t))return void this._fireEvents(i,r,!0);let{panDelta:a,zoomDelta:l,bearingDelta:c,pitchDelta:h,around:u,aroundCoord:d,pinchAround:p}=t;o._isCameraConstrained&&(l>0&&(l=0),o._isCameraConstrained=!1),void 0!==p&&(u=p),(l||(e=>i[e]&&!this._eventsInProgress[e])("drag"))&&u&&(this._dragOrigin=s(o.pointCoordinate3D(u)),this._originalZoom=o.zoom,this._trackingEllipsoid.setup(o._camera.position,this._dragOrigin)),o.cameraElevationReference="sea",n._stop(!0),u=u||n.transform.centerPoint,c&&(o.bearing+=c),h&&(o.pitch+=h),o._updateCameraState();const f=[0,0,0];if(a)if("mercator"===o.projection.name){const e=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u).dir),t=this._trackingEllipsoid.projectRay(o.screenPointToMercatorRay(u.sub(a)).dir);f[0]=t[0]-e[0],f[1]=t[1]-e[1]}else{const t=o.pointCoordinate(u);if("globe"===o.projection.name){a=a.rotate(-o.angle);const i=o._pixelsPerMercatorPixel/o.worldSize;f[0]=-a.x*e.d9(e.ax(t.y))*i,f[1]=-a.y*e.d9(o.center.lat)*i}else{const e=o.pointCoordinate(u.sub(a));t&&e&&(f[0]=e.x-t.x,f[1]=e.y-t.y)}}const m=o.zoom,_=[0,0,0];if(l){const t=s(d||o.pointCoordinate3D(u)),i={dir:e.Q.normalize([],e.Q.sub([],t,o._camera.position))};if(i.dir[2]<0){const r=o.zoomDeltaToMovement(t,l);e.Q.scale(_,i.dir,r)}}const g=e.Q.add(f,f,_);o._translateCameraConstrained(g),l&&Math.abs(o.zoom-m)>1e-4&&o.recenterOnTerrain(),o.cameraElevationReference="ground",this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(i,r,!0)}_fireEvents(t,i,r){const n=$s(this._eventsInProgress),o=$s(t),s={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=i),this._eventsInProgress[e]=t[e]}!n&&o&&this._fireEvent("movestart",o.originalEvent);for(const e in s)this._fireEvent(e,s[e]);o&&this._fireEvent("move",o.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i)}const a={};let l;for(const e in this._eventsInProgress){const{handlerName:t,originalEvent:r}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],l=i[t]||r,a[`${e}end`]=l)}for(const e in a)this._fireEvent(e,a[e]);const c=$s(this._eventsInProgress);if(r&&(n||o)&&!c){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=e=>0!==e&&-this._bearingSnap{this._frameId=void 0,this.handleEvent(new Ws("renderFrame",{timeStamp:e})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}const Ys="map.setFreeCameraOptions(...) and map.getFreeCameraOptions() are not yet supported for non-mercator projections.";class Ks extends e.E{constructor(t,i){super(),this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=i.bearingSnap,this._respectPrefersReducedMotion=!1!==i.respectPrefersReducedMotion,e.a$(["_renderFrameCallback"],this)}getCenter(){return new e.bq(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(t,i,r){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),r)}panTo(t,i,r){return this.easeTo(e.e({center:t},i),r)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(t,i,r){return this.easeTo(e.e({zoom:t},i),r)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(t,i,r){return this.easeTo(e.e({bearing:t},i),r)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(e,t){return Math.abs(this.getBearing())e.aspect?i/(2*Math.tan(.5*e.fovX)*e.aspect):r/(2*Math.tan(.5*e.fovY)*e.aspect)}_cameraForBoundsOnGlobe(t,i,r,n,o,s){const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=n,a.pitch=o;const c=e.bq.convert(i),h=e.bq.convert(r),u=.5*(c.lat+h.lat),d=.5*(c.lng+h.lng),p=e.da(u,d),f=e.Q.normalize([],p),m=e.Q.normalize([],e.Q.cross([],f,[0,1,0])),_=e.Q.cross([],m,f),g=[m[0],m[1],m[2],0,_[0],_[1],_[2],0,f[0],f[1],f[2],0,0,0,0,1],y=[p,e.da(c.lat,c.lng),e.da(h.lat,c.lng),e.da(h.lat,h.lng),e.da(c.lat,h.lng),e.da(u,c.lng),e.da(u,h.lng),e.da(c.lat,d),e.da(h.lat,d)];let x=e.bV.fromPoints(y.map((t=>[e.Q.dot(m,t),e.Q.dot(_,t),e.Q.dot(f,t)])));const v=e.Q.transformMat4([],x.center,g);0===e.Q.squaredLength(v)&&e.Q.set(v,0,0,1),e.Q.normalize(v,v),e.Q.scale(v,v,e.ae),a.center=e.db(v);const b=a.getWorldToCameraMatrix(),w=e.a9.invert(new Float64Array(16),b);x=e.bV.applyTransform(x,e.a9.multiply([],b,g));const T=this._extendAABB(x,a,l,n);if(!T)return void e.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");x=T,e.Q.transformMat4(v,v,b);const E=.5*(x.max[2]-x.min[2]),S=this._minimumAABBFrustumDistance(a,x),M=e.Q.scale([],[0,0,1],E),A=e.Q.add(M,v,M),I=S+(0===a.pitch?0:e.Q.distance(v,A)),C=a.globeCenterInViewSpace,P=e.Q.sub([],v,[C[0],C[1],C[2]]);e.Q.normalize(P,P),e.Q.scale(P,P,I);const z=e.Q.add([],v,P);e.Q.transformMat4(z,z,w);const D=e.dc/e.ae,R=e.Q.length(z),L=e.bo(Math.max(R*D-e.dc,Number.EPSILON),0),k=Math.min(a.zoomFromMercatorZAdjusted(L),l.maxZoom);return k>.5*(e.bJ+e.bA)?(a.setProjection({name:"mercator"}),a.zoom=k,this._cameraForBounds(a,i,r,n,o,s)):{center:a.center,zoom:k,bearing:n,pitch:o}}_extendAABB(t,i,r,n){const o=.5*((r.padding.left||0)+(r.padding.right||0)),s=.5*((r.padding.top||0)+(r.padding.bottom||0)),a=s,l=o,c=o,h=s,u=i.width-(l+c),d=i.height-(a+h),p=e.Q.sub([],t.max,t.min),f=Math.min(u/p[0],d/p[1]),m=Math.min(i.scaleZoom(i.scale*f),r.maxZoom);if(isNaN(m))return null;const _=i.scale/i.zoomScale(m),g=new e.bV([t.min[0]-l*_,t.min[1]-h*_,t.min[2]],[t.max[0]+c*_,t.max[1]+a*_,t.max[2]]),y=("number"==typeof r.offset.x&&"number"==typeof r.offset.y?new e.P(r.offset.x,r.offset.y):e.P.convert(r.offset)).rotate(-e.bm(n));return g.center[0]-=y.x*_,g.center[1]+=y.y*_,g}queryTerrainElevation(t,i){const r=this.transform.elevation;return r?(i=e.e({},{exaggerated:!0},i),r.getAtPoint(e.O.fromLngLat(t),null,i.exaggerated)):null}_cameraForBounds(t,i,r,n,o,s){if("globe"===t.projection.name)return this._cameraForBoundsOnGlobe(t,i,r,n,o,s);const a=t.clone(),l=this._extendCameraOptions(s);a.bearing=n,a.pitch=o;const c=e.bq.convert(i),h=e.bq.convert(r),u=new e.bq(c.lng,h.lat),d=new e.bq(h.lng,c.lat),p=a.project(c),f=a.project(h),m=this.queryTerrainElevation(c),_=this.queryTerrainElevation(h),g=this.queryTerrainElevation(u),y=this.queryTerrainElevation(d),x=[[p.x,p.y,Math.min(m||0,_||0,g||0,y||0)],[f.x,f.y,Math.max(m||0,_||0,g||0,y||0)]];let v=e.bV.fromPoints(x);const b=a.getWorldToCameraMatrix(),w=e.a9.invert(new Float64Array(16),b);v=e.bV.applyTransform(v,b);const T=this._extendAABB(v,a,l,n);if(!T)return void e.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");v=T;const E=.5*e.Q.sub([],v.max,v.min)[2],S=this._minimumAABBFrustumDistance(a,v),M=[0,0,1,0];e.aa.transformMat4(M,M,b),e.aa.normalize(M,M);const A=e.Q.scale([],M,S+E),I=e.Q.add([],v.center,A);e.Q.transformMat4(v.center,v.center,w),e.Q.transformMat4(I,I,w);const C=[v.center[0],v.center[1],I[2]*a.pixelsPerMeter];e.Q.scale(C,C,1/a.worldSize);const P=e.aw(C[0]),z=e.ax(C[1]),D=Math.min(a._zoomFromMercatorZ(C[2]),l.maxZoom),R=new e.bq(P,z);return a.mercatorFromTransition&&D<.5*(e.bJ+e.bA)?(a.setProjection({name:"globe"}),a.zoom=D,this._cameraForBounds(a,i,r,n,o,s)):{center:R,zoom:D,bearing:n,pitch:o}}fitBounds(e,t,i){const r=this.cameraForBounds(e,t);return this._fitInternal(r,t,i)}fitScreenCoordinates(t,i,r,n,o){const s=e.P.convert(t),a=e.P.convert(i),l=new e.P(Math.min(s.x,a.x),Math.min(s.y,a.y)),c=new e.P(Math.max(s.x,a.x),Math.max(s.y,a.y));if("mercator"===this.transform.projection.name&&this.transform.anyCornerOffEdge(s,a))return this;const h=this.transform.pointLocation3D(l),u=this.transform.pointLocation3D(c),d=this.transform.pointLocation3D(new e.P(l.x,c.y)),p=this.transform.pointLocation3D(new e.P(c.x,l.y)),f=[Math.min(h.lng,u.lng,d.lng,p.lng),Math.min(h.lat,u.lat,d.lat,p.lat)],m=[Math.max(h.lng,u.lng,d.lng,p.lng),Math.max(h.lat,u.lat,d.lat,p.lat)],_=n&&n.pitch?n.pitch:this.getPitch(),g=this._cameraForBounds(this.transform,f,m,r,_,n);return this._fitInternal(g,n,o)}_fitInternal(t,i,r){return t?(i=e.e(t,i)).linear?this.easeTo(i,r):this.flyTo(i,r):this}jumpTo(t,i){this.stop();const r=t.preloadOnly?this.transform.clone():this.transform;let n=!1,o=!1,s=!1;return"zoom"in t&&r.zoom!==+t.zoom&&(n=!0,r.zoom=+t.zoom),void 0!==t.center&&(r.center=e.bq.convert(t.center)),"bearing"in t&&r.bearing!==+t.bearing&&(o=!0,r.bearing=+t.bearing),"pitch"in t&&r.pitch!==+t.pitch&&(s=!0,r.pitch=+t.pitch),null==t.padding||r.isPaddingEqual(t.padding)||(r.padding=t.padding),t.preloadOnly?(this._preloadTiles(r),this):(this.fire(new e.b("movestart",i)).fire(new e.b("move",i)),n&&this.fire(new e.b("zoomstart",i)).fire(new e.b("zoom",i)).fire(new e.b("zoomend",i)),o&&this.fire(new e.b("rotatestart",i)).fire(new e.b("rotate",i)).fire(new e.b("rotateend",i)),s&&this.fire(new e.b("pitchstart",i)).fire(new e.b("pitch",i)).fire(new e.b("pitchend",i)),this.fire(new e.b("moveend",i)))}getFreeCameraOptions(){return this.transform.projection.supportsFreeCamera||e.w(Ys),this.transform.getFreeCameraOptions()}setFreeCameraOptions(t,i){const r=this.transform;if(!r.projection.supportsFreeCamera)return e.w(Ys),this;this.stop();const n=r.zoom,o=r.pitch,s=r.bearing;r.setFreeCameraOptions(t);const a=n!==r.zoom,l=o!==r.pitch,c=s!==r.bearing;return this.fire(new e.b("movestart",i)).fire(new e.b("move",i)),a&&this.fire(new e.b("zoomstart",i)).fire(new e.b("zoom",i)).fire(new e.b("zoomend",i)),c&&this.fire(new e.b("rotatestart",i)).fire(new e.b("rotate",i)).fire(new e.b("rotateend",i)),l&&this.fire(new e.b("pitchstart",i)).fire(new e.b("pitch",i)).fire(new e.b("pitchend",i)),this.fire(new e.b("moveend",i)),this}easeTo(t,i){this._stop(!1,t.easeId),(!1===(t=e.e({offset:[0,0],duration:500,easing:e.d8},t)).animate||this._prefersReducedMotion(t))&&(t.duration=0);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?+t.zoom:n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u=this._extendPadding(t.padding),d=e.P.convert(t.offset);let p,f,m;if("globe"===r.projection.name){const i=e.O.fromLngLat(r.center),n=d.rotate(-r.angle);i.x+=n.x/r.worldSize,i.y+=n.y/r.worldSize;const o=i.toLngLat(),s=e.bq.convert(t.center||o);this._normalizeCenter(s),p=r.centerPoint.add(n),f=new e.P(i.x,i.y).mult(r.worldSize),m=new e.P(e.a8(s.lng),e.ah(s.lat)).mult(r.worldSize).sub(f)}else{p=r.centerPoint.add(d);const i=r.pointLocation(p),n=e.bq.convert(t.center||i);this._normalizeCenter(n),f=r.project(i),m=r.project(n).sub(f)}const _=r.zoomScale(l-n);let g,y;t.around&&(g=e.bq.convert(t.around),y=r.locationPoint(g));const x=this._zooming||l!==n,v=this._rotating||o!==c,b=this._pitching||h!==s,w=!r.isPaddingEqual(u),T=r=>T=>{if(x&&(r.zoom=e.X(n,l,T)),v&&(r.bearing=e.X(o,c,T)),b&&(r.pitch=e.X(s,h,T)),w&&(r.interpolatePadding(a,u,T),p=r.centerPoint.add(d)),g)r.setLocationAtPoint(g,y);else{const e=r.zoomScale(r.zoom-n),t=l>n?Math.min(2,_):Math.max(.5,_),i=Math.pow(t,1-T),o=r.unproject(f.add(m.mult(T*i)).mult(e));r.setLocationAtPoint(r.renderWorldCopies?o.wrap():o,p)}return t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(T,t.duration,r);return this._preloadTiles(e),this}const E={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=x,this._rotating=v,this._pitching=b,this._padding=w,this._easeId=t.easeId,this._prepareEase(i,t.noMoveStart,E),this._ease(T(r),(e=>{"sea"===r.cameraElevationReference&&r.recenterOnTerrain(),this._afterEase(i,e)}),t),this}_prepareEase(t,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._moving=!0,this.transform.cameraElevationReference="sea",this.transform._orthographicProjectionAtLowPitch&&0===this.transform.pitch&&"globe"!==this.transform.projection.name&&(this.transform.cameraElevationReference="ground"),i||r.moving||this.fire(new e.b("movestart",t)),this._zooming&&!r.zooming&&this.fire(new e.b("zoomstart",t)),this._rotating&&!r.rotating&&this.fire(new e.b("rotatestart",t)),this._pitching&&!r.pitching&&this.fire(new e.b("pitchstart",t))}_fireMoveEvents(t){this.fire(new e.b("move",t)),this._zooming&&this.fire(new e.b("zoom",t)),this._rotating&&this.fire(new e.b("rotate",t)),this._pitching&&this.fire(new e.b("pitch",t))}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;this._easeId=void 0,this.transform.cameraElevationReference="ground";const r=this._zooming,n=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new e.b("zoomend",t)),n&&this.fire(new e.b("rotateend",t)),o&&this.fire(new e.b("pitchend",t)),this.fire(new e.b("moveend",t))}flyTo(t,i){if(this._prefersReducedMotion(t)){const r=e.af(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(r,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.d8},t);const r=this.transform,n=this.getZoom(),o=this.getBearing(),s=this.getPitch(),a=this.getPadding(),l="zoom"in t?e.ad(+t.zoom,r.minZoom,r.maxZoom):n,c="bearing"in t?this._normalizeBearing(t.bearing,o):o,h="pitch"in t?+t.pitch:s,u=this._extendPadding(t.padding),d=r.zoomScale(l-n),p=e.P.convert(t.offset);let f=r.centerPoint.add(p);const m=r.pointLocation(f),_=e.bq.convert(t.center||m);this._normalizeCenter(_);const g=r.project(m),y=r.project(_).sub(g);let x=t.curve;const v=Math.max(r.width,r.height),b=v/d,w=y.mag();if("minZoom"in t){const i=e.ad(Math.min(t.minZoom,n,l),r.minZoom,r.maxZoom),o=v/r.zoomScale(i-n);x=Math.sqrt(o/w*2)}const T=x*x;function E(e){const t=(b*b-v*v+(e?-1:1)*T*T*w*w)/(2*(e?b:v)*T*w);return Math.log(Math.sqrt(t*t+1)-t)}function S(e){return(Math.exp(e)-Math.exp(-e))/2}function M(e){return(Math.exp(e)+Math.exp(-e))/2}const A=E(0);let I=function(e){return M(A)/M(A+x*e)},C=function(e){return v*((M(A)*(S(t=A+x*e)/M(t))-S(A))/T)/w;var t},P=(E(1)-A)/x;if(Math.abs(w)<1e-6||!isFinite(P)){if(Math.abs(v-b)<1e-6)return this.easeTo(t,i);const e=bt.maxDuration&&(t.duration=0);const z=o!==c,D=h!==s,R=!r.isPaddingEqual(u),L=r=>d=>{const m=d*P,x=1/I(m);r.zoom=1===d?l:n+r.scaleZoom(x),z&&(r.bearing=e.X(o,c,d)),D&&(r.pitch=e.X(s,h,d)),R&&(r.interpolatePadding(a,u,d),f=r.centerPoint.add(p));const v=1===d?_:r.unproject(g.add(y.mult(C(m))).mult(x));return r.setLocationAtPoint(r.renderWorldCopies?v.wrap():v,f),r._updateCameraOnTerrain(),t.preloadOnly||this._fireMoveEvents(i),r};if(t.preloadOnly){const e=this._emulate(L,t.duration,r);return this._preloadTiles(e),this}return this._zooming=!0,this._rotating=z,this._pitching=D,this._padding=R,this._prepareEase(i,!1),this._ease(L(r),(()=>this._afterEase(i)),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_requestRenderFrame(e){}_cancelRenderFrame(e){}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),this._easeFrameId=void 0,this._onEaseFrame=void 0),this._onEaseEnd){const e=this._onEaseEnd;this._onEaseEnd=void 0,e.call(this,t)}if(!e){const e=this.handlers;e&&e.stop(!1)}return this}_ease(t,i,r){!1===r.animate||0===r.duration?(t(1),i()):(this._easeStart=e.f.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=i,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_renderFrameCallback(){const t=Math.min((e.f.now()-this._easeStart)/this._easeOptions.duration,1),i=this._onEaseFrame;i&&i(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()}_normalizeBearing(t,i){t=e.bk(t,-180,180);const r=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0}_prefersReducedMotion(t){return this._respectPrefersReducedMotion&&e.f.prefersReducedMotion&&!(t&&t.essential)}_emulate(e,t,i){const r=Math.ceil(15*t/1e3),n=[],o=e(i.clone());for(let s=0;s<=r;s++){const e=o(s/r);n.push(e.clone())}return n}_preloadTiles(e,t){}}class Js{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t,e.a$(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)}getDefaultPosition(){return"bottom-right"}onAdd(e){const t=this.options&&this.options.compact;return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=o("button","mapboxgl-ctrl-attrib-button",this._container),o("span","mapboxgl-ctrl-icon",this._compactButton).setAttribute("aria-hidden","true"),this._compactButton.type="button",this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o("div","mapboxgl-ctrl-attrib-inner",this._container),t&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===t&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0}_setElementTitle(e,t){const i=this._map._getUIString(`AttributionControl.${t}`);e.removeAttribute("title"),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}_toggleAttribution(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-expanded","true"))}_updateEditLink(){let t=this._editLink;t||(t=this._editLink=this._container.querySelector(".mapbox-improve-map"));const i=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||e.dd.ACCESS_TOKEN}];if(t){const r=i.reduce(((e,t,r)=>(t.value&&(e+=`${t.key}=${t.value}${re.length-t.length)),e=e.filter(((t,i)=>{for(let r=i+1;r=0)return!1;return!0})),this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=[...this.options.customAttribution,...e]:e.unshift(this.options.customAttribution));const i=e.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,e.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}_updateCompact(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")}}class ea{constructor(){e.a$(["_updateLogo","_updateCompact"],this)}onAdd(e){this._map=e,this._container=o("div","mapboxgl-ctrl");const t=o("a","mapboxgl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://www.mapbox.com/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){this._container.remove(),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)}getDefaultPosition(){return"bottom-left"}_updateLogo(e){e&&"metadata"!==e.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")}_logoRequired(){if(!this._map.style)return!0;const e=this._map.style._sourceCaches;if(0===Object.entries(e).length)return!0;for(const t in e){const i=e[t].getSource();if(i.hasOwnProperty("mapbox_logo")&&!i.mapbox_logo)return!1}return!0}_updateCompact(){const e=this._container.children;if(e.length){const t=e[0];this._map.getCanvasContainer().offsetWidth<250?t.classList.add("mapboxgl-compact"):t.classList.remove("mapboxgl-compact")}}}class ta{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){const t=this._currentlyRunning,i=t?this._queue.concat(t):this._queue;for(const r of i)if(r.id===e)return void(r.cancelled=!0)}run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const t=this._currentlyRunning=this._queue;this._queue=[];for(const i of t)if(!i.cancelled&&(i.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}function ia(t,i,r){if(t=new e.bq(t.lng,t.lat),i){const n=new e.bq(t.lng-360,t.lat),o=new e.bq(t.lng+360,t.lat),s=360*Math.ceil(Math.abs(t.lng-r.center.lng)/360),a=r.locationPoint(t).distSqr(i),l=i.x<0||i.y<0||i.x>r.width||i.y>r.height;r.locationPoint(n).distSqr(i)180;){const e=r.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=r.width&&e.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}const ra={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};class na extends e.E{constructor(t,i){if(super(),(t instanceof HTMLElement||i)&&(t=e.e({element:t},i)),e.a$(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress","_clearFadeTimer"],this),this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment||"auto",this._updateMoving=()=>this._update(!0),this._occludedOpacity=t&&t.occludedOpacity||.2,t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o("div");const i=41,r=27,n=s("svg",{display:"block",height:i*this._scale+"px",width:r*this._scale+"px",viewBox:`0 0 ${r} ${i}`},this._element),a=s("radialGradient",{id:"shadowGradient"},s("defs",{},n));s("stop",{offset:"10%","stop-opacity":.4},a),s("stop",{offset:"100%","stop-opacity":.05},a),s("ellipse",{cx:13.5,cy:34.8,rx:10.5,ry:5.25,fill:"url(#shadowGradient)"},n),s("path",{fill:this._color,d:"M27,13.5C27,19.07 20.25,27 14.75,34.5C14.02,35.5 12.98,35.5 12.25,34.5C6.75,27 0,19.22 0,13.5C0,6.04 6.04,0 13.5,0C20.96,0 27,6.04 27,13.5Z"},n),s("path",{opacity:.25,d:"M13.5,0C6.04,0 0,6.04 0,13.5C0,19.22 6.75,27 12.25,34.5C13,35.52 14.02,35.5 14.75,34.5C20.25,27 27,19.07 27,13.5C27,6.04 20.96,0 13.5,0ZM13.5,1C20.42,1 26,6.58 26,13.5C26,15.9 24.5,19.18 22.22,22.74C19.95,26.3 16.71,30.14 13.94,33.91C13.74,34.18 13.61,34.32 13.5,34.44C13.39,34.32 13.26,34.18 13.06,33.91C10.28,30.13 7.41,26.31 5.02,22.77C2.62,19.23 1,15.95 1,13.5C1,6.58 6.58,1 13.5,1Z"},n),s("circle",{fill:"white",cx:13.5,cy:13.5,r:5.5},n),this._offset=e.P.convert(t&&t.offset||[0,-14])}this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label","Map marker"),this._element.hasAttribute("role")||this._element.setAttribute("role","img"),this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(e=>{e.preventDefault()})),this._element.addEventListener("mousedown",(e=>{e.preventDefault()}));const r=this._element.classList;for(const e in ra)r.remove(`mapboxgl-marker-anchor-${e}`);r.add(`mapboxgl-marker-anchor-${this._anchor}`);const n=t&&t.className?t.className.trim().split(/\s+/):[];r.add(...n),this._popup=null}addTo(e){return e===this._map||(this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._updateMoving),e.on("moveend",this._update),e.on("remove",this._clearFadeTimer),e._addMarker(this),this.setDraggable(this._draggable),this._update(),e.on("click",this._onMapClick)),this}remove(){const e=this._map;return e&&(e.off("click",this._onMapClick),e.off("move",this._updateMoving),e.off("moveend",this._update),e.off("mousedown",this._addDragHandler),e.off("touchstart",this._addDragHandler),e.off("mouseup",this._onUp),e.off("touchend",this._onUp),e.off("mousemove",this._onMove),e.off("touchmove",this._onMove),e.off("remove",this._clearFadeTimer),e._removeMarker(this),this._map=void 0),this._clearFadeTimer(),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.bq.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(!0),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeAttribute("role"),this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const t=38.1,i=13.5,r=Math.sqrt(Math.pow(i,2)/2);e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-t],"bottom-left":[r,-1*(t-i+r)],"bottom-right":[-r,-1*(t-i+r)],left:[i,-1*(t-i)],right:[-i,-1*(t-i)]}:this._offset}this._popup=e,e._marker=this,this._lngLat&&this._popup.setLngLat(this._lngLat),this._element.setAttribute("role","button"),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress),this._element.setAttribute("aria-expanded","false")}return this}_onKeyPress(e){const t=e.code,i=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==i&&13!==i||this.togglePopup()}_onMapClick(e){const t=e.originalEvent.target,i=this._element;this._popup&&(t===i||i.contains(t))&&this.togglePopup()}getPopup(){return this._popup}togglePopup(){const e=this._popup;return e?(e.isOpen()?(e.remove(),this._element.setAttribute("aria-expanded","false")):this._map&&(e.addTo(this._map),this._element.setAttribute("aria-expanded","true")),this):this}_behindTerrain(){const e=this._map,t=this._pos;if(!e||!t)return!1;const i=e.unproject(t),r=e.getFreeCameraOptions();if(!r.position)return!1;const n=r.position.toLngLat();return n.distanceTo(i)<.9*n.distanceTo(this._lngLat)}_evaluateOpacity(){const t=this._map;if(!t)return;const i=this._pos;if(!i||i.x<0||i.x>t.transform.width||i.y<0||i.y>t.transform.height)return void this._clearFadeTimer();const r=t.unproject(i);let n;t._showingGlobe()&&e.de(t.transform,this._lngLat)?n=0:(n=1-t._queryFogOpacity(r),t.transform._terrainEnabled()&&t.getTerrain()&&this._behindTerrain()&&(n*=this._occludedOpacity)),this._element.style.opacity=`${n}`,this._element.style.pointerEvents=n>0?"auto":"none",this._popup&&this._popup._setOpacity(n),this._fadeTimer=null}_clearFadeTimer(){this._fadeTimer&&(clearTimeout(this._fadeTimer),this._fadeTimer=null)}_updateDOM(){const e=this._pos;if(!e||!this._map)return;const t=this._offset.mult(this._scale);this._element.style.transform=`\n translate(${e.x}px,${e.y}px)\n ${ra[this._anchor]}\n ${this._calculateXYTransform()} ${this._calculateZTransform()}\n translate(${t.x}px,${t.y}px)\n `}_calculateXYTransform(){const t=this._pos,i=this._map,r=this.getPitchAlignment();if(!i||!t||"map"!==r)return"";if(!i._showingGlobe()){const e=i.getPitch();return e?`rotateX(${e}deg)`:""}const n=e.bI(e.df(i.transform,this._lngLat)),o=t.sub(e.dg(i.transform)),s=Math.abs(o.x)+Math.abs(o.y);if(0===s)return"";const a=n/s;return`rotateX(${-o.y*a}deg) rotateY(${o.x*a}deg)`}_calculateZTransform(){const t=this._pos,i=this._map;if(!i||!t)return"";let r=0;const n=this.getRotationAlignment();if("map"===n)if(i._showingGlobe()){const t=i.project(new e.bq(this._lngLat.lng,this._lngLat.lat+.001)),n=i.project(new e.bq(this._lngLat.lng,this._lngLat.lat-.001)).sub(t);r=e.bI(Math.atan2(n.y,n.x))-90}else r=-i.getBearing();else if("horizon"===n){const n=e.S(4,6,i.getZoom()),o=e.dg(i.transform);o.y+=n*i.transform.height;const s=t.sub(o),a=e.bI(Math.atan2(s.y,s.x));r=(a>90?a-270:a+90)*(1-n)}return r+=this._rotation,r?`rotateZ(${r}deg)`:""}_update(e){cancelAnimationFrame(this._updateFrameId);const t=this._map;t&&(t.transform.renderWorldCopies&&(this._lngLat=ia(this._lngLat,this._pos,t.transform)),this._pos=t.project(this._lngLat),!0===e?this._updateFrameId=requestAnimationFrame((()=>{this._element&&this._pos&&this._anchor&&(this._pos=this._pos.round(),this._updateDOM())})):this._pos=this._pos.round(),t._requestDomTask((()=>{this._map&&(this._element&&this._pos&&this._anchor&&this._updateDOM(),(t._showingGlobe()||t.getTerrain()||t.getFog())&&!this._fadeTimer&&(this._fadeTimer=setTimeout(this._evaluateOpacity.bind(this),60)))})))}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(e){return this._element.classList.add(e),this}removeClassName(e){return this._element.classList.remove(e),this}toggleClassName(e){return this._element.classList.toggle(e)}_onMove(t){const i=this._map;if(!i)return;const r=this._pointerdownPos,n=this._positionDelta;if(r&&n){if(!this._isDragging){const e=this._clickTolerance||i._clickTolerance;if(t.point.dist(r)0&&void 0!==arguments[0]?arguments[0]:new e.P(0,0),i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"bottom";if("number"==typeof t){const r=Math.round(Math.sqrt(.5*Math.pow(t,2)));switch(i){case"top":return new e.P(0,t);case"top-left":return new e.P(r,r);case"top-right":return new e.P(-r,r);case"bottom":return new e.P(0,-t);case"bottom-left":return new e.P(r,-r);case"bottom-right":return new e.P(-r,-r);case"left":return new e.P(t,0);case"right":return new e.P(-t,0)}return new e.P(0,0)}return t instanceof e.P||Array.isArray(t)?e.P.convert(t):e.P.convert(t[i]||[0,0])}class la{constructor(e){this.jumpTo(e)}getValue(t){if(t<=this._startTime)return this._start;if(t>=this._endTime)return this._end;const i=e.ch((t-this._startTime)/(this._endTime-this._startTime));return this._start*(1-i)+this._end*i}isEasing(e){return e>=this._startTime&&e<=this._endTime}jumpTo(e){this._startTime=-1/0,this._endTime=-1/0,this._start=e,this._end=e}easeTo(e,t,i){this._start=this.getValue(t),this._end=e,this._startTime=t,this._endTime=t+i}}class ca{registerParameter(e,t,i,r,n){}registerButton(e,t,i){}registerBinding(e,t,i,r){}refreshUI(){}}const ha={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","Map.Title":"Map","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScrollZoomBlocker.CtrlMessage":"Use ctrl + scroll to zoom the map","ScrollZoomBlocker.CmdMessage":"Use \u2318 + scroll to zoom the map","TouchPanBlocker.Message":"Use two fingers to move the map"},ua={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:85,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,performanceMetricsCollection:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,antialias:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,minTileCacheSize:null,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",localFontFamily:null,transformRequest:null,accessToken:null,fadeDuration:300,respectPrefersReducedMotion:!0,crossSourceCollisions:!0,collectResourceTiming:!1,testMode:!1},da={showCompass:!0,showZoom:!0,visualizePitch:!1};class pa{constructor(t,i){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._clickTolerance=10,this.element=i,this.mouseRotate=new Ts({clickTolerance:t.dragRotate._mouseRotate._clickTolerance}),this.map=t,r&&(this.mousePitch=new Es({clickTolerance:t.dragRotate._mousePitch._clickTolerance})),e.a$(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),i.addEventListener("mousedown",this.mousedown),i.addEventListener("touchstart",this.touchstart,{passive:!1}),i.addEventListener("touchmove",this.touchmove),i.addEventListener("touchend",this.touchend),i.addEventListener("touchcancel",this.reset)}down(e,t){this.mouseRotate.mousedown(e,t),this.mousePitch&&this.mousePitch.mousedown(e,t),h()}move(e,t){const i=this.map,r=this.mouseRotate.mousemoveWindow(e,t),n=r&&r.bearingDelta;if(n&&i.setBearing(i.getBearing()+n),this.mousePitch){const r=this.mousePitch.mousemoveWindow(e,t),n=r&&r.pitchDelta;n&&i.setPitch(i.getPitch()+n)}}off(){const e=this.element;e.removeEventListener("mousedown",this.mousedown),e.removeEventListener("touchstart",this.touchstart,{passive:!1}),e.removeEventListener("touchmove",this.touchmove),e.removeEventListener("touchend",this.touchend),e.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){u(),window.removeEventListener("mousemove",this.mousemove),window.removeEventListener("mouseup",this.mouseup)}mousedown(t){this.down(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),f(this.element,t)),window.addEventListener("mousemove",this.mousemove),window.addEventListener("mouseup",this.mouseup)}mousemove(e){this.move(e,f(this.element,e))}mouseup(e){this.mouseRotate.mouseupWindow(e),this.mousePitch&&this.mousePitch.mouseupWindow(e),this.offTemp()}touchstart(e){1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m(this.element,e.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:()=>e.preventDefault()},this._startPos))}touchmove(e){1!==e.targetTouches.length?this.reset():(this._lastPos=m(this.element,e.targetTouches)[0],this.move({preventDefault:()=>e.preventDefault()},this._lastPos))}touchend(e){0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)t.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=t.minPitch&&t.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(t.antialias&&e.dh(window)&&(t.antialias=!1,e.w("Antialiasing is disabled for this WebGL context to avoid browser bug: https://github.com/mapbox/mapbox-gl-js/issues/11609")),super(new pr(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),t),this._repaint=!!t.repaint,this._interactive=t.interactive,this._minTileCacheSize=t.minTileCacheSize,this._maxTileCacheSize=t.maxTileCacheSize,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._isInitialLoad=!0,this._crossSourceCollisions=t.crossSourceCollisions,this._collectResourceTiming=t.collectResourceTiming,this._language=this._parseLanguage(t.language),this._worldview=t.worldview,this._renderTaskQueue=new ta,this._domRenderTaskQueue=new ta,this._controls=[],this._markers=[],this._popups=[],this._mapId=e.aF(),this._locale=e.e({},ha,t.locale),this._clickTolerance=t.clickTolerance,this._cooperativeGestures=t.cooperativeGestures,this._performanceMetricsCollection=t.performanceMetricsCollection,this._containerWidth=0,this._containerHeight=0,this._showParseStatus=!0,this._averageElevationLastSampledAt=-1/0,this._averageElevationExaggeration=0,this._averageElevation=new la(0),this._interactionRange=[1/0,-1/0],this._visibilityHidden=0,this._useExplicitProjection=!1,this._requestManager=new e.di(t.transformRequest,t.accessToken,t.testMode),this._silenceAuthErrors=!!t.testMode,this._contextCreateOptions=t.contextCreateOptions?{...t.contextCreateOptions}:{},"string"==typeof t.container){const e=document.getElementById(t.container);if(!e)throw new Error(`Container '${t.container.toString()}' not found.`);this._container=e}else{if(!(t.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=t.container}if(this._container.childNodes.length>0&&e.w("The map container element should be empty, otherwise the map's interactivity will be negatively impacted. If you want to display a message when WebGL is not supported, use the Mapbox GL Supported plugin instead."),t.maxBounds&&this.setMaxBounds(t.maxBounds),e.a$(["_onWindowOnline","_onWindowResize","_onVisibilityChange","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._tp=t.devtools?new ca(this):new ca,this._tp.registerParameter(this,["Debug"],"showOverdrawInspector"),this._tp.registerParameter(this,["Debug"],"showTileBoundaries"),this._tp.registerParameter(this,["Debug"],"showParseStatus"),this._tp.registerParameter(this,["Debug"],"repaint"),this._tp.registerParameter(this,["Debug"],"showTileAABBs"),this._tp.registerParameter(this,["Debug"],"showPadding"),this._tp.registerParameter(this,["Debug"],"showCollisionBoxes",{noSave:!0}),this._tp.registerParameter(this.transform,["Debug"],"freezeTileCoverage",{noSave:!0},(()=>{this._update()})),this._tp.registerParameter(this,["Debug","Wireframe"],"showTerrainWireframe"),this._tp.registerParameter(this,["Debug","Wireframe"],"showLayers2DWireframe"),this._tp.registerParameter(this,["Debug","Wireframe"],"showLayers3DWireframe"),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");if(this.on("move",(()=>this._update(!1))),this.on("moveend",(()=>this._update(!1))),this.on("zoom",(()=>this._update(!0))),this._fullscreenchangeEvent="onfullscreenchange"in document?"fullscreenchange":"webkitfullscreenchange",window.addEventListener("online",this._onWindowOnline,!1),window.addEventListener("resize",this._onWindowResize,!1),window.addEventListener("orientationchange",this._onWindowResize,!1),window.addEventListener(this._fullscreenchangeEvent,this._onWindowResize,!1),window.addEventListener("visibilitychange",this._onVisibilityChange,!1),this.handlers=new Xs(this,t),this._localFontFamily=t.localFontFamily,this._localIdeographFontFamily=t.localIdeographFontFamily,(t.style||!t.testMode)&&this.setStyle(t.style||e.dd.DEFAULT_STYLE,{config:t.config,localFontFamily:this._localFontFamily,localIdeographFontFamily:this._localIdeographFontFamily}),t.projection&&this.setProjection(t.projection),t.hash&&(this._hash=new es("string"==typeof t.hash&&t.hash||void 0).addTo(this)),!this._hash||!this._hash._onHashChange()){null==i.center&&null==i.zoom||(this.transform._unmodified=!1),this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch});const r=t.bounds;r&&(this.resize(),this.fitBounds(r,e.e({},t.fitBoundsOptions,{duration:0})))}this.resize(),t.attributionControl&&this.addControl(new Js({customAttribution:t.customAttribution})),this._logoControl=new ea,this.addControl(this._logoControl,t.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet),this._postStyleLoadEvent()})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.b(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.b(`${t.dataType}dataloading`,t))}))}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.a(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const r=t.onAdd(this);this._controls.push(t);const n=this._controlPositions[i];return-1!==i.indexOf("bottom")?n.insertBefore(r,n.firstChild):n.appendChild(r),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.a(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}resize(t){if(this._updateContainerDimensions(),this._containerWidth===this.transform.width&&this._containerHeight===this.transform.height)return this;this._resizeCanvas(this._containerWidth,this._containerHeight),this.transform.resize(this._containerWidth,this._containerHeight),this.painter.resize(Math.ceil(this._containerWidth),Math.ceil(this._containerHeight));const i=!this._moving;return i&&this.fire(new e.b("movestart",t)).fire(new e.b("move",t)),this.fire(new e.b("resize",t)),i&&this.fire(new e.b("moveend",t)),this}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()||null}setMaxBounds(t){return this.transform.setMaxBounds(e.ag.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t?this.setZoom(t):this.fire(new e.b("zoomstart")).fire(new e.b("zoom")).fire(new e.b("zoomend")),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t?this.setPitch(t):this.fire(new e.b("pitchstart")).fire(new e.b("pitch")).fire(new e.b("pitchend")),this;throw new Error("maxPitch must be greater than or equal to minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this.transform.renderWorldCopies||this._forceMarkerAndPopupUpdate(!0),this._update()}getLanguage(){return this._language}_parseLanguage(e){return"auto"===e?navigator.language:Array.isArray(e)?0===e.length?void 0:e.map((e=>"auto"===e?navigator.language:e)):e}setLanguage(e){const t=this._parseLanguage(e);if(!this.style||t===this._language)return this;this._language=t,this.style.reloadSources();for(const i of this._controls)i._setLanguage&&i._setLanguage(this._language);return this}getWorldview(){return this._worldview}setWorldview(e){return this.style&&e!==this._worldview?(this._worldview=e,this.style.reloadSources(),this):this}getProjection(){return this.transform.mercatorFromTransition?{name:"globe",center:[0,0]}:this.transform.getProjection()}_showingGlobe(){return"globe"===this.transform.projection.name}setProjection(e){return this._lazyInitEmptyStyle(),e?"string"==typeof e&&(e={name:e}):e=null,this._useExplicitProjection=!!e,this._prioritizeAndUpdateProjection(e,this.style.projection)}_updateProjectionTransition(){if("globe"!==this.getProjection().name)return;const t=this.transform,i=t.projection.name;let r;"globe"===i&&t.zoom>=e.bA?(t.setMercatorFromTransition(),r=!0):"mercator"===i&&t.zoom=e.bA?this.transform.setMercatorFromTransition():this.transform.setProjection(t),this.style.applyProjectionUpdate(),i&&(this.painter.clearBackgroundTiles(),this.style.clearSources(),this._update(!0),this._forceMarkerAndPopupUpdate(!0)),this}project(t){return this.transform.locationPoint3D(e.bq.convert(t))}unproject(t){return this.transform.pointLocation3D(e.P.convert(t))}isMoving(){return this._moving||this.handlers&&this.handlers.isMoving()||!1}isZooming(){return this._zooming||this.handlers&&this.handlers.isZooming()||!1}isRotating(){return this._rotating||this.handlers&&this.handlers.isRotating()||!1}_isDragging(){return this.handlers&&this.handlers._isDragging()||!1}_createDelegatedListener(e,t,i){if("mouseenter"===e||"mouseover"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e))),s=o.length?this.queryRenderedFeatures(n.point,{layers:o}):[];s.length?r||(r=!0,i.call(this,new hs(e,this,n.originalEvent,{features:s}))):r=!1},o=()=>{r=!1};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}if("mouseleave"===e||"mouseout"===e){let r=!1;const n=n=>{const o=t.filter((e=>this.getLayer(e)));(o.length?this.queryRenderedFeatures(n.point,{layers:o}):[]).length?r=!0:r&&(r=!1,i.call(this,new hs(e,this,n.originalEvent)))},o=t=>{r&&(r=!1,i.call(this,new hs(e,this,t.originalEvent)))};return{layers:new Set(t),listener:i,delegates:{mousemove:n,mouseout:o}}}{const r=e=>{const r=t.filter((e=>this.getLayer(e))),n=r.length?this.queryRenderedFeatures(e.point,{layers:r}):[];n.length&&(e.features=n,i.call(this,e),delete e.features)};return{layers:new Set(t),listener:i,delegates:{[e]:r}}}}on(e,t,i){if(void 0===i)return super.on(e,t);if(Array.isArray(t)||(t=[t]),t)for(const n of t)if(!this._isValidId(n))return this;const r=this._createDelegatedListener(e,t,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(r);for(const n in r.delegates)this.on(n,r.delegates[n]);return this}once(e,t,i){if(void 0===i)return super.once(e,t);if(Array.isArray(t)||(t=[t]),t)for(const n of t)if(!this._isValidId(n))return this;const r=this._createDelegatedListener(e,t,i);for(const n in r.delegates)this.once(n,r.delegates[n]);return this}off(e,t,i){if(void 0===i)return super.off(e,t);t=new Set(Array.isArray(t)?t:[t]);for(const o of t)if(!this._isValidId(o))return this;const r=(e,t)=>{if(e.size!==t.size)return!1;for(const i of e)if(!t.has(i))return!1;return!0},n=this._delegatedListeners?this._delegatedListeners[e]:void 0;return n&&(e=>{for(let n=0;n{r?(e.w(`Unable to perform style diff: ${String(r.message||r.error||r)}. Rebuilding the style from scratch.`),this._updateStyle(t,i)):n&&this._update(!0)}),(()=>{this._postStyleLoadEvent()})),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._localFontFamily=i.localFontFamily,this._updateStyle(t,i))}_getUIString(e){const t=this._locale[e];if(null==t)throw new Error(`Missing UI string '${e}'`);return t}_updateStyle(t,i){if(this.style&&(this.style.setEventedParent(null),this.style._remove(),this.style=void 0),t){const r=e.e({},i);i&&i.config&&(r.initialConfig=i.config,delete r.config),this.style=new Cr(this,r).setEventedParent(this,{style:this.style}).load(t)}return this._updateTerrain(),this}_lazyInitEmptyStyle(){this.style||(this.style=new Cr(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():(e.w("There is no style added to the map."),!1)}_isValidId(t){return null==t?(this.fire(new e.a(new Error("IDs can't be empty."))),!1):!e.c9(t)||(this.fire(new e.a(new Error(`IDs can't contain special symbols: "${t}".`))),!1)}addSource(e,t){return this._isValidId(e)?(this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)):this}isSourceLoaded(e){return!!this._isValidId(e)&&!!this.style&&this.style._isSourceCacheLoaded(e)}areTilesLoaded(){return this.style.areTilesLoaded()}addSourceType(e,t,i){this._lazyInitEmptyStyle(),this.style.addSourceType(e,t,i)}removeSource(e){return this._isValidId(e)?(this.style.removeSource(e),this._updateTerrain(),this._update(!0)):this}getSource(e){return this._isValidId(e)?this.style.getOwnSource(e):null}addImage(t,i){let{pixelRatio:r=1,sdf:n=!1,stretchX:o,stretchY:s,content:a}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this._lazyInitEmptyStyle(),i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap){const{width:l,height:c,data:h}=e.f.getImageData(i);this.style.addImage(t,{data:new e.h({width:l,height:c},h),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0})}else if(void 0===i.width||void 0===i.height)this.fire(new e.a(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));else{const{width:l,height:c}=i,h=i;this.style.addImage(t,{data:new e.h({width:l,height:c},new Uint8Array(h.data)),pixelRatio:r,stretchX:o,stretchY:s,content:a,sdf:n,version:0,userImage:h}),h.onAdd&&h.onAdd(this,t)}}updateImage(t,i){this._lazyInitEmptyStyle();const r=this.style.getImage(t);if(!r)return void this.fire(new e.a(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const n=i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap?e.f.getImageData(i):i,{width:o,height:s}=n,a=n.data;if(void 0===o||void 0===s)return void this.fire(new e.a(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==r.data.width||s!==r.data.height)return void this.fire(new e.a(new Error(`The width and height of the updated image (${o}, ${s})\n must be that same as the previous version of the image\n (${r.data.width}, ${r.data.height})`)));const l=!(i instanceof HTMLImageElement||ImageBitmap&&i instanceof ImageBitmap);r.data.replace(a,l),this.style.updateImage(t,r)}hasImage(t){return t?!!this.style&&!!this.style.getImage(t):(this.fire(new e.a(new Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(t,i){e.d(this._requestManager.transformRequest(t,e.R.Image),((t,r)=>{i(t,r instanceof HTMLImageElement?e.f.getImageData(r):r)}))}listImages(){return this.style.listImages()}addModel(e,t){this._lazyInitEmptyStyle(),this.style.addModel(e,t)}hasModel(t){return t?this.style.hasModel(t):(this.fire(new e.a(new Error("Missing required model id"))),!1)}removeModel(e){this.style.removeModel(e)}listModels(){return this.style.listModels()}addLayer(e,t){return this._isValidId(e.id)?(this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)):this}getSlot(e){const t=this.getLayer(e);return t&&t.slot||null}setSlot(e,t){return this.style.setSlot(e,t),this.style.mergeLayers(),this._update(!0)}addImport(e,t){return this.style.addImport(e,t),this}updateImport(e,t){return"string"!=typeof t&&t.id!==e?(this.removeImport(e),this.addImport(t)):(this.style.updateImport(e,t),this._update(!0))}removeImport(e){return this.style.removeImport(e),this}moveImport(e,t){return this.style.moveImport(e,t),this._update(!0)}moveLayer(e,t){return this._isValidId(e)?(this.style.moveLayer(e,t),this._update(!0)):this}removeLayer(e){return this._isValidId(e)?(this.style.removeLayer(e),this._update(!0)):this}getLayer(e){return this._isValidId(e)?this.style.getOwnLayer(e):null}setLayerZoomRange(e,t,i){return this._isValidId(e)?(this.style.setLayerZoomRange(e,t,i),this._update(!0)):this}setFilter(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._isValidId(e)?(this.style.setFilter(e,t,i),this._update(!0)):this}getFilter(e){return this._isValidId(e)?this.style.getFilter(e):null}setPaintProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this._isValidId(e)?(this.style.setPaintProperty(e,t,i,r),this._update(!0)):this}getPaintProperty(e,t){return this._isValidId(e)?this.style.getPaintProperty(e,t):null}setLayoutProperty(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this._isValidId(e)?(this.style.setLayoutProperty(e,t,i,r),this._update(!0)):this}getLayoutProperty(e,t){return this._isValidId(e)?this.style.getLayoutProperty(e,t):null}getSchema(e){return this.style.getSchema(e)}setSchema(e,t){return this.style.setSchema(e,t),this._update(!0)}getConfig(e){return this.style.getConfig(e)}setConfig(e,t){return this.style.setConfig(e,t),this._update(!0)}getConfigProperty(e,t){return this.style.getConfigProperty(e,t)}setConfigProperty(e,t,i){return this.style.setConfigProperty(e,t,i),this._update(!0)}setLights(e){if(this._lazyInitEmptyStyle(),e&&1===e.length&&"flat"===e[0].type){const t=e[0];t.properties?this.style.setFlatLight(t.properties,t.id,{}):this.style.setFlatLight({},"flat")}else this.style.setLights(e),this.painter.terrain&&(this.painter.terrain.invalidateRenderCache=!0);return this._update(!0)}getLights(){const e=this.style.getLights()||[];return 0===e.length&&e.push({id:this.style.light.id,type:"flat",properties:this.style.getFlatLight()}),e}setLight(e){return console.log("The `map.setLight` function is deprecated, prefer using `map.setLights` with `flat` light type instead."),this.setLights([{id:"flat",type:"flat",properties:e}])}getLight(){return console.log("The `map.getLight` function is deprecated, prefer using `map.getLights` instead."),this.style.getFlatLight()}setTerrain(e){return this._lazyInitEmptyStyle(),!e&&this.transform.projection.requiresDraping?this.style.setTerrainForDraping():this.style.setTerrain(e),this._averageElevationLastSampledAt=-1/0,this._update(!0)}getTerrain(){return this.style?this.style.getTerrain():null}setFog(e){return this._lazyInitEmptyStyle(),this.style.setFog(e),this._update(!0)}getFog(){return this.style?this.style.getFog():null}setCamera(e){return this.style.setCamera(e),this._triggerCameraUpdate(e)}_triggerCameraUpdate(e){return this._update(this.transform.setOrthographicProjectionAtLowPitch("orthographic"===e["camera-projection"]))}getCamera(){return this.style.camera}_queryFogOpacity(t){return this.style&&this.style.fog?this.style.fog.getOpacityAtLatLng(e.bq.convert(t),this.transform):0}setFeatureState(e,t){return this._isValidId(e.source)?(this.style.setFeatureState(e,t),this._update()):this}removeFeatureState(e,t){return this._isValidId(e.source)?(this.style.removeFeatureState(e,t),this._update()):this}getFeatureState(e){return this._isValidId(e.source)?this.style.getFeatureState(e):null}_updateContainerDimensions(){if(!this._container)return;const e=this._container.getBoundingClientRect().width||400,t=this._container.getBoundingClientRect().height||300;let i,r,n,o=this._container;for(;o&&(!r||!n);){const e=window.getComputedStyle(o).transform;e&&"none"!==e&&(i=e.match(/matrix.*\((.+)\)/)[1].split(", "),i[0]&&"0"!==i[0]&&"1"!==i[0]&&(r=i[0]),i[3]&&"0"!==i[3]&&"1"!==i[3]&&(n=i[3])),o=o.parentElement}this._containerWidth=r?Math.abs(e/r):e,this._containerHeight=n?Math.abs(t/n):t}_detectMissingCSS(){"rgb(250, 128, 114)"!==window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&e.w("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")}_setupContainer(){const e=this._container;e.classList.add("mapboxgl-map"),(this._missingCSSCanary=o("div","mapboxgl-canary",e)).style.visibility="hidden",this._detectMissingCSS();const t=this._canvasContainer=o("div","mapboxgl-canvas-container",e);this._canvas=o("canvas","mapboxgl-canvas",t),this._interactive&&(t.classList.add("mapboxgl-interactive"),this._canvas.setAttribute("tabindex","0")),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region"),this._updateContainerDimensions(),this._resizeCanvas(this._containerWidth,this._containerHeight);const i=this._controlContainer=o("div","mapboxgl-control-container",e),r=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((e=>{r[e]=o("div",`mapboxgl-ctrl-${e}`,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,i){const r=e.f.devicePixelRatio||1;this._canvas.width=r*Math.ceil(t),this._canvas.height=r*Math.ceil(i),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${i}px`}_addMarker(e){this._markers.push(e)}_removeMarker(e){const t=this._markers.indexOf(e);-1!==t&&this._markers.splice(t,1)}_addPopup(e){this._popups.push(e)}_removePopup(e){const t=this._popups.indexOf(e);-1!==t&&this._popups.splice(t,1)}_setupPainter(){const t=e.e({},i.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),r=this._canvas.getContext("webgl2",t);r?(e.dj(r,!0),this.painter=new Ko(r,this._contextCreateOptions,this.transform,this._tp),this.on("data",(e=>{"source"===e.dataType&&this.painter.setTileLoadedFlag(!0)})),e.dk.testSupport(r)):this.fire(new e.a(new Error("Failed to initialize WebGL")))}_contextLost(t){t.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new e.b("webglcontextlost",{originalEvent:t}))}_contextRestored(t){this._setupPainter(),this.resize(),this._update(),this.fire(new e.b("webglcontextrestored",{originalEvent:t}))}_onMapScroll(e){if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style?(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_requestDomTask(e){!this.loaded()||this.loaded()&&!this.isMoving()?e():this._domRenderTaskQueue.add(e)}_render(t){let i;this.fire(new e.b("renderstart"));const r=this.painter.context.extTimerQuery,n=e.f.now(),o=this.painter.context.gl;if(this.listens("gpu-timing-frame")&&(i=o.createQuery(),o.beginQuery(r.TIME_ELAPSED_EXT,i)),this.painter.context.setDirty(),this.painter.setBaseState(),(this.isMoving()||this.isRotating()||this.isZooming())&&(this._interactionRange[0]=Math.min(this._interactionRange[0],performance.now()),this._interactionRange[1]=Math.max(this._interactionRange[1],performance.now())),this._renderTaskQueue.run(t),this._domRenderTaskQueue.run(t),this._removed)return;this._updateProjectionTransition();const s=this._isInitialLoad?0:this._fadeDuration;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=this.transform.pitch,r=e.f.now(),n=new e.N(t,{now:r,fadeDuration:s,pitch:i,transition:this.style.transition});this.style.update(n)}this.style&&this.style.hasFogTransition()&&(this.style._markersNeedUpdate=!0,this._sourcesDirty=!0);let a=!1;if(this.style&&this._sourcesDirty?(this._sourcesDirty=!1,this.painter._updateFog(this.style),this._updateTerrain(),a=this._updateAverageElevation(n),this.style.updateSources(this.transform),this._forceMarkerAndPopupUpdate()):a=this._updateAverageElevation(n),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,s,this._crossSourceCollisions),this.style&&this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showParseStatus:this.showParseStatus,wireframe:{terrain:this.showTerrainWireframe,layers2D:this.showLayers2DWireframe,layers3D:this.showLayers3DWireframe},showOverdrawInspector:this._showOverdrawInspector,showQueryGeometry:!!this._showQueryGeometry,showTileAABBs:this.showTileAABBs,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:s,isInitialLoad:this._isInitialLoad,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer"),gpuTimingDeferredRender:!!this.listens("gpu-timing-deferred-render"),speedIndexTiming:this.speedIndexTiming}),this.fire(new e.b("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new e.b("load"))),this.style&&this.style.hasTransitions()&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),i){const t=e.f.now()-n;o.endQuery(r.TIME_ELAPSED_EXT),setTimeout((()=>{const r=o.getQueryParameter(i,o.QUERY_RESULT)/1e6;o.deleteQuery(i),this.fire(new e.b("gpu-timing-frame",{cpuTime:t,gpuTime:r}))}),50)}if(this.listens("gpu-timing-layer")){const t=this.painter.collectGpuTimers();setTimeout((()=>{const i=this.painter.queryGpuTimers(t);this.fire(new e.b("gpu-timing-layer",{layerTimes:i}))}),50)}if(this.listens("gpu-timing-deferred-render")){const t=this.painter.collectDeferredRenderGpuQueries();setTimeout((()=>{const i=this.painter.queryGpuTimeDeferredRender(t);this.fire(new e.b("gpu-timing-deferred-render",{gpuTime:i}))}),50)}const l=this._sourcesDirty||this._styleDirty||this._placementDirty||a;if(l||this._repaint)this.triggerRepaint();else{const t=!this.isMoving()&&this.loaded();if(t&&(a=this._updateAverageElevation(n,!0)),a)this.triggerRepaint();else if(this._triggerFrame(!1),t&&(this.fire(new e.b("idle")),this._isInitialLoad=!1,this.speedIndexTiming)){const t=this._calculateSpeedIndex();this.fire(new e.b("speedindexcompleted",{speedIndex:t})),this.speedIndexTiming=!1}}!this._loaded||this._fullyLoaded||l||(this._fullyLoaded=!0,this._performanceMetricsCollection&&e.dl(this._requestManager._customAccessToken,{width:this.painter.width,height:this.painter.height,interactionRange:this._interactionRange,visibilityHidden:this._visibilityHidden,terrainEnabled:!!this.painter.style.getTerrain(),fogEnabled:!!this.painter.style.getFog(),projection:this.getProjection().name,zoom:this.transform.zoom,renderer:this.painter.context.renderer,vendor:this.painter.context.vendor}),this._authenticate())}_forceMarkerAndPopupUpdate(e){for(const t of this._markers)e&&!this.getRenderWorldCopies()&&(t._lngLat=t._lngLat.wrap()),t._update();for(const t of this._popups)!e||this.getRenderWorldCopies()||t._trackPointer||(t._lngLat=t._lngLat.wrap()),t._update()}_updateAverageElevation(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=e=>(this.transform.averageElevation=e,this._update(!1),!0);if(!this.painter.averageElevationNeedsEasing())return 0!==this.transform.averageElevation&&i(0);const r=this.transform.elevation&&this.transform.elevation.exaggeration()!==this._averageElevationExaggeration;if(r||(t||e-this._averageElevationLastSampledAt>500)&&!this._averageElevation.isEasing(e)){const t=this.transform.averageElevation;let n=this.transform.sampleAverageElevation();this.transform.elevation&&(this._averageElevationExaggeration=this.transform.elevation.exaggeration()),isNaN(n)?n=0:this._averageElevationLastSampledAt=e;const o=Math.abs(t-n);if(o>1){if(this._isInitialLoad||r)return this._averageElevation.jumpTo(n),i(n);this._averageElevation.easeTo(n,e,300)}else if(o>1e-4)return this._averageElevation.jumpTo(n),i(n)}return!!this._averageElevation.isEasing(e)&&i(this._averageElevation.getValue(e))}_authenticate(){e.dm(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(t=>{if(t&&(t.message===e.dn||401===t.status)){const t=this.painter.context.gl;e.dj(t,!1),this._logoControl instanceof ea&&this._logoControl._updateLogo(),t&&t.clear(t.DEPTH_BUFFER_BIT|t.COLOR_BUFFER_BIT|t.STENCIL_BUFFER_BIT),this._silenceAuthErrors||this.fire(new e.a(new Error("A valid Mapbox access token is required to use Mapbox GL JS. To create an account or a new access token, visit https://account.mapbox.com/")))}})),e.dp(this._getMapId(),this._requestManager._skuToken,this._requestManager._customAccessToken,(()=>{}))}_postStyleLoadEvent(){this.style.globalId&&e.dq(this._requestManager._customAccessToken,{map:this,skuToken:this._requestManager._skuToken,style:this.style.globalId,importedStyles:this.style.getImportGlobalIds()})}_updateTerrain(){const e=this._isDragging();this.painter.updateTerrain(this.style,e)}_calculateSpeedIndex(){const e=this.painter.canvasCopy(),t=this.painter.getCanvasCopiesAndTimestamps();t.timeStamps.push(performance.now());const i=this.painter.context.gl,r=i.createFramebuffer();function n(e){i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,e,0);const t=new Uint8Array(i.drawingBufferWidth*i.drawingBufferHeight*4);return i.readPixels(0,0,i.drawingBufferWidth,i.drawingBufferHeight,i.RGBA,i.UNSIGNED_BYTE,t),t}return i.bindFramebuffer(i.FRAMEBUFFER,r),this._canvasPixelComparison(n(e),t.canvasCopies.map(n),t.timeStamps)}_canvasPixelComparison(e,t,i){let r=i[1]-i[0];const n=e.length/4;for(let o=0;o{const t=!!this._renderNextFrame;this._frame=null,this._renderNextFrame=null,t&&this._render(e)})))}_preloadTiles(t){const i=this.style?this.style.getSourceCaches():[];return e.b4(i,((e,i)=>e._preloadTiles(t,i)),(()=>{this.triggerRepaint()})),this}_onWindowOnline(){this._update()}_onWindowResize(e){this._trackResize&&this.resize({originalEvent:e})._update()}_onVisibilityChange(){"hidden"===document.visibilityState&&this._visibilityHidden++}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._tp.refreshUI(),this._update())}get showParseStatus(){return!!this._showParseStatus}set showParseStatus(e){this._showParseStatus!==e&&(this._showParseStatus=e,this._tp.refreshUI(),this._update())}get showTerrainWireframe(){return!!this._showTerrainWireframe}set showTerrainWireframe(e){this._showTerrainWireframe!==e&&(this._showTerrainWireframe=e,this._tp.refreshUI(),this._update())}get showLayers2DWireframe(){return!!this._showLayers2DWireframe}set showLayers2DWireframe(e){this._showLayers2DWireframe!==e&&(this._showLayers2DWireframe=e,this._tp.refreshUI(),this._update())}get showLayers3DWireframe(){return!!this._showLayers3DWireframe}set showLayers3DWireframe(e){this._showLayers3DWireframe!==e&&(this._showLayers3DWireframe=e,this._tp.refreshUI(),this._update())}get speedIndexTiming(){return!!this._speedIndexTiming}set speedIndexTiming(e){this._speedIndexTiming!==e&&(this._speedIndexTiming=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._tp.refreshUI(),this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,this._tp.refreshUI(),e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._tp.refreshUI(),this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this._tp.refreshUI(),this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get showTileAABBs(){return!!this._showTileAABBs}set showTileAABBs(e){this._showTileAABBs!==e&&(this._showTileAABBs=e,this._tp.refreshUI(),e&&this._update())}_setCacheLimits(t,i){e.dv(t,i)}get version(){return e.du}},NavigationControl:class{constructor(t){this.options=e.e({},da,t),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this.options.showZoom&&(e.a$(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(e=>{this._map&&this._map.zoomIn({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(e=>{this._map&&this._map.zoomOut({},{originalEvent:e})})),o("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(e.a$(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(e=>{const t=this._map;t&&(this.options.visualizePitch?t.resetNorthPitch({},{originalEvent:e}):t.resetNorth({},{originalEvent:e}))})),this._compassIcon=o("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}_updateZoomButtons(){const e=this._map;if(!e)return;const t=e.getZoom(),i=t===e.getMaxZoom(),r=t===e.getMinZoom();this._zoomInButton.disabled=i,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",i.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())}_rotateCompassArrow(){const e=this._map;if(!e)return;const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(e.transform.pitch*(Math.PI/180)),.5)}) rotateX(${e.transform.pitch}deg) rotateZ(${e.transform.angle*(180/Math.PI)}deg)`:`rotate(${e.transform.angle*(180/Math.PI)}deg)`;e._requestDomTask((()=>{this._compassIcon&&(this._compassIcon.style.transform=t)}))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),e.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&e.on("pitch",this._rotateCompassArrow),e.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new pa(e,this._compass,this.options.visualizePitch)),this._container}onRemove(){const e=this._map;e&&(this._container.remove(),this.options.showZoom&&e.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&e.off("pitch",this._rotateCompassArrow),e.off("rotate",this._rotateCompassArrow),this._handler&&this._handler.off(),this._handler=void 0),this._map=void 0)}_createButton(e,t){const i=o("button",e,this._container);return i.type="button",i.addEventListener("click",t),i}_setButtonTitle(e,t){if(!this._map)return;const i=this._map._getUIString(`NavigationControl.${t}`);e.setAttribute("aria-label",i),e.firstElementChild&&e.firstElementChild.setAttribute("title",i)}},GeolocateControl:class extends e.E{constructor(t){super();const i=navigator.geolocation;this.options=e.e({geolocation:i},fa,t),e.a$(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker","_updateMarkerRotation","_onDeviceOrientation"],this),this._updateMarkerRotationThrottled=Jo(this._updateMarkerRotation,20),this._numberOfWatches=0}onAdd(e){return this._map=e,this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkGeolocationSupport(this._setupUI),this._container}onRemove(){void 0!==this._geolocationWatchID&&(this.options.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),this._container.remove(),this._map.off("zoom",this._onZoom),this._map=void 0,this._numberOfWatches=0,this._noTimeout=!1}_checkGeolocationSupport(e){var t=this;const i=function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!!t.options.geolocation;t._supportsGeolocation=i,e(i)};void 0!==this._supportsGeolocation?e(this._supportsGeolocation):void 0!==navigator.permissions?navigator.permissions.query({name:"geolocation"}).then((e=>i("denied"!==e.state))).catch((()=>i())):i()}_isOutOfMapMaxBounds(e){const t=this._map.getMaxBounds(),i=e.coords;return!!t&&(i.longitudet.getEast()||i.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}}_onSuccess(t){if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.b("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._userLocationDotMarker.removeClassName("mapboxgl-user-location-dot-stale"),this.fire(new e.b("geolocate",t)),this._finish()}}_updateCamera(t){const i=new e.bq(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,n=this._map.getBearing(),o=e.e({bearing:n},this.options.fitBoundsOptions);this._map.fitBounds(i.toBounds(r),o,{geolocateSource:!0})}_updateMarker(t){if(t){const i=new e.bq(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()}_updateCircleRadius(){const t=this._map.transform,i=e.bo(1,t._center.lat)*t.worldSize,r=Math.ceil(2*this._accuracy*i);this._circleElement.style.width=`${r}px`,this._circleElement.style.height=`${r}px`}_onZoom(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}_updateMarkerRotation(){this._userLocationDotMarker&&"number"==typeof this._heading?(this._userLocationDotMarker.setRotation(this._heading),this._userLocationDotMarker.addClassName("mapboxgl-user-location-show-heading")):(this._userLocationDotMarker.removeClassName("mapboxgl-user-location-show-heading"),this._userLocationDotMarker.setRotation(0))}_onError(t){if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&this._noTimeout)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._userLocationDotMarker.addClassName("mapboxgl-user-location-dot-stale"),this.fire(new e.b("error",t)),this._finish()}}_finish(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0}_setupUI(t){if(void 0!==this._map){if(this._container.addEventListener("contextmenu",(e=>e.preventDefault())),this._geolocateButton=o("button","mapboxgl-ctrl-geolocate",this._container),o("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===t){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.setAttribute("aria-label",t),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",t)}else{const e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.setAttribute("aria-label",e),this._geolocateButton.firstElementChild&&this._geolocateButton.firstElementChild.setAttribute("title",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o("div","mapboxgl-user-location"),this._dotElement.appendChild(o("div","mapboxgl-user-location-dot")),this._dotElement.appendChild(o("div","mapboxgl-user-location-heading")),this._userLocationDotMarker=new na({element:this._dotElement,rotationAlignment:"map",pitchAlignment:"map"}),this._circleElement=o("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new na({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this.fire(new e.b("trackuserlocationend")))}))}}_onDeviceOrientation(e){this._userLocationDotMarker&&(e.webkitCompassHeading?this._heading=e.webkitCompassHeading:!0===e.absolute&&(this._heading=-1*e.alpha),this._updateMarkerRotationThrottled())}trigger(){if(!this._setup)return e.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.b("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._numberOfWatches--,this._noTimeout=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new e.b("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.b("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._numberOfWatches++,this._numberOfWatches>1?(e={maximumAge:6e5,timeout:0},this._noTimeout=!0):(e=this.options.positionOptions,this._noTimeout=!1),this._geolocationWatchID=this.options.geolocation.watchPosition(this._onSuccess,this._onError,e),this.options.showUserHeading&&this._addDeviceOrientationListener()}}else this.options.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_addDeviceOrientationListener(){const e=()=>{"ondeviceorientationabsolute"in window?window.addEventListener("deviceorientationabsolute",this._onDeviceOrientation):window.addEventListener("deviceorientation",this._onDeviceOrientation)};"undefined"!=typeof DeviceMotionEvent&&"function"==typeof DeviceMotionEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((t=>{"granted"===t&&e()})).catch(console.error):e()}_clearWatch(){this.options.geolocation.clearWatch(this._geolocationWatchID),window.removeEventListener("deviceorientation",this._onDeviceOrientation),window.removeEventListener("deviceorientationabsolute",this._onDeviceOrientation),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},AttributionControl:Js,ScaleControl:class{constructor(t){this.options=e.e({},ma,t),this._isNumberFormatSupported=function(){try{return new Intl.NumberFormat("en",{style:"unit",unitDisplay:"short",unit:"meter"}),!0}catch(e){return!1}}(),e.a$(["_update","_setScale","setUnit"],this)}getDefaultPosition(){return"bottom-left"}_update(){const e=this.options.maxWidth||100,t=this._map,i=t._containerHeight/2,r=t._containerWidth/2-e/2,n=t.unproject([r,i]),o=t.unproject([r+e,i]),s=n.distanceTo(o);if("imperial"===this.options.unit){const t=3.2808*s;t>5280?this._setScale(e,t/5280,"mile"):this._setScale(e,t,"foot")}else"nautical"===this.options.unit?this._setScale(e,s/1852,"nautical-mile"):s>=1e3?this._setScale(e,s/1e3,"kilometer"):this._setScale(e,s,"meter")}_setScale(e,t,i){this._map._requestDomTask((()=>{const r=function(e){const t=Math.pow(10,`${Math.floor(e)}`.length-1);let i=e/t;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(e){const t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(i),t*i}(t),n=r/t;this._container.innerHTML=this._isNumberFormatSupported&&"nautical-mile"!==i?new Intl.NumberFormat(this._language,{style:"unit",unitDisplay:"short",unit:i}).format(r):`${r} ${_a[i]}`,this._container.style.width=e*n+"px"}))}onAdd(e){return this._map=e,this._language=e.getLanguage(),this._container=o("div","mapboxgl-ctrl mapboxgl-ctrl-scale",e.getContainer()),this._container.dir="auto",this._map.on("move",this._update),this._update(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._update),this._map=void 0}_setLanguage(e){this._language=e,this._update()}setUnit(e){this.options.unit=e,this._update()}},FullscreenControl:class{constructor(t){this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w("Full screen control 'container' must be a DOM element.")),e.a$(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onwebkitfullscreenchange"in document&&(this._fullscreenchange="webkitfullscreenchange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",e.w("This device does not support fullscreen mode.")),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,document.removeEventListener(this._fullscreenchange,this._changeIcon)}_checkFullscreenSupport(){return!(!document.fullscreenEnabled&&!document.webkitFullscreenEnabled)}_setupUI(){const e=this._fullscreenButton=o("button","mapboxgl-ctrl-fullscreen",this._controlContainer);o("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),document.addEventListener(this._fullscreenchange,this._changeIcon)}_updateTitle(){const e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.firstElementChild&&this._fullscreenButton.firstElementChild.setAttribute("title",e)}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_changeIcon(){(document.fullscreenElement||document.webkitFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())}_onClickFullscreen(){this._isFullscreen()?document.exitFullscreen?document.exitFullscreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()}},Popup:class extends e.E{constructor(t){super(),this.options=e.e(Object.create(oa),t),e.a$(["_update","_onClose","remove","_onMouseEvent"],this),this._classList=new Set(t&&t.className?t.className.trim().split(/\s+/):[])}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&t.on("preclick",this._onClose),this.options.closeOnMove&&t.on("move",this._onClose),t.on("remove",this.remove),this._update(),t._addPopup(this),this._focusFirstElement(),this._trackPointer?(t.on("mousemove",this._onMouseEvent),t.on("mouseup",this._onMouseEvent),t._canvasContainer.classList.add("mapboxgl-track-pointer")):t.on("move",this._update),this.fire(new e.b("open")),this}isOpen(){return!!this._map}remove(){this._content&&this._content.remove(),this._container&&(this._container.remove(),this._container=void 0);const t=this._map;return t&&(t.off("move",this._update),t.off("move",this._onClose),t.off("preclick",this._onClose),t.off("click",this._onClose),t.off("remove",this.remove),t.off("mousemove",this._onMouseEvent),t.off("mouseup",this._onMouseEvent),t.off("drag",this._onMouseEvent),t._canvasContainer&&t._canvasContainer.classList.remove("mapboxgl-track-pointer"),t._removePopup(this),this._map=void 0),this.fire(new e.b("close")),this}getLngLat(){return this._lngLat}setLngLat(t){this._lngLat=e.bq.convert(t),this._pos=null,this._trackPointer=!1,this._update();const i=this._map;return i&&(i.on("move",this._update),i.off("mousemove",this._onMouseEvent),i._canvasContainer.classList.remove("mapboxgl-track-pointer")),this}trackPointer(){this._trackPointer=!0,this._pos=null,this._update();const e=this._map;return e&&(e.off("move",this._update),e.on("mousemove",this._onMouseEvent),e.on("drag",this._onMouseEvent),e._canvasContainer.classList.add("mapboxgl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){const t=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=e;r=i.firstChild,r;)t.appendChild(r);return this.setDOMContent(t)}getMaxWidth(){return this._container&&this._container.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){let t=this._content;if(t)for(;t.hasChildNodes();)t.firstChild&&t.removeChild(t.firstChild);else t=this._content=o("div","mapboxgl-popup-content",this._container||void 0);if(t.appendChild(e),this.options.closeButton){const e=this._closeButton=o("button","mapboxgl-popup-close-button",t);e.type="button",e.setAttribute("aria-label","Close popup"),e.setAttribute("aria-hidden","true"),e.innerHTML="×",e.addEventListener("click",this._onClose)}return this._update(),this._focusFirstElement(),this}addClassName(e){return this._classList.add(e),this._updateClassList(),this}removeClassName(e){return this._classList.delete(e),this._updateClassList(),this}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){let t;return this._classList.delete(e)?t=!1:(this._classList.add(e),t=!0),this._updateClassList(),t}_onMouseEvent(e){this._update(e.point)}_getAnchor(e){if(this.options.anchor)return this.options.anchor;const t=this._map,i=this._container,r=this._pos;if(!t||!i||!r)return"bottom";const n=i.offsetWidth,o=i.offsetHeight,s=r.xt.transform.width-n/2;if(r.y+et.transform.height-o){if(s)return"bottom-left";if(a)return"bottom-right"}return s?"left":a?"right":"bottom"}_updateClassList(){const e=this._container;if(!e)return;const t=[...this._classList];t.push("mapboxgl-popup"),this._anchor&&t.push(`mapboxgl-popup-anchor-${this._anchor}`),this._trackPointer&&t.push("mapboxgl-popup-track-pointer"),e.className=t.join(" ")}_update(t){const i=this._map,r=this._content;if(!i||!this._lngLat&&!this._trackPointer||!r)return;let n=this._container;if(n||(n=this._container=o("div","mapboxgl-popup",i.getContainer()),this._tip=o("div","mapboxgl-popup-tip",n),n.appendChild(r)),this.options.maxWidth&&n.style.maxWidth!==this.options.maxWidth&&(n.style.maxWidth=this.options.maxWidth),i.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ia(this._lngLat,this._pos,i.transform)),!this._trackPointer||t){const e=this._pos=this._trackPointer&&t?t:i.project(this._lngLat),r=aa(this.options.offset),n=this._anchor=this._getAnchor(r.y),o=aa(this.options.offset,n),s=e.add(o).round();i._requestDomTask((()=>{this._container&&n&&(this._container.style.transform=`${ra[n]} translate(${s.x}px,${s.y}px)`)}))}if(!this._marker&&i._showingGlobe()){const t=e.de(i.transform,this._lngLat)?0:1;this._setOpacity(t)}this._updateClassList()}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const e=this._container.querySelector(sa);e&&e.focus()}_onClose(){this.remove()}_setOpacity(e){this._container&&(this._container.style.opacity=`${e}`),this._content&&(this._content.style.pointerEvents=e?"auto":"none")}},Marker:na,Style:Cr,LngLat:e.bq,LngLatBounds:e.ag,Point:e.P,MercatorCoordinate:e.O,FreeCameraOptions:cr,Evented:e.E,config:e.dd,prewarm:e.dy,clearPrewarmedResources:e.dz,get accessToken(){return e.dd.ACCESS_TOKEN},set accessToken(t){e.dd.ACCESS_TOKEN=t},get baseApiUrl(){return e.dd.API_URL},set baseApiUrl(t){e.dd.API_URL=t},get workerCount(){return e.dA.workerCount},set workerCount(t){e.dA.workerCount=t},get maxParallelImageRequests(){return e.dd.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(t){e.dd.MAX_PARALLEL_IMAGE_REQUESTS=t},clearStorage(t){e.dB(t)},get workerUrl(){return e.dC.workerUrl},set workerUrl(t){e.dC.workerUrl=t},get workerClass(){return e.dC.workerClass},set workerClass(t){e.dC.workerClass=t},get workerParams(){return e.dC.workerParams},set workerParams(t){e.dC.workerParams=t},get dracoUrl(){return e.dD()},set dracoUrl(t){e.dE(t)},get meshoptUrl(){return e.dF()},set meshoptUrl(t){e.dG(t)},setNow:e.f.setNow,restoreNow:e.f.restoreNow};return ga})),i}()}}]); +//# sourceMappingURL=879.822c6055.chunk.js.map \ No newline at end of file diff --git a/static/js/879.32072918.chunk.js.LICENSE.txt b/static/js/879.822c6055.chunk.js.LICENSE.txt similarity index 100% rename from static/js/879.32072918.chunk.js.LICENSE.txt rename to static/js/879.822c6055.chunk.js.LICENSE.txt diff --git a/static/js/879.32072918.chunk.js.map b/static/js/879.822c6055.chunk.js.map similarity index 99% rename from static/js/879.32072918.chunk.js.map rename to static/js/879.822c6055.chunk.js.map index 74e6598..c2ebdf9 100644 --- a/static/js/879.32072918.chunk.js.map +++ b/static/js/879.822c6055.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/879.32072918.chunk.js","mappings":"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","sources":["../node_modules/mapbox-gl/src/util/config.js","../node_modules/mapbox-gl/src/util/mapbox_url.js","../node_modules/mapbox-gl/src/util/live_performance.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/common.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/mat2.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/mat2d.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/mat3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/mat4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/vec3.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/vec4.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/quat.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/quat2.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/vec2.js","../node_modules/mapbox-gl/node_modules/gl-matrix/cjs/index.js","../node_modules/mapbox-gl/node_modules/@mapbox/unitbezier/index.js","../node_modules/mapbox-gl/node_modules/@mapbox/point-geometry/index.js","../node_modules/mapbox-gl/src/util/util.js","../node_modules/mapbox-gl/src/util/offscreen_canvas_supported.js","../node_modules/mapbox-gl/src/util/browser.js","../node_modules/mapbox-gl/src/util/url.js","../node_modules/mapbox-gl/src/util/tile_request_cache.js","../node_modules/mapbox-gl/src/util/webp_supported.js","../node_modules/mapbox-gl/src/util/ajax.js","../node_modules/mapbox-gl/src/util/sku_token.js","../node_modules/mapbox-gl/src/util/mapbox.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash3_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/murmurhash2_gc.js","../node_modules/mapbox-gl/node_modules/murmurhash-js/index.js","../node_modules/mapbox-gl/src/util/evented.js","../node_modules/mapbox-gl/node_modules/csscolorparser/csscolorparser.js","../node_modules/mapbox-gl/src/style-spec/util/color.js","../node_modules/mapbox-gl/src/style-spec/util/interpolate.js","../node_modules/mapbox-gl/src/style-spec/util/extend.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_error.js","../node_modules/mapbox-gl/src/style-spec/expression/scope.js","../node_modules/mapbox-gl/src/style-spec/expression/types.js","../node_modules/mapbox-gl/src/style-spec/expression/types/collator.js","../node_modules/mapbox-gl/src/style-spec/expression/types/formatted.js","../node_modules/mapbox-gl/src/style-spec/expression/types/resolved_image.js","../node_modules/mapbox-gl/src/style-spec/expression/values.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/literal.js","../node_modules/mapbox-gl/src/style-spec/expression/runtime_error.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/assertion.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/image.js","../node_modules/mapbox-gl/src/style-spec/util/get_type.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coercion.js","../node_modules/mapbox-gl/src/style-spec/expression/evaluation_context.js","../node_modules/mapbox-gl/src/style-spec/expression/compound_expression.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/collator.js","../node_modules/mapbox-gl/node_modules/quickselect/quickselect.js","../node_modules/mapbox-gl/src/style-spec/util/geometry_util.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/within.js","../node_modules/mapbox-gl/node_modules/cheap-ruler/cheap-ruler.js","../node_modules/mapbox-gl/node_modules/tinyqueue/tinyqueue.js","../node_modules/mapbox-gl/src/style-spec/data/extent.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/distance.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/config.js","../node_modules/mapbox-gl/src/style-spec/expression/is_constant.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/var.js","../node_modules/mapbox-gl/src/style-spec/expression/parsing_context.js","../node_modules/mapbox-gl/src/style-spec/expression/stops.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/step.js","../node_modules/mapbox-gl/src/style-spec/util/color_spaces.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/interpolate.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/coalesce.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/let.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/at.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/in.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index_of.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/match.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/case.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/slice.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/comparison.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/number_format.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/length.js","../node_modules/mapbox-gl/src/style-spec/util/random.js","../node_modules/mapbox-gl/src/style-spec/expression/definitions/index.js","../node_modules/mapbox-gl/src/style-spec/util/result.js","../node_modules/mapbox-gl/src/style-spec/util/properties.js","../node_modules/mapbox-gl/src/style-spec/function/index.js","../node_modules/mapbox-gl/src/style-spec/expression/index.js","../node_modules/mapbox-gl/node_modules/grid-index/grid-index.js","../node_modules/mapbox-gl/src/util/web_worker_transfer.js","../node_modules/mapbox-gl/src/util/is_char_in_unicode_block.js","../node_modules/mapbox-gl/src/util/script_detection.js","../node_modules/mapbox-gl/src/source/rtl_text_plugin.js","../node_modules/mapbox-gl/src/style/evaluation_parameters.js","../node_modules/mapbox-gl/src/style/properties.js","../node_modules/mapbox-gl/src/style-spec/util/unbundle_jsonlint.js","../node_modules/mapbox-gl/src/style-spec/feature_filter/index.js","../node_modules/mapbox-gl/src/util/fqid.js","../node_modules/mapbox-gl/src/style/style_layer.js","../node_modules/mapbox-gl/src/util/struct_array.js","../node_modules/mapbox-gl/src/data/array_types.js","../node_modules/mapbox-gl/src/data/bucket/circle_attributes.js","../node_modules/mapbox-gl/src/data/segment.js","../node_modules/mapbox-gl/src/shaders/encode_attribute.js","../node_modules/mapbox-gl/src/data/bucket/pattern_attributes.js","../node_modules/mapbox-gl/src/data/bucket/dash_attributes.js","../node_modules/mapbox-gl/src/data/feature_position_map.js","../node_modules/mapbox-gl/src/render/uniform_binding.js","../node_modules/mapbox-gl/src/data/program_configuration.js","../node_modules/mapbox-gl/src/geo/projection/globe_constants.js","../node_modules/mapbox-gl/src/geo/lng_lat.js","../node_modules/mapbox-gl/node_modules/@mapbox/whoots-js/index.js","../node_modules/mapbox-gl/src/source/tile_id.js","../node_modules/mapbox-gl/src/geo/mercator_coordinate.js","../node_modules/mapbox-gl/src/geo/projection/resample.js","../node_modules/mapbox-gl/src/data/load_geometry.js","../node_modules/mapbox-gl/src/data/evaluation_feature.js","../node_modules/mapbox-gl/src/data/bucket/circle_bucket.js","../node_modules/mapbox-gl/src/util/intersection_tests.js","../node_modules/mapbox-gl/src/style/query_utils.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer_properties.js","../node_modules/mapbox-gl/src/util/primitives.js","../node_modules/mapbox-gl/src/terrain/globe_attributes.js","../node_modules/mapbox-gl/src/data/pos_attributes.js","../node_modules/mapbox-gl/src/geo/projection/globe_util.js","../node_modules/mapbox-gl/src/render/program/circle_program.js","../node_modules/mapbox-gl/src/style/style_layer/circle_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/heatmap_bucket.js","../node_modules/mapbox-gl/src/util/image.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer_properties.js","../node_modules/mapbox-gl/src/util/color_ramp.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_attributes.js","../node_modules/mapbox-gl/node_modules/earcut/src/earcut.js","../node_modules/mapbox-gl/src/util/classify_rings.js","../node_modules/mapbox-gl/src/data/bucket/pattern_bucket_features.js","../node_modules/mapbox-gl/src/data/bucket/fill_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_attributes.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilefeature.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortilelayer.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/lib/vectortile.js","../node_modules/mapbox-gl/node_modules/@mapbox/vector-tile/index.js","../node_modules/mapbox-gl/src/util/polygon_clipping.js","../node_modules/mapbox-gl/3d-style/source/replacement_source.js","../node_modules/mapbox-gl/src/data/dem_tree.js","../node_modules/mapbox-gl/src/data/dem_data.js","../node_modules/mapbox-gl/src/terrain/elevation.js","../node_modules/mapbox-gl/src/data/bucket/fill_extrusion_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/fill_extrusion_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes_ext.js","../node_modules/mapbox-gl/src/data/bucket/line_attributes_pattern.js","../node_modules/mapbox-gl/src/render/line_atlas.js","../node_modules/mapbox-gl/src/data/bucket/line_bucket.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer_properties.js","../node_modules/mapbox-gl/src/source/pixels_to_tile_units.js","../node_modules/mapbox-gl/src/render/program/line_program.js","../node_modules/mapbox-gl/src/style/style_layer/line_style_layer.js","../node_modules/mapbox-gl/src/data/bucket/symbol_attributes.js","../node_modules/mapbox-gl/src/symbol/one_em.js","../node_modules/mapbox-gl/src/symbol/symbol_size.js","../node_modules/mapbox-gl/src/symbol/transform_text.js","../node_modules/mapbox-gl/src/util/verticalize_punctuation.js","../node_modules/mapbox-gl/node_modules/ieee754/index.js","../node_modules/mapbox-gl/node_modules/pbf/index.js","../node_modules/mapbox-gl/src/style/parse_glyph_pbf.js","../node_modules/mapbox-gl/src/symbol/shaping.js","../node_modules/mapbox-gl/src/symbol/anchor.js","../node_modules/mapbox-gl/src/symbol/check_max_angle.js","../node_modules/mapbox-gl/src/symbol/get_anchors.js","../node_modules/mapbox-gl/src/symbol/clip_line.js","../node_modules/mapbox-gl/node_modules/potpack/index.js","../node_modules/mapbox-gl/src/render/image_atlas.js","../node_modules/mapbox-gl/node_modules/@mapbox/tiny-sdf/index.js","../node_modules/mapbox-gl/src/render/glyph_manager.js","../node_modules/mapbox-gl/src/style/load_glyph_range.js","../node_modules/mapbox-gl/src/symbol/quads.js","../node_modules/mapbox-gl/src/util/find_pole_of_inaccessibility.js","../node_modules/mapbox-gl/src/symbol/symbol_layout.js","../node_modules/mapbox-gl/src/geo/projection/far_z.js","../node_modules/mapbox-gl/src/geo/projection/tile_transform.js","../node_modules/mapbox-gl/src/geo/projection/projection.js","../node_modules/mapbox-gl/src/geo/projection/albers.js","../node_modules/mapbox-gl/src/geo/projection/equal_earth.js","../node_modules/mapbox-gl/src/geo/projection/equirectangular.js","../node_modules/mapbox-gl/src/geo/projection/lambert.js","../node_modules/mapbox-gl/src/geo/projection/mercator.js","../node_modules/mapbox-gl/src/geo/projection/natural_earth.js","../node_modules/mapbox-gl/src/geo/projection/winkel_tripel.js","../node_modules/mapbox-gl/src/geo/projection/cylindrical_equal_area.js","../node_modules/mapbox-gl/src/geo/projection/globe.js","../node_modules/mapbox-gl/src/geo/projection/index.js","../node_modules/mapbox-gl/src/data/bucket/symbol_bucket.js","../node_modules/mapbox-gl/src/symbol/mergelines.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer_properties.js","../node_modules/mapbox-gl/src/style/format_section_override.js","../node_modules/mapbox-gl/src/style/style_layer/symbol_style_layer.js","../node_modules/mapbox-gl/src/util/resolve_tokens.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer_properties.js","../node_modules/mapbox-gl/src/data/bounds_attributes.js","../node_modules/mapbox-gl/src/render/texture.js","../node_modules/mapbox-gl/src/source/image_source.js","../node_modules/mapbox-gl/src/style/style_layer/raster_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/raster_particle_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/raster_particle_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/custom_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer_properties.js","../node_modules/mapbox-gl/src/style/style_layer/sky_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/slot_style_layer_properties.js","../node_modules/mapbox-gl/src/geo/projection/adjustments.js","../node_modules/mapbox-gl/3d-style/util/model_util.js","../node_modules/mapbox-gl/3d-style/data/model_attributes.js","../node_modules/mapbox-gl/src/style-spec/error/validation_error.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_model.js","../node_modules/mapbox-gl/3d-style/data/bucket/model_bucket.js","../node_modules/mapbox-gl/3d-style/style/style_layer/model_style_layer_properties.js","../node_modules/mapbox-gl/3d-style/data/model.js","../node_modules/mapbox-gl/src/util/throttled_invoker.js","../node_modules/mapbox-gl/src/util/scheduler.js","../node_modules/mapbox-gl/src/util/actor.js","../node_modules/mapbox-gl/src/util/dispatcher.js","../node_modules/mapbox-gl/src/util/worker_class.js","../node_modules/mapbox-gl/src/util/web_worker.js","../node_modules/mapbox-gl/src/util/worker_pool.js","../node_modules/mapbox-gl/src/util/global_worker_pool.js","../node_modules/mapbox-gl/3d-style/util/loaders.js","../node_modules/mapbox-gl/3d-style/util/draco_decoder_gltf.js","../node_modules/mapbox-gl/3d-style/util/meshopt_decoder.js","../node_modules/mapbox-gl/src/util/triangle_grid_index.js","../node_modules/mapbox-gl/3d-style/source/model_loader.js","../node_modules/mapbox-gl/src/util/dictionary_coder.js","../node_modules/mapbox-gl/src/util/vectortile_to_geojson.js","../node_modules/mapbox-gl/src/data/feature_index.js","../node_modules/mapbox-gl/3d-style/data/bucket/tiled_3d_model_bucket.js","../node_modules/mapbox-gl/3d-style/style/style_layer/model_style_layer.js","../node_modules/mapbox-gl/src/style/create_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/heatmap_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/hillshade_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/fill_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/background_style_layer.js","../node_modules/mapbox-gl/src/style/style_layer/slot_style_layer.js","../node_modules/mapbox-gl/src/data/mrt/mrt_pbf_decoder.js","../node_modules/mapbox-gl/node_modules/tiny-lru/dist/tiny-lru.js","../node_modules/mapbox-gl/src/data/mrt/filters/delta.js","../node_modules/mapbox-gl/src/data/mrt/filters/zigzag.js","../node_modules/mapbox-gl/src/data/mrt/filters/bitshuffle.js","../node_modules/mapbox-gl/src/data/mrt/error.js","../node_modules/mapbox-gl/node_modules/fflate/esm/browser.js","../node_modules/mapbox-gl/src/data/mrt/decompress.js","../node_modules/mapbox-gl/src/data/mrt/mrt.js","../node_modules/mapbox-gl/src/data/mrt_data.js","../node_modules/mapbox-gl/node_modules/kdbush/index.js","../node_modules/mapbox-gl/src/source/load_vector_tile.js","../node_modules/mapbox-gl/src/style-spec/util/ref_properties.js","../node_modules/mapbox-gl/src/util/performance.js","../node_modules/mapbox-gl/src/style-spec/group_by_layout.js","../node_modules/mapbox-gl/src/style/style_layer_index.js","../node_modules/mapbox-gl/src/render/glyph_atlas.js","../node_modules/mapbox-gl/src/source/worker_tile.js","../node_modules/mapbox-gl/src/source/vector_tile_worker_source.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_worker_source.js","../node_modules/mapbox-gl/src/source/raster_array_tile_worker_source.js","../node_modules/mapbox-gl/src/source/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/lib/geojson_wrapper.js","../node_modules/mapbox-gl/node_modules/vt-pbf/index.js","../node_modules/mapbox-gl/node_modules/supercluster/index.js","../node_modules/mapbox-gl/node_modules/geojson-vt/geojson-vt-dev.js","../node_modules/mapbox-gl/src/source/geojson_worker_source.js","../node_modules/mapbox-gl/3d-style/source/tiled_3d_model_worker_source.js","../node_modules/mapbox-gl/src/source/worker.js","../node_modules/mapbox-gl/src/style-spec/util/deep_equal.js","../node_modules/mapbox-gl/node_modules/@mapbox/mapbox-gl-supported/index.js","../node_modules/mapbox-gl/src/util/dom.js","../node_modules/mapbox-gl/src/style/style_changes.js","../node_modules/mapbox-gl/3d-style/render/model_manager.js","../node_modules/mapbox-gl/src/source/source_state.js","../node_modules/mapbox-gl/src/style/style_image.js","../node_modules/mapbox-gl/src/render/image_manager.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_object.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_array.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_number.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_function.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_expression.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_enum.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_filter.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_paint_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layout_property.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_layer.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_string.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_source.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_light.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_lights.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_terrain.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_fog.js","../node_modules/mapbox-gl/src/style-spec/validate/validate.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_boolean.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_color.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_formatted.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_image.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_projection.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_import.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_glyphs_url.js","../node_modules/mapbox-gl/src/style-spec/validate/validate_style.js","../node_modules/mapbox-gl/src/style-spec/validate_style.min.js","../node_modules/mapbox-gl/src/style/validate_style.js","../node_modules/mapbox-gl/src/style/light.js","../node_modules/mapbox-gl/src/style/terrain.js","../node_modules/mapbox-gl/src/style/fog_helpers.js","../node_modules/mapbox-gl/src/style/fog.js","../node_modules/mapbox-gl/3d-style/style/lights.js","../node_modules/mapbox-gl/3d-style/style/ambient_light_properties.js","../node_modules/mapbox-gl/3d-style/style/directional_light_properties.js","../node_modules/mapbox-gl/src/style/query_geometry.js","../node_modules/mapbox-gl/src/source/load_tilejson.js","../node_modules/mapbox-gl/src/source/tile_bounds.js","../node_modules/mapbox-gl/src/source/vector_tile_source.js","../node_modules/mapbox-gl/src/source/raster_tile_source.js","../node_modules/mapbox-gl/src/source/raster_array_tile_source.js","../node_modules/mapbox-gl/src/source/tile_mesh.js","../node_modules/mapbox-gl/src/gl/index_buffer.js","../node_modules/mapbox-gl/src/gl/vertex_buffer.js","../node_modules/mapbox-gl/src/gl/value.js","../node_modules/mapbox-gl/src/gl/framebuffer.js","../node_modules/mapbox-gl/src/gl/depth_mode.js","../node_modules/mapbox-gl/src/gl/stencil_mode.js","../node_modules/mapbox-gl/src/gl/color_mode.js","../node_modules/mapbox-gl/src/gl/cull_face_mode.js","../node_modules/mapbox-gl/src/gl/context.js","../node_modules/mapbox-gl/src/data/particle_attributes.js","../node_modules/mapbox-gl/src/render/raster_particle_state.js","../node_modules/mapbox-gl/src/source/tile.js","../node_modules/mapbox-gl/src/data/bucket.js","../node_modules/mapbox-gl/src/source/source.js","../node_modules/mapbox-gl/src/source/raster_dem_tile_source.js","../node_modules/mapbox-gl/src/source/geojson_source.js","../node_modules/mapbox-gl/src/source/video_source.js","../node_modules/mapbox-gl/3d-style/source/model_source.js","../node_modules/mapbox-gl/3d-style/source/tiled_3d_model_source.js","../node_modules/mapbox-gl/src/source/canvas_source.js","../node_modules/mapbox-gl/src/source/custom_source.js","../node_modules/mapbox-gl/src/source/query_features.js","../node_modules/mapbox-gl/src/source/raster_array_tile.js","../node_modules/mapbox-gl/src/source/tile_cache.js","../node_modules/mapbox-gl/src/source/source_cache.js","../node_modules/mapbox-gl/src/source/building_index.js","../node_modules/mapbox-gl/src/style-spec/deref.js","../node_modules/mapbox-gl/src/style-spec/diff.js","../node_modules/mapbox-gl/src/symbol/path_interpolator.js","../node_modules/mapbox-gl/src/symbol/grid_index.js","../node_modules/mapbox-gl/src/symbol/projection.js","../node_modules/mapbox-gl/src/symbol/collision_index.js","../node_modules/mapbox-gl/src/geo/projection/projection_util.js","../node_modules/mapbox-gl/src/symbol/placement.js","../node_modules/mapbox-gl/src/style/pauseable_placement.js","../node_modules/mapbox-gl/src/symbol/cross_tile_symbol_index.js","../node_modules/mapbox-gl/src/geo/edge_insets.js","../node_modules/mapbox-gl/src/ui/free_camera.js","../node_modules/mapbox-gl/src/geo/transform.js","../node_modules/mapbox-gl/3d-style/render/texture_slots.js","../node_modules/mapbox-gl/src/render/cutoff.js","../node_modules/mapbox-gl/3d-style/render/shadow_renderer.js","../node_modules/mapbox-gl/3d-style/render/shadow_uniforms.js","../node_modules/mapbox-gl/3d-style/render/program/ground_shadow_program.js","../node_modules/mapbox-gl/src/style/style.js","../node_modules/mapbox-gl/src/style-spec/empty.js","../node_modules/mapbox-gl/src/style/load_sprite.js","../node_modules/mapbox-gl/src/shaders/shaders.js","../node_modules/mapbox-gl/src/render/vertex_array_object.js","../node_modules/mapbox-gl/src/render/program/hillshade_program.js","../node_modules/mapbox-gl/src/render/draw_hillshade.js","../node_modules/mapbox-gl/src/terrain/terrain_raster_program.js","../node_modules/mapbox-gl/src/terrain/globe_raster_program.js","../node_modules/mapbox-gl/src/terrain/draw_terrain_raster.js","../node_modules/mapbox-gl/src/render/program/clipping_mask_program.js","../node_modules/mapbox-gl/src/render/raster_fade.js","../node_modules/mapbox-gl/src/terrain/terrain.js","../node_modules/mapbox-gl/3d-style/render/lights.js","../node_modules/mapbox-gl/src/render/program.js","../node_modules/mapbox-gl/src/render/fog.js","../node_modules/mapbox-gl/src/render/program/pattern.js","../node_modules/mapbox-gl/src/render/program/fill_extrusion_program.js","../node_modules/mapbox-gl/src/render/program/fill_program.js","../node_modules/mapbox-gl/src/render/program/collision_program.js","../node_modules/mapbox-gl/src/render/program/debug_program.js","../node_modules/mapbox-gl/src/render/program/heatmap_program.js","../node_modules/mapbox-gl/src/render/raster.js","../node_modules/mapbox-gl/src/render/program/raster_program.js","../node_modules/mapbox-gl/src/render/program/raster_particle_program.js","../node_modules/mapbox-gl/src/render/program/symbol_program.js","../node_modules/mapbox-gl/src/render/program/background_program.js","../node_modules/mapbox-gl/3d-style/render/program/model_program.js","../node_modules/mapbox-gl/src/render/program/program_uniforms.js","../node_modules/mapbox-gl/src/render/program/skybox_program.js","../node_modules/mapbox-gl/src/render/program/skybox_capture_program.js","../node_modules/mapbox-gl/src/terrain/stars_program.js","../node_modules/mapbox-gl/src/render/draw_collision_debug.js","../node_modules/mapbox-gl/src/render/draw_symbol.js","../node_modules/mapbox-gl/src/render/draw_fill.js","../node_modules/mapbox-gl/src/render/draw_fill_extrusion.js","../node_modules/mapbox-gl/src/render/draw_raster.js","../node_modules/mapbox-gl/src/render/draw_raster_particle.js","../node_modules/mapbox-gl/src/render/draw_debug.js","../node_modules/mapbox-gl/src/render/skybox_attributes.js","../node_modules/mapbox-gl/src/render/skybox_geometry.js","../node_modules/mapbox-gl/src/render/draw_sky.js","../node_modules/mapbox-gl/src/render/atmosphere_attributes.js","../node_modules/mapbox-gl/src/render/atmosphere_buffer.js","../node_modules/mapbox-gl/src/render/stars_attributes.js","../node_modules/mapbox-gl/src/render/draw_atmosphere.js","../node_modules/mapbox-gl/3d-style/render/draw_model.js","../node_modules/mapbox-gl/src/render/wireframe_cache.js","../node_modules/mapbox-gl/src/render/painter.js","../node_modules/mapbox-gl/src/render/draw_circle.js","../node_modules/mapbox-gl/src/render/draw_heatmap.js","../node_modules/mapbox-gl/src/render/draw_line.js","../node_modules/mapbox-gl/src/render/draw_background.js","../node_modules/mapbox-gl/src/render/draw_custom.js","../node_modules/mapbox-gl/src/util/throttle.js","../node_modules/mapbox-gl/src/ui/hash.js","../node_modules/mapbox-gl/src/ui/handler_inertia.js","../node_modules/mapbox-gl/src/ui/events.js","../node_modules/mapbox-gl/src/ui/handler/map_event.js","../node_modules/mapbox-gl/src/ui/handler/box_zoom.js","../node_modules/mapbox-gl/src/ui/handler/handler_util.js","../node_modules/mapbox-gl/src/ui/handler/tap_recognizer.js","../node_modules/mapbox-gl/src/ui/handler/tap_zoom.js","../node_modules/mapbox-gl/src/ui/handler/mouse.js","../node_modules/mapbox-gl/src/ui/handler/touch_pan.js","../node_modules/mapbox-gl/src/ui/handler/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler/keyboard.js","../node_modules/mapbox-gl/src/ui/handler/scroll_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/dblclick_zoom.js","../node_modules/mapbox-gl/src/ui/handler/click_zoom.js","../node_modules/mapbox-gl/src/ui/handler/tap_drag_zoom.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_pan.js","../node_modules/mapbox-gl/src/ui/handler/shim/drag_rotate.js","../node_modules/mapbox-gl/src/ui/handler/shim/touch_zoom_rotate.js","../node_modules/mapbox-gl/src/ui/handler_manager.js","../node_modules/mapbox-gl/src/ui/camera.js","../node_modules/mapbox-gl/src/ui/control/attribution_control.js","../node_modules/mapbox-gl/src/ui/control/logo_control.js","../node_modules/mapbox-gl/src/util/task_queue.js","../node_modules/mapbox-gl/src/util/smart_wrap.js","../node_modules/mapbox-gl/src/ui/anchor.js","../node_modules/mapbox-gl/src/ui/marker.js","../node_modules/mapbox-gl/src/ui/popup.js","../node_modules/mapbox-gl/src/util/eased_variable.js","../node_modules/mapbox-gl/src/tracked-parameters/internal/tracked_parameters_mock.js","../node_modules/mapbox-gl/src/ui/default_locale.js","../node_modules/mapbox-gl/src/ui/map.js","../node_modules/mapbox-gl/src/ui/control/navigation_control.js","../node_modules/mapbox-gl/src/ui/control/geolocate_control.js","../node_modules/mapbox-gl/src/ui/control/scale_control.js","../node_modules/mapbox-gl/src/index.js","../node_modules/mapbox-gl/src/ui/control/fullscreen_control.js","../node_modules/mapbox-gl/rollup/mapboxgl.js"],"sourcesContent":["// @flow strict\n\ntype Config = {|\n API_URL: string,\n API_URL_REGEX: RegExp,\n API_TILEJSON_REGEX: RegExp,\n API_FONTS_REGEX: RegExp,\n API_SPRITE_REGEX: RegExp,\n API_STYLE_REGEX: RegExp,\n API_CDN_URL_REGEX: RegExp,\n EVENTS_URL: ?string,\n SESSION_PATH: string,\n FEEDBACK_URL: string,\n REQUIRE_ACCESS_TOKEN: boolean,\n TILE_URL_VERSION: string,\n RASTER_URL_PREFIX: string,\n RASTERARRAYS_URL_PREFIX: string,\n ACCESS_TOKEN: ?string,\n MAX_PARALLEL_IMAGE_REQUESTS: number,\n DRACO_URL: string,\n MESHOPT_URL: string,\n MESHOPT_SIMD_URL: string,\n DEFAULT_STYLE: string,\n GLYPHS_URL: string,\n|};\n\nlet mapboxHTTPURLRegex;\n\nconst config: Config = {\n API_URL: 'https://api.mapbox.com',\n get API_URL_REGEX () {\n if (mapboxHTTPURLRegex == null) {\n const prodMapboxHTTPURLRegex = /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;\n try {\n mapboxHTTPURLRegex = (process.env.API_URL_REGEX != null) ? new RegExp(process.env.API_URL_REGEX) : prodMapboxHTTPURLRegex;\n } catch (e) {\n mapboxHTTPURLRegex = prodMapboxHTTPURLRegex;\n }\n }\n\n return mapboxHTTPURLRegex;\n },\n get API_TILEJSON_REGEX() {\n // https://docs.mapbox.com/api/maps/mapbox-tiling-service/#retrieve-tilejson-metadata\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/v[0-9]*\\/.*\\.json.*$)/i;\n },\n get API_SPRITE_REGEX() {\n // https://docs.mapbox.com/api/maps/styles/#retrieve-a-sprite-image-or-json\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*\\/sprite.*\\..*$)/i;\n },\n get API_FONTS_REGEX() {\n // https://docs.mapbox.com/api/maps/fonts/#retrieve-font-glyph-ranges\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/fonts\\/v[0-9]*\\/)(.*\\.pbf.*$)/i;\n },\n get API_STYLE_REGEX() {\n // https://docs.mapbox.com/api/maps/styles/#retrieve-a-style\n return /^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/styles\\/v[0-9]*\\/)(.*$)/i;\n },\n get API_CDN_URL_REGEX() {\n return /^((https?:)?\\/\\/)?api\\.mapbox\\.c(n|om)(\\/mapbox-gl-js\\/)(.*$)/i;\n },\n get EVENTS_URL() {\n if (!config.API_URL) { return null; }\n try {\n const url = new URL(config.API_URL);\n if (url.hostname === 'api.mapbox.cn') {\n return 'https://events.mapbox.cn/events/v2';\n } else if (url.hostname === 'api.mapbox.com') {\n return 'https://events.mapbox.com/events/v2';\n } else {\n return null;\n }\n } catch (e) {\n return null;\n }\n },\n SESSION_PATH: '/map-sessions/v1',\n FEEDBACK_URL: 'https://apps.mapbox.com/feedback',\n TILE_URL_VERSION: 'v4',\n RASTER_URL_PREFIX: 'raster/v1',\n RASTERARRAYS_URL_PREFIX: 'rasterarrays/v1',\n REQUIRE_ACCESS_TOKEN: true,\n ACCESS_TOKEN: null,\n DEFAULT_STYLE: 'mapbox://styles/mapbox/standard',\n MAX_PARALLEL_IMAGE_REQUESTS: 16,\n DRACO_URL: 'https://api.mapbox.com/mapbox-gl-js/draco_decoder_gltf_v1.5.6.wasm',\n MESHOPT_URL: 'https://api.mapbox.com/mapbox-gl-js/meshopt_base_v0.20.wasm',\n MESHOPT_SIMD_URL: 'https://api.mapbox.com/mapbox-gl-js/meshopt_simd_v0.20.wasm',\n GLYPHS_URL: 'mapbox://fonts/mapbox/{fontstack}/{range}.pbf'\n};\n\nexport default config;\n","// @flow\nimport config from './config.js';\n\nexport function isMapboxHTTPURL(url: string): boolean {\n return config.API_URL_REGEX.test(url);\n}\n\nexport function isMapboxURL(url: string): boolean {\n return url.indexOf('mapbox:') === 0;\n}\n\nexport function isMapboxHTTPCDNURL(url: string): boolean {\n return config.API_CDN_URL_REGEX.test(url);\n}\n\nexport function isMapboxHTTPSpriteURL(url: string): boolean {\n return config.API_SPRITE_REGEX.test(url);\n}\n\nexport function isMapboxHTTPStyleURL(url: string): boolean {\n return config.API_STYLE_REGEX.test(url) && !isMapboxHTTPSpriteURL(url);\n}\n\nexport function isMapboxHTTPTileJSONURL(url: string): boolean {\n return config.API_TILEJSON_REGEX.test(url);\n}\n\nexport function isMapboxHTTPFontsURL(url: string): boolean {\n return config.API_FONTS_REGEX.test(url);\n}\n\nexport function hasCacheDefeatingSku(url: string): boolean {\n return url.indexOf('sku=') > 0 && isMapboxHTTPURL(url);\n}\n","// @flow\n\nimport {version as sdkVersion} from '../../package.json';\nimport {\n isMapboxHTTPFontsURL,\n isMapboxHTTPTileJSONURL,\n isMapboxHTTPSpriteURL,\n isMapboxHTTPStyleURL,\n isMapboxHTTPCDNURL\n} from './mapbox_url.js';\n\ntype LivePerformanceMetrics = {\n counters: Array,\n metadata: Array,\n attributes: Array\n};\n\nexport type LivePerformanceData = {\n interactionRange: [number, number],\n visibilityHidden: number,\n width: number,\n height: number,\n terrainEnabled: boolean,\n fogEnabled: boolean,\n projection: string,\n zoom: number,\n renderer: ?string,\n vendor: ?string\n};\n\nexport const PerformanceMarkers = {\n create: 'create',\n load: 'load',\n fullLoad: 'fullLoad'\n};\n\nexport const LivePerformanceUtils = {\n mark(marker: $Keys) {\n performance.mark(marker);\n },\n measure(name: string, begin?: string, end?: string) {\n performance.measure(name, begin, end);\n }\n};\n\nfunction categorize(arr: Array, fn: (entry: PerformanceResourceTiming) => string): {[string]: Array} {\n const obj = {};\n if (arr) {\n for (const item of arr) {\n const category = fn(item);\n if (obj[category] === undefined) {\n obj[category] = [];\n }\n obj[category].push(item);\n }\n }\n return obj;\n}\n\nfunction getCountersPerResourceType(resourceTimers: { [string]: Array }) {\n const obj = {};\n if (resourceTimers) {\n for (const category in resourceTimers) {\n if (category !== 'other') {\n for (const timer of resourceTimers[category]) {\n const min = `${category}ResolveRangeMin`;\n const max = `${category}ResolveRangeMax`;\n const reqCount = `${category}RequestCount`;\n const reqCachedCount = `${category}RequestCachedCount`;\n\n // Resource -TransferStart and -TransferEnd represent the wall time\n // between the start of a request to when the data is available\n obj[min] = Math.min(obj[min] || +Infinity, timer.startTime);\n obj[max] = Math.max(obj[max] || -Infinity, timer.responseEnd);\n\n const increment = (key: string) => {\n if (obj[key] === undefined) {\n obj[key] = 0;\n }\n ++obj[key];\n };\n\n const transferSizeSupported = timer.transferSize !== undefined;\n if (transferSizeSupported) {\n const resourceFetchedFromCache = (timer.transferSize === 0);\n if (resourceFetchedFromCache) {\n increment(reqCachedCount);\n }\n }\n increment(reqCount);\n }\n }\n }\n }\n return obj;\n}\n\nfunction getResourceCategory(entry: PerformanceResourceTiming): string {\n const url = entry.name.split('?')[0];\n\n if (isMapboxHTTPCDNURL(url) && url.includes('mapbox-gl.js')) return 'javascript';\n if (isMapboxHTTPCDNURL(url) && url.includes('mapbox-gl.css')) return 'css';\n if (isMapboxHTTPFontsURL(url)) return 'fontRange';\n if (isMapboxHTTPSpriteURL(url)) return 'sprite';\n if (isMapboxHTTPStyleURL(url)) return 'style';\n if (isMapboxHTTPTileJSONURL(url)) return 'tilejson';\n\n return 'other';\n}\n\nfunction getStyle(resourceTimers: Array): ?string {\n if (resourceTimers) {\n for (const timer of resourceTimers) {\n const url = timer.name.split('?')[0];\n if (isMapboxHTTPStyleURL(url)) {\n const split = url.split('/').slice(-2);\n if (split.length === 2) {\n return `mapbox://styles/${split[0]}/${split[1]}`;\n }\n }\n }\n }\n}\n\nexport function getLivePerformanceMetrics(data: LivePerformanceData): LivePerformanceMetrics {\n const resourceTimers = ((performance.getEntriesByType('resource'): any): Array);\n const markerTimers = performance.getEntriesByType('mark');\n const resourcesByType = categorize(resourceTimers, getResourceCategory);\n const counters = getCountersPerResourceType(resourcesByType);\n const devicePixelRatio = window.devicePixelRatio;\n // $FlowFixMe[prop-missing] no connection types in Flow\n const connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection;\n const effectiveType = connection ? (connection: any).effectiveType : undefined;\n const metrics: LivePerformanceMetrics = {counters: [], metadata: [], attributes: []};\n\n // Please read carefully before adding or modifying the following metrics:\n // https://github.com/mapbox/gl-js-team/blob/main/docs/live_performance_metrics.md\n const addMetric = (arr: Array<{| name: string, value: string |}>, name: string, value: ?(number | string)) => {\n if (value !== undefined && value !== null) {\n arr.push({name, value: value.toString()});\n }\n };\n\n for (const counter in counters) {\n addMetric(metrics.counters, counter, counters[counter]);\n }\n if (data.interactionRange[0] !== +Infinity && data.interactionRange[1] !== -Infinity) {\n addMetric(metrics.counters, \"interactionRangeMin\", data.interactionRange[0]);\n addMetric(metrics.counters, \"interactionRangeMax\", data.interactionRange[1]);\n }\n if (markerTimers) {\n for (const marker of Object.keys(PerformanceMarkers)) {\n const markerName = PerformanceMarkers[marker];\n const markerTimer = markerTimers.find((entry) => entry.name === markerName);\n if (markerTimer) {\n addMetric(metrics.counters, markerName, markerTimer.startTime);\n }\n }\n }\n addMetric(metrics.counters, \"visibilityHidden\", data.visibilityHidden);\n\n addMetric(metrics.attributes, \"style\", getStyle(resourceTimers));\n addMetric(metrics.attributes, \"terrainEnabled\", data.terrainEnabled ? \"true\" : \"false\");\n addMetric(metrics.attributes, \"fogEnabled\", data.fogEnabled ? \"true\" : \"false\");\n addMetric(metrics.attributes, \"projection\", data.projection);\n addMetric(metrics.attributes, \"zoom\", data.zoom);\n\n addMetric(metrics.metadata, \"devicePixelRatio\", devicePixelRatio);\n addMetric(metrics.metadata, \"connectionEffectiveType\", effectiveType);\n addMetric(metrics.metadata, \"navigatorUserAgent\", navigator.userAgent);\n addMetric(metrics.metadata, \"screenWidth\", window.screen.width);\n addMetric(metrics.metadata, \"screenHeight\", window.screen.height);\n addMetric(metrics.metadata, \"windowWidth\", window.innerWidth);\n addMetric(metrics.metadata, \"windowHeight\", window.innerHeight);\n addMetric(metrics.metadata, \"mapWidth\", data.width / devicePixelRatio);\n addMetric(metrics.metadata, \"mapHeight\", data.height / devicePixelRatio);\n addMetric(metrics.metadata, \"webglRenderer\", data.renderer);\n addMetric(metrics.metadata, \"webglVendor\", data.vendor);\n addMetric(metrics.metadata, \"sdkVersion\", sdkVersion);\n addMetric(metrics.metadata, \"sdkIdentifier\", \"mapbox-gl-js\");\n\n return metrics;\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setMatrixArrayType = setMatrixArrayType;\nexports.toRadian = toRadian;\nexports.equals = equals;\nexports.RANDOM = exports.ARRAY_TYPE = exports.EPSILON = void 0;\n\n/**\n * Common utilities\n * @module glMatrix\n */\n// Configuration Constants\nvar EPSILON = 0.000001;\nexports.EPSILON = EPSILON;\nvar ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nexports.ARRAY_TYPE = ARRAY_TYPE;\nvar RANDOM = Math.random;\n/**\n * Sets the type of array used when creating new vectors and matrices\n *\n * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array\n */\n\nexports.RANDOM = RANDOM;\n\nfunction setMatrixArrayType(type) {\n exports.ARRAY_TYPE = ARRAY_TYPE = type;\n}\n\nvar degree = Math.PI / 180;\n/**\n * Convert Degree To Radian\n *\n * @param {Number} a Angle in Degrees\n */\n\nfunction toRadian(a) {\n return a * degree;\n}\n/**\n * Tests whether or not the arguments have approximately the same value, within an absolute\n * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less\n * than or equal to 1.0, and a relative tolerance is used for larger values)\n *\n * @param {Number} a The first number to test.\n * @param {Number} b The second number to test.\n * @returns {Boolean} True if the numbers are approximately equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));\n}\n\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.copy = copy;\nexports.identity = identity;\nexports.fromValues = fromValues;\nexports.set = set;\nexports.transpose = transpose;\nexports.invert = invert;\nexports.adjoint = adjoint;\nexports.determinant = determinant;\nexports.multiply = multiply;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.fromRotation = fromRotation;\nexports.fromScaling = fromScaling;\nexports.str = str;\nexports.frob = frob;\nexports.LDU = LDU;\nexports.add = add;\nexports.subtract = subtract;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.multiplyScalar = multiplyScalar;\nexports.multiplyScalarAndAdd = multiplyScalarAndAdd;\nexports.sub = exports.mul = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 2x2 Matrix\n * @module mat2\n */\n\n/**\n * Creates a new identity mat2\n *\n * @returns {mat2} a new 2x2 matrix\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(4);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n }\n\n out[0] = 1;\n out[3] = 1;\n return out;\n}\n/**\n * Creates a new mat2 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat2} a matrix to clone\n * @returns {mat2} a new 2x2 matrix\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n/**\n * Copy the values from one mat2 to another\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n/**\n * Set a mat2 to the identity matrix\n *\n * @param {mat2} out the receiving matrix\n * @returns {mat2} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n}\n/**\n * Create a new mat2 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m10 Component in column 1, row 0 position (index 2)\n * @param {Number} m11 Component in column 1, row 1 position (index 3)\n * @returns {mat2} out A new 2x2 matrix\n */\n\n\nfunction fromValues(m00, m01, m10, m11) {\n var out = new glMatrix.ARRAY_TYPE(4);\n out[0] = m00;\n out[1] = m01;\n out[2] = m10;\n out[3] = m11;\n return out;\n}\n/**\n * Set the components of a mat2 to the given values\n *\n * @param {mat2} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m10 Component in column 1, row 0 position (index 2)\n * @param {Number} m11 Component in column 1, row 1 position (index 3)\n * @returns {mat2} out\n */\n\n\nfunction set(out, m00, m01, m10, m11) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m10;\n out[3] = m11;\n return out;\n}\n/**\n * Transpose the values of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\n\n\nfunction transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache\n // some values\n if (out === a) {\n var a1 = a[1];\n out[1] = a[2];\n out[2] = a1;\n } else {\n out[0] = a[0];\n out[1] = a[2];\n out[2] = a[1];\n out[3] = a[3];\n }\n\n return out;\n}\n/**\n * Inverts a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\n\n\nfunction invert(out, a) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3]; // Calculate the determinant\n\n var det = a0 * a3 - a2 * a1;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = a3 * det;\n out[1] = -a1 * det;\n out[2] = -a2 * det;\n out[3] = a0 * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the source matrix\n * @returns {mat2} out\n */\n\n\nfunction adjoint(out, a) {\n // Caching this value is nessecary if out == a\n var a0 = a[0];\n out[0] = a[3];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a0;\n return out;\n}\n/**\n * Calculates the determinant of a mat2\n *\n * @param {ReadonlyMat2} a the source matrix\n * @returns {Number} determinant of a\n */\n\n\nfunction determinant(a) {\n return a[0] * a[3] - a[2] * a[1];\n}\n/**\n * Multiplies two mat2's\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\n\n\nfunction multiply(out, a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n return out;\n}\n/**\n * Rotates a mat2 by the given angle\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2} out\n */\n\n\nfunction rotate(out, a, rad) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n return out;\n}\n/**\n * Scales the mat2 by the dimensions in the given vec2\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat2} out\n **/\n\n\nfunction scale(out, a, v) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var v0 = v[0],\n v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat2.identity(dest);\n * mat2.rotate(dest, dest, rad);\n *\n * @param {mat2} out mat2 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2} out\n */\n\n\nfunction fromRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = -s;\n out[3] = c;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat2.identity(dest);\n * mat2.scale(dest, dest, vec);\n *\n * @param {mat2} out mat2 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat2} out\n */\n\n\nfunction fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = v[1];\n return out;\n}\n/**\n * Returns a string representation of a mat2\n *\n * @param {ReadonlyMat2} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\n\nfunction str(a) {\n return \"mat2(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat2\n *\n * @param {ReadonlyMat2} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\n\nfunction frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3]);\n}\n/**\n * Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix\n * @param {ReadonlyMat2} L the lower triangular matrix\n * @param {ReadonlyMat2} D the diagonal matrix\n * @param {ReadonlyMat2} U the upper triangular matrix\n * @param {ReadonlyMat2} a the input matrix to factorize\n */\n\n\nfunction LDU(L, D, U, a) {\n L[2] = a[2] / a[0];\n U[0] = a[0];\n U[1] = a[1];\n U[3] = a[3] - L[2] * U[1];\n return [L, D, U];\n}\n/**\n * Adds two mat2's\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @returns {mat2} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat2} a The first matrix.\n * @param {ReadonlyMat2} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat2} a The first matrix.\n * @param {ReadonlyMat2} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3));\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat2} out the receiving matrix\n * @param {ReadonlyMat2} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat2} out\n */\n\n\nfunction multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n return out;\n}\n/**\n * Adds two mat2's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat2} out the receiving vector\n * @param {ReadonlyMat2} a the first operand\n * @param {ReadonlyMat2} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat2} out\n */\n\n\nfunction multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n return out;\n}\n/**\n * Alias for {@link mat2.multiply}\n * @function\n */\n\n\nvar mul = multiply;\n/**\n * Alias for {@link mat2.subtract}\n * @function\n */\n\nexports.mul = mul;\nvar sub = subtract;\nexports.sub = sub;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.copy = copy;\nexports.identity = identity;\nexports.fromValues = fromValues;\nexports.set = set;\nexports.invert = invert;\nexports.determinant = determinant;\nexports.multiply = multiply;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.translate = translate;\nexports.fromRotation = fromRotation;\nexports.fromScaling = fromScaling;\nexports.fromTranslation = fromTranslation;\nexports.str = str;\nexports.frob = frob;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiplyScalar = multiplyScalar;\nexports.multiplyScalarAndAdd = multiplyScalarAndAdd;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.sub = exports.mul = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 2x3 Matrix\n * @module mat2d\n * @description\n * A mat2d contains six elements defined as:\n *
\n * [a, b,\n *  c, d,\n *  tx, ty]\n * 
\n * This is a short form for the 3x3 matrix:\n *
\n * [a, b, 0,\n *  c, d, 0,\n *  tx, ty, 1]\n * 
\n * The last column is ignored so the array is shorter and operations are faster.\n */\n\n/**\n * Creates a new identity mat2d\n *\n * @returns {mat2d} a new 2x3 matrix\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(6);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[4] = 0;\n out[5] = 0;\n }\n\n out[0] = 1;\n out[3] = 1;\n return out;\n}\n/**\n * Creates a new mat2d initialized with values from an existing matrix\n *\n * @param {ReadonlyMat2d} a matrix to clone\n * @returns {mat2d} a new 2x3 matrix\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(6);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n}\n/**\n * Copy the values from one mat2d to another\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {mat2d} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n return out;\n}\n/**\n * Set a mat2d to the identity matrix\n *\n * @param {mat2d} out the receiving matrix\n * @returns {mat2d} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * Create a new mat2d with the given values\n *\n * @param {Number} a Component A (index 0)\n * @param {Number} b Component B (index 1)\n * @param {Number} c Component C (index 2)\n * @param {Number} d Component D (index 3)\n * @param {Number} tx Component TX (index 4)\n * @param {Number} ty Component TY (index 5)\n * @returns {mat2d} A new mat2d\n */\n\n\nfunction fromValues(a, b, c, d, tx, ty) {\n var out = new glMatrix.ARRAY_TYPE(6);\n out[0] = a;\n out[1] = b;\n out[2] = c;\n out[3] = d;\n out[4] = tx;\n out[5] = ty;\n return out;\n}\n/**\n * Set the components of a mat2d to the given values\n *\n * @param {mat2d} out the receiving matrix\n * @param {Number} a Component A (index 0)\n * @param {Number} b Component B (index 1)\n * @param {Number} c Component C (index 2)\n * @param {Number} d Component D (index 3)\n * @param {Number} tx Component TX (index 4)\n * @param {Number} ty Component TY (index 5)\n * @returns {mat2d} out\n */\n\n\nfunction set(out, a, b, c, d, tx, ty) {\n out[0] = a;\n out[1] = b;\n out[2] = c;\n out[3] = d;\n out[4] = tx;\n out[5] = ty;\n return out;\n}\n/**\n * Inverts a mat2d\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {mat2d} out\n */\n\n\nfunction invert(out, a) {\n var aa = a[0],\n ab = a[1],\n ac = a[2],\n ad = a[3];\n var atx = a[4],\n aty = a[5];\n var det = aa * ad - ab * ac;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\n/**\n * Calculates the determinant of a mat2d\n *\n * @param {ReadonlyMat2d} a the source matrix\n * @returns {Number} determinant of a\n */\n\n\nfunction determinant(a) {\n return a[0] * a[3] - a[1] * a[2];\n}\n/**\n * Multiplies two mat2d's\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\n\n\nfunction multiply(out, a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5];\n out[0] = a0 * b0 + a2 * b1;\n out[1] = a1 * b0 + a3 * b1;\n out[2] = a0 * b2 + a2 * b3;\n out[3] = a1 * b2 + a3 * b3;\n out[4] = a0 * b4 + a2 * b5 + a4;\n out[5] = a1 * b4 + a3 * b5 + a5;\n return out;\n}\n/**\n * Rotates a mat2d by the given angle\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2d} out\n */\n\n\nfunction rotate(out, a, rad) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n out[0] = a0 * c + a2 * s;\n out[1] = a1 * c + a3 * s;\n out[2] = a0 * -s + a2 * c;\n out[3] = a1 * -s + a3 * c;\n out[4] = a4;\n out[5] = a5;\n return out;\n}\n/**\n * Scales the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to translate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat2d} out\n **/\n\n\nfunction scale(out, a, v) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n var v0 = v[0],\n v1 = v[1];\n out[0] = a0 * v0;\n out[1] = a1 * v0;\n out[2] = a2 * v1;\n out[3] = a3 * v1;\n out[4] = a4;\n out[5] = a5;\n return out;\n}\n/**\n * Translates the mat2d by the dimensions in the given vec2\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to translate\n * @param {ReadonlyVec2} v the vec2 to translate the matrix by\n * @returns {mat2d} out\n **/\n\n\nfunction translate(out, a, v) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n var v0 = v[0],\n v1 = v[1];\n out[0] = a0;\n out[1] = a1;\n out[2] = a2;\n out[3] = a3;\n out[4] = a0 * v0 + a2 * v1 + a4;\n out[5] = a1 * v0 + a3 * v1 + a5;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.rotate(dest, dest, rad);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat2d} out\n */\n\n\nfunction fromRotation(out, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = -s;\n out[3] = c;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.scale(dest, dest, vec);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat2d} out\n */\n\n\nfunction fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = v[1];\n out[4] = 0;\n out[5] = 0;\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat2d.identity(dest);\n * mat2d.translate(dest, dest, vec);\n *\n * @param {mat2d} out mat2d receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat2d} out\n */\n\n\nfunction fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = v[0];\n out[5] = v[1];\n return out;\n}\n/**\n * Returns a string representation of a mat2d\n *\n * @param {ReadonlyMat2d} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\n\nfunction str(a) {\n return \"mat2d(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat2d\n *\n * @param {ReadonlyMat2d} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\n\nfunction frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], 1);\n}\n/**\n * Adds two mat2d's\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @returns {mat2d} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat2d} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat2d} out\n */\n\n\nfunction multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n return out;\n}\n/**\n * Adds two mat2d's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat2d} out the receiving vector\n * @param {ReadonlyMat2d} a the first operand\n * @param {ReadonlyMat2d} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat2d} out\n */\n\n\nfunction multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat2d} a The first matrix.\n * @param {ReadonlyMat2d} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat2d} a The first matrix.\n * @param {ReadonlyMat2d} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5));\n}\n/**\n * Alias for {@link mat2d.multiply}\n * @function\n */\n\n\nvar mul = multiply;\n/**\n * Alias for {@link mat2d.subtract}\n * @function\n */\n\nexports.mul = mul;\nvar sub = subtract;\nexports.sub = sub;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.fromMat4 = fromMat4;\nexports.clone = clone;\nexports.copy = copy;\nexports.fromValues = fromValues;\nexports.set = set;\nexports.identity = identity;\nexports.transpose = transpose;\nexports.invert = invert;\nexports.adjoint = adjoint;\nexports.determinant = determinant;\nexports.multiply = multiply;\nexports.translate = translate;\nexports.rotate = rotate;\nexports.scale = scale;\nexports.fromTranslation = fromTranslation;\nexports.fromRotation = fromRotation;\nexports.fromScaling = fromScaling;\nexports.fromMat2d = fromMat2d;\nexports.fromQuat = fromQuat;\nexports.normalFromMat4 = normalFromMat4;\nexports.projection = projection;\nexports.str = str;\nexports.frob = frob;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiplyScalar = multiplyScalar;\nexports.multiplyScalarAndAdd = multiplyScalarAndAdd;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.sub = exports.mul = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 3x3 Matrix\n * @module mat3\n */\n\n/**\n * Creates a new identity mat3\n *\n * @returns {mat3} a new 3x3 matrix\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(9);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n }\n\n out[0] = 1;\n out[4] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the upper-left 3x3 values into the given mat3.\n *\n * @param {mat3} out the receiving 3x3 matrix\n * @param {ReadonlyMat4} a the source 4x4 matrix\n * @returns {mat3} out\n */\n\n\nfunction fromMat4(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[4];\n out[4] = a[5];\n out[5] = a[6];\n out[6] = a[8];\n out[7] = a[9];\n out[8] = a[10];\n return out;\n}\n/**\n * Creates a new mat3 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat3} a matrix to clone\n * @returns {mat3} a new 3x3 matrix\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Copy the values from one mat3 to another\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Create a new mat3 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} A new mat3\n */\n\n\nfunction fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n var out = new glMatrix.ARRAY_TYPE(9);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set the components of a mat3 to the given values\n *\n * @param {mat3} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m10 Component in column 1, row 0 position (index 3)\n * @param {Number} m11 Component in column 1, row 1 position (index 4)\n * @param {Number} m12 Component in column 1, row 2 position (index 5)\n * @param {Number} m20 Component in column 2, row 0 position (index 6)\n * @param {Number} m21 Component in column 2, row 1 position (index 7)\n * @param {Number} m22 Component in column 2, row 2 position (index 8)\n * @returns {mat3} out\n */\n\n\nfunction set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m10;\n out[4] = m11;\n out[5] = m12;\n out[6] = m20;\n out[7] = m21;\n out[8] = m22;\n return out;\n}\n/**\n * Set a mat3 to the identity matrix\n *\n * @param {mat3} out the receiving matrix\n * @returns {mat3} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\n\nfunction transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a12 = a[5];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a01;\n out[5] = a[7];\n out[6] = a02;\n out[7] = a12;\n } else {\n out[0] = a[0];\n out[1] = a[3];\n out[2] = a[6];\n out[3] = a[1];\n out[4] = a[4];\n out[5] = a[7];\n out[6] = a[2];\n out[7] = a[5];\n out[8] = a[8];\n }\n\n return out;\n}\n/**\n * Inverts a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\n\nfunction invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b01 = a22 * a11 - a12 * a21;\n var b11 = -a22 * a10 + a12 * a20;\n var b21 = a21 * a10 - a11 * a20; // Calculate the determinant\n\n var det = a00 * b01 + a01 * b11 + a02 * b21;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the source matrix\n * @returns {mat3} out\n */\n\n\nfunction adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n out[0] = a11 * a22 - a12 * a21;\n out[1] = a02 * a21 - a01 * a22;\n out[2] = a01 * a12 - a02 * a11;\n out[3] = a12 * a20 - a10 * a22;\n out[4] = a00 * a22 - a02 * a20;\n out[5] = a02 * a10 - a00 * a12;\n out[6] = a10 * a21 - a11 * a20;\n out[7] = a01 * a20 - a00 * a21;\n out[8] = a00 * a11 - a01 * a10;\n return out;\n}\n/**\n * Calculates the determinant of a mat3\n *\n * @param {ReadonlyMat3} a the source matrix\n * @returns {Number} determinant of a\n */\n\n\nfunction determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);\n}\n/**\n * Multiplies two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\n\nfunction multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2];\n var a10 = a[3],\n a11 = a[4],\n a12 = a[5];\n var a20 = a[6],\n a21 = a[7],\n a22 = a[8];\n var b00 = b[0],\n b01 = b[1],\n b02 = b[2];\n var b10 = b[3],\n b11 = b[4],\n b12 = b[5];\n var b20 = b[6],\n b21 = b[7],\n b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\n/**\n * Translate a mat3 by the given vector\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to translate\n * @param {ReadonlyVec2} v vector to translate by\n * @returns {mat3} out\n */\n\n\nfunction translate(out, a, v) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n x = v[0],\n y = v[1];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a10;\n out[4] = a11;\n out[5] = a12;\n out[6] = x * a00 + y * a10 + a20;\n out[7] = x * a01 + y * a11 + a21;\n out[8] = x * a02 + y * a12 + a22;\n return out;\n}\n/**\n * Rotates a mat3 by the given angle\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\n\nfunction rotate(out, a, rad) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a10 = a[3],\n a11 = a[4],\n a12 = a[5],\n a20 = a[6],\n a21 = a[7],\n a22 = a[8],\n s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c * a00 + s * a10;\n out[1] = c * a01 + s * a11;\n out[2] = c * a02 + s * a12;\n out[3] = c * a10 - s * a00;\n out[4] = c * a11 - s * a01;\n out[5] = c * a12 - s * a02;\n out[6] = a20;\n out[7] = a21;\n out[8] = a22;\n return out;\n}\n/**\n * Scales the mat3 by the dimensions in the given vec2\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to rotate\n * @param {ReadonlyVec2} v the vec2 to scale the matrix by\n * @returns {mat3} out\n **/\n\n\nfunction scale(out, a, v) {\n var x = v[0],\n y = v[1];\n out[0] = x * a[0];\n out[1] = x * a[1];\n out[2] = x * a[2];\n out[3] = y * a[3];\n out[4] = y * a[4];\n out[5] = y * a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.translate(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Translation vector\n * @returns {mat3} out\n */\n\n\nfunction fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 1;\n out[5] = 0;\n out[6] = v[0];\n out[7] = v[1];\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.rotate(dest, dest, rad);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat3} out\n */\n\n\nfunction fromRotation(out, rad) {\n var s = Math.sin(rad),\n c = Math.cos(rad);\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = -s;\n out[4] = c;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat3.identity(dest);\n * mat3.scale(dest, dest, vec);\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyVec2} v Scaling vector\n * @returns {mat3} out\n */\n\n\nfunction fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = v[1];\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 1;\n return out;\n}\n/**\n * Copies the values from a mat2d into a mat3\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat2d} a the matrix to copy\n * @returns {mat3} out\n **/\n\n\nfunction fromMat2d(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = 0;\n out[3] = a[2];\n out[4] = a[3];\n out[5] = 0;\n out[6] = a[4];\n out[7] = a[5];\n out[8] = 1;\n return out;\n}\n/**\n * Calculates a 3x3 matrix from the given quaternion\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat3} out\n */\n\n\nfunction fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[3] = yx - wz;\n out[6] = zx + wy;\n out[1] = yx + wz;\n out[4] = 1 - xx - zz;\n out[7] = zy - wx;\n out[2] = zx - wy;\n out[5] = zy + wx;\n out[8] = 1 - xx - yy;\n return out;\n}\n/**\n * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix\n *\n * @param {mat3} out mat3 receiving operation result\n * @param {ReadonlyMat4} a Mat4 to derive the normal matrix from\n *\n * @returns {mat3} out\n */\n\n\nfunction normalFromMat4(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n return out;\n}\n/**\n * Generates a 2D projection matrix with the given bounds\n *\n * @param {mat3} out mat3 frustum matrix will be written into\n * @param {number} width Width of your gl context\n * @param {number} height Height of gl context\n * @returns {mat3} out\n */\n\n\nfunction projection(out, width, height) {\n out[0] = 2 / width;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = -2 / height;\n out[5] = 0;\n out[6] = -1;\n out[7] = 1;\n out[8] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat3\n *\n * @param {ReadonlyMat3} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\n\nfunction str(a) {\n return \"mat3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat3\n *\n * @param {ReadonlyMat3} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\n\nfunction frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]);\n}\n/**\n * Adds two mat3's\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @returns {mat3} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat3} out the receiving matrix\n * @param {ReadonlyMat3} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat3} out\n */\n\n\nfunction multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n return out;\n}\n/**\n * Adds two mat3's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat3} out the receiving vector\n * @param {ReadonlyMat3} a the first operand\n * @param {ReadonlyMat3} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat3} out\n */\n\n\nfunction multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat3} a The first matrix.\n * @param {ReadonlyMat3} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7],\n a8 = a[8];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7],\n b8 = b[8];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8));\n}\n/**\n * Alias for {@link mat3.multiply}\n * @function\n */\n\n\nvar mul = multiply;\n/**\n * Alias for {@link mat3.subtract}\n * @function\n */\n\nexports.mul = mul;\nvar sub = subtract;\nexports.sub = sub;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.copy = copy;\nexports.fromValues = fromValues;\nexports.set = set;\nexports.identity = identity;\nexports.transpose = transpose;\nexports.invert = invert;\nexports.adjoint = adjoint;\nexports.determinant = determinant;\nexports.multiply = multiply;\nexports.translate = translate;\nexports.scale = scale;\nexports.rotate = rotate;\nexports.rotateX = rotateX;\nexports.rotateY = rotateY;\nexports.rotateZ = rotateZ;\nexports.fromTranslation = fromTranslation;\nexports.fromScaling = fromScaling;\nexports.fromRotation = fromRotation;\nexports.fromXRotation = fromXRotation;\nexports.fromYRotation = fromYRotation;\nexports.fromZRotation = fromZRotation;\nexports.fromRotationTranslation = fromRotationTranslation;\nexports.fromQuat2 = fromQuat2;\nexports.getTranslation = getTranslation;\nexports.getScaling = getScaling;\nexports.getRotation = getRotation;\nexports.fromRotationTranslationScale = fromRotationTranslationScale;\nexports.fromRotationTranslationScaleOrigin = fromRotationTranslationScaleOrigin;\nexports.fromQuat = fromQuat;\nexports.frustum = frustum;\nexports.perspectiveNO = perspectiveNO;\nexports.perspectiveZO = perspectiveZO;\nexports.perspectiveFromFieldOfView = perspectiveFromFieldOfView;\nexports.orthoNO = orthoNO;\nexports.orthoZO = orthoZO;\nexports.lookAt = lookAt;\nexports.targetTo = targetTo;\nexports.str = str;\nexports.frob = frob;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiplyScalar = multiplyScalar;\nexports.multiplyScalarAndAdd = multiplyScalarAndAdd;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.sub = exports.mul = exports.ortho = exports.perspective = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 4x4 Matrix
Format: column-major, when typed out it looks like row-major
The matrices are being post multiplied.\n * @module mat4\n */\n\n/**\n * Creates a new identity mat4\n *\n * @returns {mat4} a new 4x4 matrix\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(16);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n }\n\n out[0] = 1;\n out[5] = 1;\n out[10] = 1;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 initialized with values from an existing matrix\n *\n * @param {ReadonlyMat4} a matrix to clone\n * @returns {mat4} a new 4x4 matrix\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Copy the values from one mat4 to another\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Create a new mat4 with the given values\n *\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} A new mat4\n */\n\n\nfunction fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n var out = new glMatrix.ARRAY_TYPE(16);\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set the components of a mat4 to the given values\n *\n * @param {mat4} out the receiving matrix\n * @param {Number} m00 Component in column 0, row 0 position (index 0)\n * @param {Number} m01 Component in column 0, row 1 position (index 1)\n * @param {Number} m02 Component in column 0, row 2 position (index 2)\n * @param {Number} m03 Component in column 0, row 3 position (index 3)\n * @param {Number} m10 Component in column 1, row 0 position (index 4)\n * @param {Number} m11 Component in column 1, row 1 position (index 5)\n * @param {Number} m12 Component in column 1, row 2 position (index 6)\n * @param {Number} m13 Component in column 1, row 3 position (index 7)\n * @param {Number} m20 Component in column 2, row 0 position (index 8)\n * @param {Number} m21 Component in column 2, row 1 position (index 9)\n * @param {Number} m22 Component in column 2, row 2 position (index 10)\n * @param {Number} m23 Component in column 2, row 3 position (index 11)\n * @param {Number} m30 Component in column 3, row 0 position (index 12)\n * @param {Number} m31 Component in column 3, row 1 position (index 13)\n * @param {Number} m32 Component in column 3, row 2 position (index 14)\n * @param {Number} m33 Component in column 3, row 3 position (index 15)\n * @returns {mat4} out\n */\n\n\nfunction set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {\n out[0] = m00;\n out[1] = m01;\n out[2] = m02;\n out[3] = m03;\n out[4] = m10;\n out[5] = m11;\n out[6] = m12;\n out[7] = m13;\n out[8] = m20;\n out[9] = m21;\n out[10] = m22;\n out[11] = m23;\n out[12] = m30;\n out[13] = m31;\n out[14] = m32;\n out[15] = m33;\n return out;\n}\n/**\n * Set a mat4 to the identity matrix\n *\n * @param {mat4} out the receiving matrix\n * @returns {mat4} out\n */\n\n\nfunction identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Transpose the values of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\n\nfunction transpose(out, a) {\n // If we are transposing ourselves we can skip a few steps but have to cache some values\n if (out === a) {\n var a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a12 = a[6],\n a13 = a[7];\n var a23 = a[11];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a01;\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a02;\n out[9] = a12;\n out[11] = a[14];\n out[12] = a03;\n out[13] = a13;\n out[14] = a23;\n } else {\n out[0] = a[0];\n out[1] = a[4];\n out[2] = a[8];\n out[3] = a[12];\n out[4] = a[1];\n out[5] = a[5];\n out[6] = a[9];\n out[7] = a[13];\n out[8] = a[2];\n out[9] = a[6];\n out[10] = a[10];\n out[11] = a[14];\n out[12] = a[3];\n out[13] = a[7];\n out[14] = a[11];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Inverts a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\n\nfunction invert(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n\n if (!det) {\n return null;\n }\n\n det = 1.0 / det;\n out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;\n out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;\n out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;\n out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;\n out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;\n out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;\n out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;\n out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;\n out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;\n out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;\n out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;\n out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;\n out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;\n out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;\n out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;\n out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;\n return out;\n}\n/**\n * Calculates the adjugate of a mat4\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the source matrix\n * @returns {mat4} out\n */\n\n\nfunction adjoint(out, a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n out[0] = a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22);\n out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));\n out[2] = a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12);\n out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));\n out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));\n out[5] = a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22);\n out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));\n out[7] = a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12);\n out[8] = a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21);\n out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));\n out[10] = a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11);\n out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));\n out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));\n out[13] = a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21);\n out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));\n out[15] = a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11);\n return out;\n}\n/**\n * Calculates the determinant of a mat4\n *\n * @param {ReadonlyMat4} a the source matrix\n * @returns {Number} determinant of a\n */\n\n\nfunction determinant(a) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15];\n var b00 = a00 * a11 - a01 * a10;\n var b01 = a00 * a12 - a02 * a10;\n var b02 = a00 * a13 - a03 * a10;\n var b03 = a01 * a12 - a02 * a11;\n var b04 = a01 * a13 - a03 * a11;\n var b05 = a02 * a13 - a03 * a12;\n var b06 = a20 * a31 - a21 * a30;\n var b07 = a20 * a32 - a22 * a30;\n var b08 = a20 * a33 - a23 * a30;\n var b09 = a21 * a32 - a22 * a31;\n var b10 = a21 * a33 - a23 * a31;\n var b11 = a22 * a33 - a23 * a32; // Calculate the determinant\n\n return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\n}\n/**\n * Multiplies two mat4s\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\n\nfunction multiply(out, a, b) {\n var a00 = a[0],\n a01 = a[1],\n a02 = a[2],\n a03 = a[3];\n var a10 = a[4],\n a11 = a[5],\n a12 = a[6],\n a13 = a[7];\n var a20 = a[8],\n a21 = a[9],\n a22 = a[10],\n a23 = a[11];\n var a30 = a[12],\n a31 = a[13],\n a32 = a[14],\n a33 = a[15]; // Cache only the current line of the second matrix\n\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[4];\n b1 = b[5];\n b2 = b[6];\n b3 = b[7];\n out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[8];\n b1 = b[9];\n b2 = b[10];\n b3 = b[11];\n out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n b0 = b[12];\n b1 = b[13];\n b2 = b[14];\n b3 = b[15];\n out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\n out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\n out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\n out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\n return out;\n}\n/**\n * Translate a mat4 by the given vector\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to translate\n * @param {ReadonlyVec3} v vector to translate by\n * @returns {mat4} out\n */\n\n\nfunction translate(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n\n if (a === out) {\n out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];\n out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];\n out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];\n out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];\n } else {\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11];\n out[0] = a00;\n out[1] = a01;\n out[2] = a02;\n out[3] = a03;\n out[4] = a10;\n out[5] = a11;\n out[6] = a12;\n out[7] = a13;\n out[8] = a20;\n out[9] = a21;\n out[10] = a22;\n out[11] = a23;\n out[12] = a00 * x + a10 * y + a20 * z + a[12];\n out[13] = a01 * x + a11 * y + a21 * z + a[13];\n out[14] = a02 * x + a12 * y + a22 * z + a[14];\n out[15] = a03 * x + a13 * y + a23 * z + a[15];\n }\n\n return out;\n}\n/**\n * Scales the mat4 by the dimensions in the given vec3 not using vectorization\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {ReadonlyVec3} v the vec3 to scale the matrix by\n * @returns {mat4} out\n **/\n\n\nfunction scale(out, a, v) {\n var x = v[0],\n y = v[1],\n z = v[2];\n out[0] = a[0] * x;\n out[1] = a[1] * x;\n out[2] = a[2] * x;\n out[3] = a[3] * x;\n out[4] = a[4] * y;\n out[5] = a[5] * y;\n out[6] = a[6] * y;\n out[7] = a[7] * y;\n out[8] = a[8] * z;\n out[9] = a[9] * z;\n out[10] = a[10] * z;\n out[11] = a[11] * z;\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n return out;\n}\n/**\n * Rotates a mat4 by the given angle around the given axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\n\nfunction rotate(out, a, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n var a00, a01, a02, a03;\n var a10, a11, a12, a13;\n var a20, a21, a22, a23;\n var b00, b01, b02;\n var b10, b11, b12;\n var b20, b21, b22;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c;\n a00 = a[0];\n a01 = a[1];\n a02 = a[2];\n a03 = a[3];\n a10 = a[4];\n a11 = a[5];\n a12 = a[6];\n a13 = a[7];\n a20 = a[8];\n a21 = a[9];\n a22 = a[10];\n a23 = a[11]; // Construct the elements of the rotation matrix\n\n b00 = x * x * t + c;\n b01 = y * x * t + z * s;\n b02 = z * x * t - y * s;\n b10 = x * y * t - z * s;\n b11 = y * y * t + c;\n b12 = z * y * t + x * s;\n b20 = x * z * t + y * s;\n b21 = y * z * t - x * s;\n b22 = z * z * t + c; // Perform rotation-specific matrix multiplication\n\n out[0] = a00 * b00 + a10 * b01 + a20 * b02;\n out[1] = a01 * b00 + a11 * b01 + a21 * b02;\n out[2] = a02 * b00 + a12 * b01 + a22 * b02;\n out[3] = a03 * b00 + a13 * b01 + a23 * b02;\n out[4] = a00 * b10 + a10 * b11 + a20 * b12;\n out[5] = a01 * b10 + a11 * b11 + a21 * b12;\n out[6] = a02 * b10 + a12 * b11 + a22 * b12;\n out[7] = a03 * b10 + a13 * b11 + a23 * b12;\n out[8] = a00 * b20 + a10 * b21 + a20 * b22;\n out[9] = a01 * b20 + a11 * b21 + a21 * b22;\n out[10] = a02 * b20 + a12 * b21 + a22 * b22;\n out[11] = a03 * b20 + a13 * b21 + a23 * b22;\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n }\n\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the X axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction rotateX(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[4] = a10 * c + a20 * s;\n out[5] = a11 * c + a21 * s;\n out[6] = a12 * c + a22 * s;\n out[7] = a13 * c + a23 * s;\n out[8] = a20 * c - a10 * s;\n out[9] = a21 * c - a11 * s;\n out[10] = a22 * c - a12 * s;\n out[11] = a23 * c - a13 * s;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Y axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction rotateY(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a20 = a[8];\n var a21 = a[9];\n var a22 = a[10];\n var a23 = a[11];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged rows\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c - a20 * s;\n out[1] = a01 * c - a21 * s;\n out[2] = a02 * c - a22 * s;\n out[3] = a03 * c - a23 * s;\n out[8] = a00 * s + a20 * c;\n out[9] = a01 * s + a21 * c;\n out[10] = a02 * s + a22 * c;\n out[11] = a03 * s + a23 * c;\n return out;\n}\n/**\n * Rotates a matrix by the given angle around the Z axis\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to rotate\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction rotateZ(out, a, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad);\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a03 = a[3];\n var a10 = a[4];\n var a11 = a[5];\n var a12 = a[6];\n var a13 = a[7];\n\n if (a !== out) {\n // If the source and destination differ, copy the unchanged last row\n out[8] = a[8];\n out[9] = a[9];\n out[10] = a[10];\n out[11] = a[11];\n out[12] = a[12];\n out[13] = a[13];\n out[14] = a[14];\n out[15] = a[15];\n } // Perform axis-specific matrix multiplication\n\n\n out[0] = a00 * c + a10 * s;\n out[1] = a01 * c + a11 * s;\n out[2] = a02 * c + a12 * s;\n out[3] = a03 * c + a13 * s;\n out[4] = a10 * c - a00 * s;\n out[5] = a11 * c - a01 * s;\n out[6] = a12 * c - a02 * s;\n out[7] = a13 * c - a03 * s;\n return out;\n}\n/**\n * Creates a matrix from a vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\n\nfunction fromTranslation(out, v) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a vector scaling\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.scale(dest, dest, vec);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyVec3} v Scaling vector\n * @returns {mat4} out\n */\n\n\nfunction fromScaling(out, v) {\n out[0] = v[0];\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = v[1];\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = v[2];\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a given angle around a given axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotate(dest, dest, rad, axis);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @returns {mat4} out\n */\n\n\nfunction fromRotation(out, rad, axis) {\n var x = axis[0],\n y = axis[1],\n z = axis[2];\n var len = Math.hypot(x, y, z);\n var s, c, t;\n\n if (len < glMatrix.EPSILON) {\n return null;\n }\n\n len = 1 / len;\n x *= len;\n y *= len;\n z *= len;\n s = Math.sin(rad);\n c = Math.cos(rad);\n t = 1 - c; // Perform rotation-specific matrix multiplication\n\n out[0] = x * x * t + c;\n out[1] = y * x * t + z * s;\n out[2] = z * x * t - y * s;\n out[3] = 0;\n out[4] = x * y * t - z * s;\n out[5] = y * y * t + c;\n out[6] = z * y * t + x * s;\n out[7] = 0;\n out[8] = x * z * t + y * s;\n out[9] = y * z * t - x * s;\n out[10] = z * z * t + c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the X axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateX(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction fromXRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = c;\n out[6] = s;\n out[7] = 0;\n out[8] = 0;\n out[9] = -s;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Y axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateY(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction fromYRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = 0;\n out[2] = -s;\n out[3] = 0;\n out[4] = 0;\n out[5] = 1;\n out[6] = 0;\n out[7] = 0;\n out[8] = s;\n out[9] = 0;\n out[10] = c;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from the given angle around the Z axis\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.rotateZ(dest, dest, rad);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {Number} rad the angle to rotate the matrix by\n * @returns {mat4} out\n */\n\n\nfunction fromZRotation(out, rad) {\n var s = Math.sin(rad);\n var c = Math.cos(rad); // Perform axis-specific matrix multiplication\n\n out[0] = c;\n out[1] = s;\n out[2] = 0;\n out[3] = 0;\n out[4] = -s;\n out[5] = c;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 1;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation and vector translation\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @returns {mat4} out\n */\n\n\nfunction fromRotationTranslation(out, q, v) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - (yy + zz);\n out[1] = xy + wz;\n out[2] = xz - wy;\n out[3] = 0;\n out[4] = xy - wz;\n out[5] = 1 - (xx + zz);\n out[6] = yz + wx;\n out[7] = 0;\n out[8] = xz + wy;\n out[9] = yz - wx;\n out[10] = 1 - (xx + yy);\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a new mat4 from a dual quat.\n *\n * @param {mat4} out Matrix\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @returns {mat4} mat4 receiving operation result\n */\n\n\nfunction fromQuat2(out, a) {\n var translation = new glMatrix.ARRAY_TYPE(3);\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7];\n var magnitude = bx * bx + by * by + bz * bz + bw * bw; //Only scale if it makes sense\n\n if (magnitude > 0) {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2 / magnitude;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2 / magnitude;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2 / magnitude;\n } else {\n translation[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;\n translation[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;\n translation[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;\n }\n\n fromRotationTranslation(out, a, translation);\n return out;\n}\n/**\n * Returns the translation vector component of a transformation\n * matrix. If a matrix is built with fromRotationTranslation,\n * the returned vector will be the same as the translation vector\n * originally supplied.\n * @param {vec3} out Vector to receive translation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\n\nfunction getTranslation(out, mat) {\n out[0] = mat[12];\n out[1] = mat[13];\n out[2] = mat[14];\n return out;\n}\n/**\n * Returns the scaling factor component of a transformation\n * matrix. If a matrix is built with fromRotationTranslationScale\n * with a normalized Quaternion paramter, the returned vector will be\n * the same as the scaling vector\n * originally supplied.\n * @param {vec3} out Vector to receive scaling factor component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {vec3} out\n */\n\n\nfunction getScaling(out, mat) {\n var m11 = mat[0];\n var m12 = mat[1];\n var m13 = mat[2];\n var m21 = mat[4];\n var m22 = mat[5];\n var m23 = mat[6];\n var m31 = mat[8];\n var m32 = mat[9];\n var m33 = mat[10];\n out[0] = Math.hypot(m11, m12, m13);\n out[1] = Math.hypot(m21, m22, m23);\n out[2] = Math.hypot(m31, m32, m33);\n return out;\n}\n/**\n * Returns a quaternion representing the rotational component\n * of a transformation matrix. If a matrix is built with\n * fromRotationTranslation, the returned quaternion will be the\n * same as the quaternion originally supplied.\n * @param {quat} out Quaternion to receive the rotation component\n * @param {ReadonlyMat4} mat Matrix to be decomposed (input)\n * @return {quat} out\n */\n\n\nfunction getRotation(out, mat) {\n var scaling = new glMatrix.ARRAY_TYPE(3);\n getScaling(scaling, mat);\n var is1 = 1 / scaling[0];\n var is2 = 1 / scaling[1];\n var is3 = 1 / scaling[2];\n var sm11 = mat[0] * is1;\n var sm12 = mat[1] * is2;\n var sm13 = mat[2] * is3;\n var sm21 = mat[4] * is1;\n var sm22 = mat[5] * is2;\n var sm23 = mat[6] * is3;\n var sm31 = mat[8] * is1;\n var sm32 = mat[9] * is2;\n var sm33 = mat[10] * is3;\n var trace = sm11 + sm22 + sm33;\n var S = 0;\n\n if (trace > 0) {\n S = Math.sqrt(trace + 1.0) * 2;\n out[3] = 0.25 * S;\n out[0] = (sm23 - sm32) / S;\n out[1] = (sm31 - sm13) / S;\n out[2] = (sm12 - sm21) / S;\n } else if (sm11 > sm22 && sm11 > sm33) {\n S = Math.sqrt(1.0 + sm11 - sm22 - sm33) * 2;\n out[3] = (sm23 - sm32) / S;\n out[0] = 0.25 * S;\n out[1] = (sm12 + sm21) / S;\n out[2] = (sm31 + sm13) / S;\n } else if (sm22 > sm33) {\n S = Math.sqrt(1.0 + sm22 - sm11 - sm33) * 2;\n out[3] = (sm31 - sm13) / S;\n out[0] = (sm12 + sm21) / S;\n out[1] = 0.25 * S;\n out[2] = (sm23 + sm32) / S;\n } else {\n S = Math.sqrt(1.0 + sm33 - sm11 - sm22) * 2;\n out[3] = (sm12 - sm21) / S;\n out[0] = (sm31 + sm13) / S;\n out[1] = (sm23 + sm32) / S;\n out[2] = 0.25 * S;\n }\n\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @returns {mat4} out\n */\n\n\nfunction fromRotationTranslationScale(out, q, v, s) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n out[0] = (1 - (yy + zz)) * sx;\n out[1] = (xy + wz) * sx;\n out[2] = (xz - wy) * sx;\n out[3] = 0;\n out[4] = (xy - wz) * sy;\n out[5] = (1 - (xx + zz)) * sy;\n out[6] = (yz + wx) * sy;\n out[7] = 0;\n out[8] = (xz + wy) * sz;\n out[9] = (yz - wx) * sz;\n out[10] = (1 - (xx + yy)) * sz;\n out[11] = 0;\n out[12] = v[0];\n out[13] = v[1];\n out[14] = v[2];\n out[15] = 1;\n return out;\n}\n/**\n * Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin\n * This is equivalent to (but much faster than):\n *\n * mat4.identity(dest);\n * mat4.translate(dest, vec);\n * mat4.translate(dest, origin);\n * let quatMat = mat4.create();\n * quat4.toMat4(quat, quatMat);\n * mat4.multiply(dest, quatMat);\n * mat4.scale(dest, scale)\n * mat4.translate(dest, negativeOrigin);\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {quat4} q Rotation quaternion\n * @param {ReadonlyVec3} v Translation vector\n * @param {ReadonlyVec3} s Scaling vector\n * @param {ReadonlyVec3} o The origin vector around which to scale and rotate\n * @returns {mat4} out\n */\n\n\nfunction fromRotationTranslationScaleOrigin(out, q, v, s, o) {\n // Quaternion math\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var xy = x * y2;\n var xz = x * z2;\n var yy = y * y2;\n var yz = y * z2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n var sx = s[0];\n var sy = s[1];\n var sz = s[2];\n var ox = o[0];\n var oy = o[1];\n var oz = o[2];\n var out0 = (1 - (yy + zz)) * sx;\n var out1 = (xy + wz) * sx;\n var out2 = (xz - wy) * sx;\n var out4 = (xy - wz) * sy;\n var out5 = (1 - (xx + zz)) * sy;\n var out6 = (yz + wx) * sy;\n var out8 = (xz + wy) * sz;\n var out9 = (yz - wx) * sz;\n var out10 = (1 - (xx + yy)) * sz;\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = 0;\n out[4] = out4;\n out[5] = out5;\n out[6] = out6;\n out[7] = 0;\n out[8] = out8;\n out[9] = out9;\n out[10] = out10;\n out[11] = 0;\n out[12] = v[0] + ox - (out0 * ox + out4 * oy + out8 * oz);\n out[13] = v[1] + oy - (out1 * ox + out5 * oy + out9 * oz);\n out[14] = v[2] + oz - (out2 * ox + out6 * oy + out10 * oz);\n out[15] = 1;\n return out;\n}\n/**\n * Calculates a 4x4 matrix from the given quaternion\n *\n * @param {mat4} out mat4 receiving operation result\n * @param {ReadonlyQuat} q Quaternion to create matrix from\n *\n * @returns {mat4} out\n */\n\n\nfunction fromQuat(out, q) {\n var x = q[0],\n y = q[1],\n z = q[2],\n w = q[3];\n var x2 = x + x;\n var y2 = y + y;\n var z2 = z + z;\n var xx = x * x2;\n var yx = y * x2;\n var yy = y * y2;\n var zx = z * x2;\n var zy = z * y2;\n var zz = z * z2;\n var wx = w * x2;\n var wy = w * y2;\n var wz = w * z2;\n out[0] = 1 - yy - zz;\n out[1] = yx + wz;\n out[2] = zx - wy;\n out[3] = 0;\n out[4] = yx - wz;\n out[5] = 1 - xx - zz;\n out[6] = zy + wx;\n out[7] = 0;\n out[8] = zx + wy;\n out[9] = zy - wx;\n out[10] = 1 - xx - yy;\n out[11] = 0;\n out[12] = 0;\n out[13] = 0;\n out[14] = 0;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a frustum matrix with the given bounds\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Number} left Left bound of the frustum\n * @param {Number} right Right bound of the frustum\n * @param {Number} bottom Bottom bound of the frustum\n * @param {Number} top Top bound of the frustum\n * @param {Number} near Near bound of the frustum\n * @param {Number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\n\nfunction frustum(out, left, right, bottom, top, near, far) {\n var rl = 1 / (right - left);\n var tb = 1 / (top - bottom);\n var nf = 1 / (near - far);\n out[0] = near * 2 * rl;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = near * 2 * tb;\n out[6] = 0;\n out[7] = 0;\n out[8] = (right + left) * rl;\n out[9] = (top + bottom) * tb;\n out[10] = (far + near) * nf;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[14] = far * near * 2 * nf;\n out[15] = 0;\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\n\nfunction perspectiveNO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = (far + near) * nf;\n out[14] = 2 * far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -2 * near;\n }\n\n return out;\n}\n/**\n * Alias for {@link mat4.perspectiveNO}\n * @function\n */\n\n\nvar perspective = perspectiveNO;\n/**\n * Generates a perspective projection matrix suitable for WebGPU with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n * Passing null/undefined/no value for far will generate infinite projection matrix.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} fovy Vertical field of view in radians\n * @param {number} aspect Aspect ratio. typically viewport width/height\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum, can be null or Infinity\n * @returns {mat4} out\n */\n\nexports.perspective = perspective;\n\nfunction perspectiveZO(out, fovy, aspect, near, far) {\n var f = 1.0 / Math.tan(fovy / 2),\n nf;\n out[0] = f / aspect;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = f;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[11] = -1;\n out[12] = 0;\n out[13] = 0;\n out[15] = 0;\n\n if (far != null && far !== Infinity) {\n nf = 1 / (near - far);\n out[10] = far * nf;\n out[14] = far * near * nf;\n } else {\n out[10] = -1;\n out[14] = -near;\n }\n\n return out;\n}\n/**\n * Generates a perspective projection matrix with the given field of view.\n * This is primarily useful for generating projection matrices to be used\n * with the still experiemental WebVR API.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\n\nfunction perspectiveFromFieldOfView(out, fov, near, far) {\n var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);\n var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);\n var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);\n var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);\n var xScale = 2.0 / (leftTan + rightTan);\n var yScale = 2.0 / (upTan + downTan);\n out[0] = xScale;\n out[1] = 0.0;\n out[2] = 0.0;\n out[3] = 0.0;\n out[4] = 0.0;\n out[5] = yScale;\n out[6] = 0.0;\n out[7] = 0.0;\n out[8] = -((leftTan - rightTan) * xScale * 0.5);\n out[9] = (upTan - downTan) * yScale * 0.5;\n out[10] = far / (near - far);\n out[11] = -1.0;\n out[12] = 0.0;\n out[13] = 0.0;\n out[14] = far * near / (near - far);\n out[15] = 0.0;\n return out;\n}\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [-1, 1],\n * which matches WebGL/OpenGL's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\n\nfunction orthoNO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = 2 * nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = (far + near) * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Alias for {@link mat4.orthoNO}\n * @function\n */\n\n\nvar ortho = orthoNO;\n/**\n * Generates a orthogonal projection matrix with the given bounds.\n * The near/far clip planes correspond to a normalized device coordinate Z range of [0, 1],\n * which matches WebGPU/Vulkan/DirectX/Metal's clip volume.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {number} left Left bound of the frustum\n * @param {number} right Right bound of the frustum\n * @param {number} bottom Bottom bound of the frustum\n * @param {number} top Top bound of the frustum\n * @param {number} near Near bound of the frustum\n * @param {number} far Far bound of the frustum\n * @returns {mat4} out\n */\n\nexports.ortho = ortho;\n\nfunction orthoZO(out, left, right, bottom, top, near, far) {\n var lr = 1 / (left - right);\n var bt = 1 / (bottom - top);\n var nf = 1 / (near - far);\n out[0] = -2 * lr;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n out[4] = 0;\n out[5] = -2 * bt;\n out[6] = 0;\n out[7] = 0;\n out[8] = 0;\n out[9] = 0;\n out[10] = nf;\n out[11] = 0;\n out[12] = (left + right) * lr;\n out[13] = (top + bottom) * bt;\n out[14] = near * nf;\n out[15] = 1;\n return out;\n}\n/**\n * Generates a look-at matrix with the given eye position, focal point, and up axis.\n * If you want a matrix that actually makes an object look at another object, you should use targetTo instead.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\n\nfunction lookAt(out, eye, center, up) {\n var x0, x1, x2, y0, y1, y2, z0, z1, z2, len;\n var eyex = eye[0];\n var eyey = eye[1];\n var eyez = eye[2];\n var upx = up[0];\n var upy = up[1];\n var upz = up[2];\n var centerx = center[0];\n var centery = center[1];\n var centerz = center[2];\n\n if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) {\n return identity(out);\n }\n\n z0 = eyex - centerx;\n z1 = eyey - centery;\n z2 = eyez - centerz;\n len = 1 / Math.hypot(z0, z1, z2);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n x0 = upy * z2 - upz * z1;\n x1 = upz * z0 - upx * z2;\n x2 = upx * z1 - upy * z0;\n len = Math.hypot(x0, x1, x2);\n\n if (!len) {\n x0 = 0;\n x1 = 0;\n x2 = 0;\n } else {\n len = 1 / len;\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n y0 = z1 * x2 - z2 * x1;\n y1 = z2 * x0 - z0 * x2;\n y2 = z0 * x1 - z1 * x0;\n len = Math.hypot(y0, y1, y2);\n\n if (!len) {\n y0 = 0;\n y1 = 0;\n y2 = 0;\n } else {\n len = 1 / len;\n y0 *= len;\n y1 *= len;\n y2 *= len;\n }\n\n out[0] = x0;\n out[1] = y0;\n out[2] = z0;\n out[3] = 0;\n out[4] = x1;\n out[5] = y1;\n out[6] = z1;\n out[7] = 0;\n out[8] = x2;\n out[9] = y2;\n out[10] = z2;\n out[11] = 0;\n out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);\n out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);\n out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);\n out[15] = 1;\n return out;\n}\n/**\n * Generates a matrix that makes something look at something else.\n *\n * @param {mat4} out mat4 frustum matrix will be written into\n * @param {ReadonlyVec3} eye Position of the viewer\n * @param {ReadonlyVec3} center Point the viewer is looking at\n * @param {ReadonlyVec3} up vec3 pointing up\n * @returns {mat4} out\n */\n\n\nfunction targetTo(out, eye, target, up) {\n var eyex = eye[0],\n eyey = eye[1],\n eyez = eye[2],\n upx = up[0],\n upy = up[1],\n upz = up[2];\n var z0 = eyex - target[0],\n z1 = eyey - target[1],\n z2 = eyez - target[2];\n var len = z0 * z0 + z1 * z1 + z2 * z2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n z0 *= len;\n z1 *= len;\n z2 *= len;\n }\n\n var x0 = upy * z2 - upz * z1,\n x1 = upz * z0 - upx * z2,\n x2 = upx * z1 - upy * z0;\n len = x0 * x0 + x1 * x1 + x2 * x2;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n x0 *= len;\n x1 *= len;\n x2 *= len;\n }\n\n out[0] = x0;\n out[1] = x1;\n out[2] = x2;\n out[3] = 0;\n out[4] = z1 * x2 - z2 * x1;\n out[5] = z2 * x0 - z0 * x2;\n out[6] = z0 * x1 - z1 * x0;\n out[7] = 0;\n out[8] = z0;\n out[9] = z1;\n out[10] = z2;\n out[11] = 0;\n out[12] = eyex;\n out[13] = eyey;\n out[14] = eyez;\n out[15] = 1;\n return out;\n}\n/**\n * Returns a string representation of a mat4\n *\n * @param {ReadonlyMat4} a matrix to represent as a string\n * @returns {String} string representation of the matrix\n */\n\n\nfunction str(a) {\n return \"mat4(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \", \" + a[8] + \", \" + a[9] + \", \" + a[10] + \", \" + a[11] + \", \" + a[12] + \", \" + a[13] + \", \" + a[14] + \", \" + a[15] + \")\";\n}\n/**\n * Returns Frobenius norm of a mat4\n *\n * @param {ReadonlyMat4} a the matrix to calculate Frobenius norm of\n * @returns {Number} Frobenius norm\n */\n\n\nfunction frob(a) {\n return Math.hypot(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]);\n}\n/**\n * Adds two mat4's\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n out[8] = a[8] + b[8];\n out[9] = a[9] + b[9];\n out[10] = a[10] + b[10];\n out[11] = a[11] + b[11];\n out[12] = a[12] + b[12];\n out[13] = a[13] + b[13];\n out[14] = a[14] + b[14];\n out[15] = a[15] + b[15];\n return out;\n}\n/**\n * Subtracts matrix b from matrix a\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @returns {mat4} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n out[4] = a[4] - b[4];\n out[5] = a[5] - b[5];\n out[6] = a[6] - b[6];\n out[7] = a[7] - b[7];\n out[8] = a[8] - b[8];\n out[9] = a[9] - b[9];\n out[10] = a[10] - b[10];\n out[11] = a[11] - b[11];\n out[12] = a[12] - b[12];\n out[13] = a[13] - b[13];\n out[14] = a[14] - b[14];\n out[15] = a[15] - b[15];\n return out;\n}\n/**\n * Multiply each element of the matrix by a scalar.\n *\n * @param {mat4} out the receiving matrix\n * @param {ReadonlyMat4} a the matrix to scale\n * @param {Number} b amount to scale the matrix's elements by\n * @returns {mat4} out\n */\n\n\nfunction multiplyScalar(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n out[8] = a[8] * b;\n out[9] = a[9] * b;\n out[10] = a[10] * b;\n out[11] = a[11] * b;\n out[12] = a[12] * b;\n out[13] = a[13] * b;\n out[14] = a[14] * b;\n out[15] = a[15] * b;\n return out;\n}\n/**\n * Adds two mat4's after multiplying each element of the second operand by a scalar value.\n *\n * @param {mat4} out the receiving vector\n * @param {ReadonlyMat4} a the first operand\n * @param {ReadonlyMat4} b the second operand\n * @param {Number} scale the amount to scale b's elements by before adding\n * @returns {mat4} out\n */\n\n\nfunction multiplyScalarAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n out[4] = a[4] + b[4] * scale;\n out[5] = a[5] + b[5] * scale;\n out[6] = a[6] + b[6] * scale;\n out[7] = a[7] + b[7] * scale;\n out[8] = a[8] + b[8] * scale;\n out[9] = a[9] + b[9] * scale;\n out[10] = a[10] + b[10] * scale;\n out[11] = a[11] + b[11] * scale;\n out[12] = a[12] + b[12] * scale;\n out[13] = a[13] + b[13] * scale;\n out[14] = a[14] + b[14] * scale;\n out[15] = a[15] + b[15] * scale;\n return out;\n}\n/**\n * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15];\n}\n/**\n * Returns whether or not the matrices have approximately the same elements in the same position.\n *\n * @param {ReadonlyMat4} a The first matrix.\n * @param {ReadonlyMat4} b The second matrix.\n * @returns {Boolean} True if the matrices are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7];\n var a8 = a[8],\n a9 = a[9],\n a10 = a[10],\n a11 = a[11];\n var a12 = a[12],\n a13 = a[13],\n a14 = a[14],\n a15 = a[15];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n var b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7];\n var b8 = b[8],\n b9 = b[9],\n b10 = b[10],\n b11 = b[11];\n var b12 = b[12],\n b13 = b[13],\n b14 = b[14],\n b15 = b[15];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a15), Math.abs(b15));\n}\n/**\n * Alias for {@link mat4.multiply}\n * @function\n */\n\n\nvar mul = multiply;\n/**\n * Alias for {@link mat4.subtract}\n * @function\n */\n\nexports.mul = mul;\nvar sub = subtract;\nexports.sub = sub;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.length = length;\nexports.fromValues = fromValues;\nexports.copy = copy;\nexports.set = set;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiply = multiply;\nexports.divide = divide;\nexports.ceil = ceil;\nexports.floor = floor;\nexports.min = min;\nexports.max = max;\nexports.round = round;\nexports.scale = scale;\nexports.scaleAndAdd = scaleAndAdd;\nexports.distance = distance;\nexports.squaredDistance = squaredDistance;\nexports.squaredLength = squaredLength;\nexports.negate = negate;\nexports.inverse = inverse;\nexports.normalize = normalize;\nexports.dot = dot;\nexports.cross = cross;\nexports.lerp = lerp;\nexports.hermite = hermite;\nexports.bezier = bezier;\nexports.random = random;\nexports.transformMat4 = transformMat4;\nexports.transformMat3 = transformMat3;\nexports.transformQuat = transformQuat;\nexports.rotateX = rotateX;\nexports.rotateY = rotateY;\nexports.rotateZ = rotateZ;\nexports.angle = angle;\nexports.zero = zero;\nexports.str = str;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.forEach = exports.sqrLen = exports.len = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 3 Dimensional Vector\n * @module vec3\n */\n\n/**\n * Creates a new, empty vec3\n *\n * @returns {vec3} a new 3D vector\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(3);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n }\n\n return out;\n}\n/**\n * Creates a new vec3 initialized with values from an existing vector\n *\n * @param {ReadonlyVec3} a vector to clone\n * @returns {vec3} a new 3D vector\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(3);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n/**\n * Calculates the length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate length of\n * @returns {Number} length of a\n */\n\n\nfunction length(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n return Math.hypot(x, y, z);\n}\n/**\n * Creates a new vec3 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} a new 3D vector\n */\n\n\nfunction fromValues(x, y, z) {\n var out = new glMatrix.ARRAY_TYPE(3);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n/**\n * Copy the values from one vec3 to another\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the source vector\n * @returns {vec3} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n return out;\n}\n/**\n * Set the components of a vec3 to the given values\n *\n * @param {vec3} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @returns {vec3} out\n */\n\n\nfunction set(out, x, y, z) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n return out;\n}\n/**\n * Adds two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n return out;\n}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n return out;\n}\n/**\n * Multiplies two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n return out;\n}\n/**\n * Divides two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n return out;\n}\n/**\n * Math.ceil the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to ceil\n * @returns {vec3} out\n */\n\n\nfunction ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n out[2] = Math.ceil(a[2]);\n return out;\n}\n/**\n * Math.floor the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to floor\n * @returns {vec3} out\n */\n\n\nfunction floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n out[2] = Math.floor(a[2]);\n return out;\n}\n/**\n * Returns the minimum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n return out;\n}\n/**\n * Returns the maximum of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n return out;\n}\n/**\n * Math.round the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to round\n * @returns {vec3} out\n */\n\n\nfunction round(out, a) {\n out[0] = Math.round(a[0]);\n out[1] = Math.round(a[1]);\n out[2] = Math.round(a[2]);\n return out;\n}\n/**\n * Scales a vec3 by a scalar number\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec3} out\n */\n\n\nfunction scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n return out;\n}\n/**\n * Adds two vec3's after scaling the second operand by a scalar value\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec3} out\n */\n\n\nfunction scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n return out;\n}\n/**\n * Calculates the euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} distance between a and b\n */\n\n\nfunction distance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n return Math.hypot(x, y, z);\n}\n/**\n * Calculates the squared euclidian distance between two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} squared distance between a and b\n */\n\n\nfunction squaredDistance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n return x * x + y * y + z * z;\n}\n/**\n * Calculates the squared length of a vec3\n *\n * @param {ReadonlyVec3} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\n\n\nfunction squaredLength(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n return x * x + y * y + z * z;\n}\n/**\n * Negates the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to negate\n * @returns {vec3} out\n */\n\n\nfunction negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n return out;\n}\n/**\n * Returns the inverse of the components of a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to invert\n * @returns {vec3} out\n */\n\n\nfunction inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n return out;\n}\n/**\n * Normalize a vec3\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a vector to normalize\n * @returns {vec3} out\n */\n\n\nfunction normalize(out, a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n var len = x * x + y * y + z * z;\n\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n out[2] = a[2] * len;\n return out;\n}\n/**\n * Calculates the dot product of two vec3's\n *\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {Number} dot product of a and b\n */\n\n\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n/**\n * Computes the cross product of two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction cross(out, a, b) {\n var ax = a[0],\n ay = a[1],\n az = a[2];\n var bx = b[0],\n by = b[1],\n bz = b[2];\n out[0] = ay * bz - az * by;\n out[1] = az * bx - ax * bz;\n out[2] = ax * by - ay * bx;\n return out;\n}\n/**\n * Performs a linear interpolation between two vec3's\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\n\nfunction lerp(out, a, b, t) {\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n return out;\n}\n/**\n * Performs a hermite interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\n\nfunction hermite(out, a, b, c, d, t) {\n var factorTimes2 = t * t;\n var factor1 = factorTimes2 * (2 * t - 3) + 1;\n var factor2 = factorTimes2 * (t - 2) + t;\n var factor3 = factorTimes2 * (t - 1);\n var factor4 = factorTimes2 * (3 - 2 * t);\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n return out;\n}\n/**\n * Performs a bezier interpolation with two control points\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the first operand\n * @param {ReadonlyVec3} b the second operand\n * @param {ReadonlyVec3} c the third operand\n * @param {ReadonlyVec3} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec3} out\n */\n\n\nfunction bezier(out, a, b, c, d, t) {\n var inverseFactor = 1 - t;\n var inverseFactorTimesTwo = inverseFactor * inverseFactor;\n var factorTimes2 = t * t;\n var factor1 = inverseFactorTimesTwo * inverseFactor;\n var factor2 = 3 * t * inverseFactorTimesTwo;\n var factor3 = 3 * factorTimes2 * inverseFactor;\n var factor4 = factorTimes2 * t;\n out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;\n out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;\n out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;\n return out;\n}\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec3} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec3} out\n */\n\n\nfunction random(out, scale) {\n scale = scale || 1.0;\n var r = glMatrix.RANDOM() * 2.0 * Math.PI;\n var z = glMatrix.RANDOM() * 2.0 - 1.0;\n var zScale = Math.sqrt(1.0 - z * z) * scale;\n out[0] = Math.cos(r) * zScale;\n out[1] = Math.sin(r) * zScale;\n out[2] = z * scale;\n return out;\n}\n/**\n * Transforms the vec3 with a mat4.\n * 4th vector component is implicitly '1'\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec3} out\n */\n\n\nfunction transformMat4(out, a, m) {\n var x = a[0],\n y = a[1],\n z = a[2];\n var w = m[3] * x + m[7] * y + m[11] * z + m[15];\n w = w || 1.0;\n out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;\n out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;\n out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;\n return out;\n}\n/**\n * Transforms the vec3 with a mat3.\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyMat3} m the 3x3 matrix to transform with\n * @returns {vec3} out\n */\n\n\nfunction transformMat3(out, a, m) {\n var x = a[0],\n y = a[1],\n z = a[2];\n out[0] = x * m[0] + y * m[3] + z * m[6];\n out[1] = x * m[1] + y * m[4] + z * m[7];\n out[2] = x * m[2] + y * m[5] + z * m[8];\n return out;\n}\n/**\n * Transforms the vec3 with a quat\n * Can also be used for dual quaternions. (Multiply it with the real part)\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec3} a the vector to transform\n * @param {ReadonlyQuat} q quaternion to transform with\n * @returns {vec3} out\n */\n\n\nfunction transformQuat(out, a, q) {\n // benchmarks: https://jsperf.com/quaternion-transform-vec3-implementations-fixed\n var qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3];\n var x = a[0],\n y = a[1],\n z = a[2]; // var qvec = [qx, qy, qz];\n // var uv = vec3.cross([], qvec, a);\n\n var uvx = qy * z - qz * y,\n uvy = qz * x - qx * z,\n uvz = qx * y - qy * x; // var uuv = vec3.cross([], qvec, uv);\n\n var uuvx = qy * uvz - qz * uvy,\n uuvy = qz * uvx - qx * uvz,\n uuvz = qx * uvy - qy * uvx; // vec3.scale(uv, uv, 2 * w);\n\n var w2 = qw * 2;\n uvx *= w2;\n uvy *= w2;\n uvz *= w2; // vec3.scale(uuv, uuv, 2);\n\n uuvx *= 2;\n uuvy *= 2;\n uuvz *= 2; // return vec3.add(out, a, vec3.add(out, uv, uuv));\n\n out[0] = x + uvx + uuvx;\n out[1] = y + uvy + uuvy;\n out[2] = z + uvz + uuvz;\n return out;\n}\n/**\n * Rotate a 3D vector around the x-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\n\nfunction rotateX(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[0];\n r[1] = p[1] * Math.cos(rad) - p[2] * Math.sin(rad);\n r[2] = p[1] * Math.sin(rad) + p[2] * Math.cos(rad); //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Rotate a 3D vector around the y-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\n\nfunction rotateY(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[2] * Math.sin(rad) + p[0] * Math.cos(rad);\n r[1] = p[1];\n r[2] = p[2] * Math.cos(rad) - p[0] * Math.sin(rad); //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Rotate a 3D vector around the z-axis\n * @param {vec3} out The receiving vec3\n * @param {ReadonlyVec3} a The vec3 point to rotate\n * @param {ReadonlyVec3} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec3} out\n */\n\n\nfunction rotateZ(out, a, b, rad) {\n var p = [],\n r = []; //Translate point to the origin\n\n p[0] = a[0] - b[0];\n p[1] = a[1] - b[1];\n p[2] = a[2] - b[2]; //perform rotation\n\n r[0] = p[0] * Math.cos(rad) - p[1] * Math.sin(rad);\n r[1] = p[0] * Math.sin(rad) + p[1] * Math.cos(rad);\n r[2] = p[2]; //translate to correct position\n\n out[0] = r[0] + b[0];\n out[1] = r[1] + b[1];\n out[2] = r[2] + b[2];\n return out;\n}\n/**\n * Get the angle between two 3D vectors\n * @param {ReadonlyVec3} a The first operand\n * @param {ReadonlyVec3} b The second operand\n * @returns {Number} The angle in radians\n */\n\n\nfunction angle(a, b) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n bx = b[0],\n by = b[1],\n bz = b[2],\n mag1 = Math.sqrt(ax * ax + ay * ay + az * az),\n mag2 = Math.sqrt(bx * bx + by * by + bz * bz),\n mag = mag1 * mag2,\n cosine = mag && dot(a, b) / mag;\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n/**\n * Set the components of a vec3 to zero\n *\n * @param {vec3} out the receiving vector\n * @returns {vec3} out\n */\n\n\nfunction zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n out[2] = 0.0;\n return out;\n}\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec3} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\n\nfunction str(a) {\n return \"vec3(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \")\";\n}\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];\n}\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec3} a The first vector.\n * @param {ReadonlyVec3} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2));\n}\n/**\n * Alias for {@link vec3.subtract}\n * @function\n */\n\n\nvar sub = subtract;\n/**\n * Alias for {@link vec3.multiply}\n * @function\n */\n\nexports.sub = sub;\nvar mul = multiply;\n/**\n * Alias for {@link vec3.divide}\n * @function\n */\n\nexports.mul = mul;\nvar div = divide;\n/**\n * Alias for {@link vec3.distance}\n * @function\n */\n\nexports.div = div;\nvar dist = distance;\n/**\n * Alias for {@link vec3.squaredDistance}\n * @function\n */\n\nexports.dist = dist;\nvar sqrDist = squaredDistance;\n/**\n * Alias for {@link vec3.length}\n * @function\n */\n\nexports.sqrDist = sqrDist;\nvar len = length;\n/**\n * Alias for {@link vec3.squaredLength}\n * @function\n */\n\nexports.len = len;\nvar sqrLen = squaredLength;\n/**\n * Perform some operation over an array of vec3s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\n\nexports.sqrLen = sqrLen;\n\nvar forEach = function () {\n var vec = create();\n return function (a, stride, offset, count, fn, arg) {\n var i, l;\n\n if (!stride) {\n stride = 3;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n vec[2] = a[i + 2];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n a[i + 2] = vec[2];\n }\n\n return a;\n };\n}();\n\nexports.forEach = forEach;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.fromValues = fromValues;\nexports.copy = copy;\nexports.set = set;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiply = multiply;\nexports.divide = divide;\nexports.ceil = ceil;\nexports.floor = floor;\nexports.min = min;\nexports.max = max;\nexports.round = round;\nexports.scale = scale;\nexports.scaleAndAdd = scaleAndAdd;\nexports.distance = distance;\nexports.squaredDistance = squaredDistance;\nexports.length = length;\nexports.squaredLength = squaredLength;\nexports.negate = negate;\nexports.inverse = inverse;\nexports.normalize = normalize;\nexports.dot = dot;\nexports.cross = cross;\nexports.lerp = lerp;\nexports.random = random;\nexports.transformMat4 = transformMat4;\nexports.transformQuat = transformQuat;\nexports.zero = zero;\nexports.str = str;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.forEach = exports.sqrLen = exports.len = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 4 Dimensional Vector\n * @module vec4\n */\n\n/**\n * Creates a new, empty vec4\n *\n * @returns {vec4} a new 4D vector\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(4);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 0;\n }\n\n return out;\n}\n/**\n * Creates a new vec4 initialized with values from an existing vector\n *\n * @param {ReadonlyVec4} a vector to clone\n * @returns {vec4} a new 4D vector\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(4);\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n/**\n * Creates a new vec4 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} a new 4D vector\n */\n\n\nfunction fromValues(x, y, z, w) {\n var out = new glMatrix.ARRAY_TYPE(4);\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n}\n/**\n * Copy the values from one vec4 to another\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the source vector\n * @returns {vec4} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\n/**\n * Set the components of a vec4 to the given values\n *\n * @param {vec4} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {vec4} out\n */\n\n\nfunction set(out, x, y, z, w) {\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = w;\n return out;\n}\n/**\n * Adds two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n return out;\n}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n out[2] = a[2] - b[2];\n out[3] = a[3] - b[3];\n return out;\n}\n/**\n * Multiplies two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n out[2] = a[2] * b[2];\n out[3] = a[3] * b[3];\n return out;\n}\n/**\n * Divides two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n out[2] = a[2] / b[2];\n out[3] = a[3] / b[3];\n return out;\n}\n/**\n * Math.ceil the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to ceil\n * @returns {vec4} out\n */\n\n\nfunction ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n out[2] = Math.ceil(a[2]);\n out[3] = Math.ceil(a[3]);\n return out;\n}\n/**\n * Math.floor the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to floor\n * @returns {vec4} out\n */\n\n\nfunction floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n out[2] = Math.floor(a[2]);\n out[3] = Math.floor(a[3]);\n return out;\n}\n/**\n * Returns the minimum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n out[2] = Math.min(a[2], b[2]);\n out[3] = Math.min(a[3], b[3]);\n return out;\n}\n/**\n * Returns the maximum of two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {vec4} out\n */\n\n\nfunction max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n out[2] = Math.max(a[2], b[2]);\n out[3] = Math.max(a[3], b[3]);\n return out;\n}\n/**\n * Math.round the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to round\n * @returns {vec4} out\n */\n\n\nfunction round(out, a) {\n out[0] = Math.round(a[0]);\n out[1] = Math.round(a[1]);\n out[2] = Math.round(a[2]);\n out[3] = Math.round(a[3]);\n return out;\n}\n/**\n * Scales a vec4 by a scalar number\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec4} out\n */\n\n\nfunction scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n return out;\n}\n/**\n * Adds two vec4's after scaling the second operand by a scalar value\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec4} out\n */\n\n\nfunction scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n out[2] = a[2] + b[2] * scale;\n out[3] = a[3] + b[3] * scale;\n return out;\n}\n/**\n * Calculates the euclidian distance between two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} distance between a and b\n */\n\n\nfunction distance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n var w = b[3] - a[3];\n return Math.hypot(x, y, z, w);\n}\n/**\n * Calculates the squared euclidian distance between two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} squared distance between a and b\n */\n\n\nfunction squaredDistance(a, b) {\n var x = b[0] - a[0];\n var y = b[1] - a[1];\n var z = b[2] - a[2];\n var w = b[3] - a[3];\n return x * x + y * y + z * z + w * w;\n}\n/**\n * Calculates the length of a vec4\n *\n * @param {ReadonlyVec4} a vector to calculate length of\n * @returns {Number} length of a\n */\n\n\nfunction length(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n var w = a[3];\n return Math.hypot(x, y, z, w);\n}\n/**\n * Calculates the squared length of a vec4\n *\n * @param {ReadonlyVec4} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\n\n\nfunction squaredLength(a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n var w = a[3];\n return x * x + y * y + z * z + w * w;\n}\n/**\n * Negates the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to negate\n * @returns {vec4} out\n */\n\n\nfunction negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = -a[3];\n return out;\n}\n/**\n * Returns the inverse of the components of a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to invert\n * @returns {vec4} out\n */\n\n\nfunction inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n out[2] = 1.0 / a[2];\n out[3] = 1.0 / a[3];\n return out;\n}\n/**\n * Normalize a vec4\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a vector to normalize\n * @returns {vec4} out\n */\n\n\nfunction normalize(out, a) {\n var x = a[0];\n var y = a[1];\n var z = a[2];\n var w = a[3];\n var len = x * x + y * y + z * z + w * w;\n\n if (len > 0) {\n len = 1 / Math.sqrt(len);\n }\n\n out[0] = x * len;\n out[1] = y * len;\n out[2] = z * len;\n out[3] = w * len;\n return out;\n}\n/**\n * Calculates the dot product of two vec4's\n *\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @returns {Number} dot product of a and b\n */\n\n\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];\n}\n/**\n * Returns the cross-product of three vectors in a 4-dimensional space\n *\n * @param {ReadonlyVec4} result the receiving vector\n * @param {ReadonlyVec4} U the first vector\n * @param {ReadonlyVec4} V the second vector\n * @param {ReadonlyVec4} W the third vector\n * @returns {vec4} result\n */\n\n\nfunction cross(out, u, v, w) {\n var A = v[0] * w[1] - v[1] * w[0],\n B = v[0] * w[2] - v[2] * w[0],\n C = v[0] * w[3] - v[3] * w[0],\n D = v[1] * w[2] - v[2] * w[1],\n E = v[1] * w[3] - v[3] * w[1],\n F = v[2] * w[3] - v[3] * w[2];\n var G = u[0];\n var H = u[1];\n var I = u[2];\n var J = u[3];\n out[0] = H * F - I * E + J * D;\n out[1] = -(G * F) + I * C - J * B;\n out[2] = G * E - H * C + J * A;\n out[3] = -(G * D) + H * B - I * A;\n return out;\n}\n/**\n * Performs a linear interpolation between two vec4's\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the first operand\n * @param {ReadonlyVec4} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec4} out\n */\n\n\nfunction lerp(out, a, b, t) {\n var ax = a[0];\n var ay = a[1];\n var az = a[2];\n var aw = a[3];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n out[2] = az + t * (b[2] - az);\n out[3] = aw + t * (b[3] - aw);\n return out;\n}\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec4} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec4} out\n */\n\n\nfunction random(out, scale) {\n scale = scale || 1.0; // Marsaglia, George. Choosing a Point from the Surface of a\n // Sphere. Ann. Math. Statist. 43 (1972), no. 2, 645--646.\n // http://projecteuclid.org/euclid.aoms/1177692644;\n\n var v1, v2, v3, v4;\n var s1, s2;\n\n do {\n v1 = glMatrix.RANDOM() * 2 - 1;\n v2 = glMatrix.RANDOM() * 2 - 1;\n s1 = v1 * v1 + v2 * v2;\n } while (s1 >= 1);\n\n do {\n v3 = glMatrix.RANDOM() * 2 - 1;\n v4 = glMatrix.RANDOM() * 2 - 1;\n s2 = v3 * v3 + v4 * v4;\n } while (s2 >= 1);\n\n var d = Math.sqrt((1 - s1) / s2);\n out[0] = scale * v1;\n out[1] = scale * v2;\n out[2] = scale * v3 * d;\n out[3] = scale * v4 * d;\n return out;\n}\n/**\n * Transforms the vec4 with a mat4.\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec4} out\n */\n\n\nfunction transformMat4(out, a, m) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;\n out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;\n out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;\n out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;\n return out;\n}\n/**\n * Transforms the vec4 with a quat\n *\n * @param {vec4} out the receiving vector\n * @param {ReadonlyVec4} a the vector to transform\n * @param {ReadonlyQuat} q quaternion to transform with\n * @returns {vec4} out\n */\n\n\nfunction transformQuat(out, a, q) {\n var x = a[0],\n y = a[1],\n z = a[2];\n var qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3]; // calculate quat * vec\n\n var ix = qw * x + qy * z - qz * y;\n var iy = qw * y + qz * x - qx * z;\n var iz = qw * z + qx * y - qy * x;\n var iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat\n\n out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;\n out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;\n out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;\n out[3] = a[3];\n return out;\n}\n/**\n * Set the components of a vec4 to zero\n *\n * @param {vec4} out the receiving vector\n * @returns {vec4} out\n */\n\n\nfunction zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n out[2] = 0.0;\n out[3] = 0.0;\n return out;\n}\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec4} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\n\nfunction str(a) {\n return \"vec4(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \")\";\n}\n/**\n * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec4} a The first vector.\n * @param {ReadonlyVec4} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];\n}\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec4} a The first vector.\n * @param {ReadonlyVec4} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3));\n}\n/**\n * Alias for {@link vec4.subtract}\n * @function\n */\n\n\nvar sub = subtract;\n/**\n * Alias for {@link vec4.multiply}\n * @function\n */\n\nexports.sub = sub;\nvar mul = multiply;\n/**\n * Alias for {@link vec4.divide}\n * @function\n */\n\nexports.mul = mul;\nvar div = divide;\n/**\n * Alias for {@link vec4.distance}\n * @function\n */\n\nexports.div = div;\nvar dist = distance;\n/**\n * Alias for {@link vec4.squaredDistance}\n * @function\n */\n\nexports.dist = dist;\nvar sqrDist = squaredDistance;\n/**\n * Alias for {@link vec4.length}\n * @function\n */\n\nexports.sqrDist = sqrDist;\nvar len = length;\n/**\n * Alias for {@link vec4.squaredLength}\n * @function\n */\n\nexports.len = len;\nvar sqrLen = squaredLength;\n/**\n * Perform some operation over an array of vec4s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\n\nexports.sqrLen = sqrLen;\n\nvar forEach = function () {\n var vec = create();\n return function (a, stride, offset, count, fn, arg) {\n var i, l;\n\n if (!stride) {\n stride = 4;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n vec[2] = a[i + 2];\n vec[3] = a[i + 3];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n a[i + 2] = vec[2];\n a[i + 3] = vec[3];\n }\n\n return a;\n };\n}();\n\nexports.forEach = forEach;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.identity = identity;\nexports.setAxisAngle = setAxisAngle;\nexports.getAxisAngle = getAxisAngle;\nexports.getAngle = getAngle;\nexports.multiply = multiply;\nexports.rotateX = rotateX;\nexports.rotateY = rotateY;\nexports.rotateZ = rotateZ;\nexports.calculateW = calculateW;\nexports.exp = exp;\nexports.ln = ln;\nexports.pow = pow;\nexports.slerp = slerp;\nexports.random = random;\nexports.invert = invert;\nexports.conjugate = conjugate;\nexports.fromMat3 = fromMat3;\nexports.fromEuler = fromEuler;\nexports.str = str;\nexports.setAxes = exports.sqlerp = exports.rotationTo = exports.equals = exports.exactEquals = exports.normalize = exports.sqrLen = exports.squaredLength = exports.len = exports.length = exports.lerp = exports.dot = exports.scale = exports.mul = exports.add = exports.set = exports.copy = exports.fromValues = exports.clone = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nvar mat3 = _interopRequireWildcard(require(\"./mat3.js\"));\n\nvar vec3 = _interopRequireWildcard(require(\"./vec3.js\"));\n\nvar vec4 = _interopRequireWildcard(require(\"./vec4.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * Quaternion\n * @module quat\n */\n\n/**\n * Creates a new identity quat\n *\n * @returns {quat} a new quaternion\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(4);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n }\n\n out[3] = 1;\n return out;\n}\n/**\n * Set a quat to the identity quaternion\n *\n * @param {quat} out the receiving quaternion\n * @returns {quat} out\n */\n\n\nfunction identity(out) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n}\n/**\n * Sets a quat from the given angle and rotation axis,\n * then returns it.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyVec3} axis the axis around which to rotate\n * @param {Number} rad the angle in radians\n * @returns {quat} out\n **/\n\n\nfunction setAxisAngle(out, axis, rad) {\n rad = rad * 0.5;\n var s = Math.sin(rad);\n out[0] = s * axis[0];\n out[1] = s * axis[1];\n out[2] = s * axis[2];\n out[3] = Math.cos(rad);\n return out;\n}\n/**\n * Gets the rotation axis and angle for a given\n * quaternion. If a quaternion is created with\n * setAxisAngle, this method will return the same\n * values as providied in the original parameter list\n * OR functionally equivalent values.\n * Example: The quaternion formed by axis [0, 0, 1] and\n * angle -90 is the same as the quaternion formed by\n * [0, 0, 1] and 270. This method favors the latter.\n * @param {vec3} out_axis Vector receiving the axis of rotation\n * @param {ReadonlyQuat} q Quaternion to be decomposed\n * @return {Number} Angle, in radians, of the rotation\n */\n\n\nfunction getAxisAngle(out_axis, q) {\n var rad = Math.acos(q[3]) * 2.0;\n var s = Math.sin(rad / 2.0);\n\n if (s > glMatrix.EPSILON) {\n out_axis[0] = q[0] / s;\n out_axis[1] = q[1] / s;\n out_axis[2] = q[2] / s;\n } else {\n // If s is zero, return any axis (no rotation - axis does not matter)\n out_axis[0] = 1;\n out_axis[1] = 0;\n out_axis[2] = 0;\n }\n\n return rad;\n}\n/**\n * Gets the angular distance between two unit quaternions\n *\n * @param {ReadonlyQuat} a Origin unit quaternion\n * @param {ReadonlyQuat} b Destination unit quaternion\n * @return {Number} Angle, in radians, between the two quaternions\n */\n\n\nfunction getAngle(a, b) {\n var dotproduct = dot(a, b);\n return Math.acos(2 * dotproduct * dotproduct - 1);\n}\n/**\n * Multiplies two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @returns {quat} out\n */\n\n\nfunction multiply(out, a, b) {\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n var bx = b[0],\n by = b[1],\n bz = b[2],\n bw = b[3];\n out[0] = ax * bw + aw * bx + ay * bz - az * by;\n out[1] = ay * bw + aw * by + az * bx - ax * bz;\n out[2] = az * bw + aw * bz + ax * by - ay * bx;\n out[3] = aw * bw - ax * bx - ay * by - az * bz;\n return out;\n}\n/**\n * Rotates a quaternion by the given angle about the X axis\n *\n * @param {quat} out quat receiving operation result\n * @param {ReadonlyQuat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\n\n\nfunction rotateX(out, a, rad) {\n rad *= 0.5;\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n var bx = Math.sin(rad),\n bw = Math.cos(rad);\n out[0] = ax * bw + aw * bx;\n out[1] = ay * bw + az * bx;\n out[2] = az * bw - ay * bx;\n out[3] = aw * bw - ax * bx;\n return out;\n}\n/**\n * Rotates a quaternion by the given angle about the Y axis\n *\n * @param {quat} out quat receiving operation result\n * @param {ReadonlyQuat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\n\n\nfunction rotateY(out, a, rad) {\n rad *= 0.5;\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n var by = Math.sin(rad),\n bw = Math.cos(rad);\n out[0] = ax * bw - az * by;\n out[1] = ay * bw + aw * by;\n out[2] = az * bw + ax * by;\n out[3] = aw * bw - ay * by;\n return out;\n}\n/**\n * Rotates a quaternion by the given angle about the Z axis\n *\n * @param {quat} out quat receiving operation result\n * @param {ReadonlyQuat} a quat to rotate\n * @param {number} rad angle (in radians) to rotate\n * @returns {quat} out\n */\n\n\nfunction rotateZ(out, a, rad) {\n rad *= 0.5;\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n var bz = Math.sin(rad),\n bw = Math.cos(rad);\n out[0] = ax * bw + ay * bz;\n out[1] = ay * bw - ax * bz;\n out[2] = az * bw + aw * bz;\n out[3] = aw * bw - az * bz;\n return out;\n}\n/**\n * Calculates the W component of a quat from the X, Y, and Z components.\n * Assumes that quaternion is 1 unit in length.\n * Any existing W component will be ignored.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate W component of\n * @returns {quat} out\n */\n\n\nfunction calculateW(out, a) {\n var x = a[0],\n y = a[1],\n z = a[2];\n out[0] = x;\n out[1] = y;\n out[2] = z;\n out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z));\n return out;\n}\n/**\n * Calculate the exponential of a unit quaternion.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate the exponential of\n * @returns {quat} out\n */\n\n\nfunction exp(out, a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n var r = Math.sqrt(x * x + y * y + z * z);\n var et = Math.exp(w);\n var s = r > 0 ? et * Math.sin(r) / r : 0;\n out[0] = x * s;\n out[1] = y * s;\n out[2] = z * s;\n out[3] = et * Math.cos(r);\n return out;\n}\n/**\n * Calculate the natural logarithm of a unit quaternion.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate the exponential of\n * @returns {quat} out\n */\n\n\nfunction ln(out, a) {\n var x = a[0],\n y = a[1],\n z = a[2],\n w = a[3];\n var r = Math.sqrt(x * x + y * y + z * z);\n var t = r > 0 ? Math.atan2(r, w) / r : 0;\n out[0] = x * t;\n out[1] = y * t;\n out[2] = z * t;\n out[3] = 0.5 * Math.log(x * x + y * y + z * z + w * w);\n return out;\n}\n/**\n * Calculate the scalar power of a unit quaternion.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate the exponential of\n * @param {Number} b amount to scale the quaternion by\n * @returns {quat} out\n */\n\n\nfunction pow(out, a, b) {\n ln(out, a);\n scale(out, out, b);\n exp(out, out);\n return out;\n}\n/**\n * Performs a spherical linear interpolation between two quat\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {quat} out\n */\n\n\nfunction slerp(out, a, b, t) {\n // benchmarks:\n // http://jsperf.com/quaternion-slerp-implementations\n var ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n var bx = b[0],\n by = b[1],\n bz = b[2],\n bw = b[3];\n var omega, cosom, sinom, scale0, scale1; // calc cosine\n\n cosom = ax * bx + ay * by + az * bz + aw * bw; // adjust signs (if necessary)\n\n if (cosom < 0.0) {\n cosom = -cosom;\n bx = -bx;\n by = -by;\n bz = -bz;\n bw = -bw;\n } // calculate coefficients\n\n\n if (1.0 - cosom > glMatrix.EPSILON) {\n // standard case (slerp)\n omega = Math.acos(cosom);\n sinom = Math.sin(omega);\n scale0 = Math.sin((1.0 - t) * omega) / sinom;\n scale1 = Math.sin(t * omega) / sinom;\n } else {\n // \"from\" and \"to\" quaternions are very close\n // ... so we can do a linear interpolation\n scale0 = 1.0 - t;\n scale1 = t;\n } // calculate final values\n\n\n out[0] = scale0 * ax + scale1 * bx;\n out[1] = scale0 * ay + scale1 * by;\n out[2] = scale0 * az + scale1 * bz;\n out[3] = scale0 * aw + scale1 * bw;\n return out;\n}\n/**\n * Generates a random unit quaternion\n *\n * @param {quat} out the receiving quaternion\n * @returns {quat} out\n */\n\n\nfunction random(out) {\n // Implementation of http://planning.cs.uiuc.edu/node198.html\n // TODO: Calling random 3 times is probably not the fastest solution\n var u1 = glMatrix.RANDOM();\n var u2 = glMatrix.RANDOM();\n var u3 = glMatrix.RANDOM();\n var sqrt1MinusU1 = Math.sqrt(1 - u1);\n var sqrtU1 = Math.sqrt(u1);\n out[0] = sqrt1MinusU1 * Math.sin(2.0 * Math.PI * u2);\n out[1] = sqrt1MinusU1 * Math.cos(2.0 * Math.PI * u2);\n out[2] = sqrtU1 * Math.sin(2.0 * Math.PI * u3);\n out[3] = sqrtU1 * Math.cos(2.0 * Math.PI * u3);\n return out;\n}\n/**\n * Calculates the inverse of a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate inverse of\n * @returns {quat} out\n */\n\n\nfunction invert(out, a) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3];\n var dot = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3;\n var invDot = dot ? 1.0 / dot : 0; // TODO: Would be faster to return [0,0,0,0] immediately if dot == 0\n\n out[0] = -a0 * invDot;\n out[1] = -a1 * invDot;\n out[2] = -a2 * invDot;\n out[3] = a3 * invDot;\n return out;\n}\n/**\n * Calculates the conjugate of a quat\n * If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quat to calculate conjugate of\n * @returns {quat} out\n */\n\n\nfunction conjugate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a[3];\n return out;\n}\n/**\n * Creates a quaternion from the given 3x3 rotation matrix.\n *\n * NOTE: The resultant quaternion is not normalized, so you should be sure\n * to renormalize the quaternion yourself where necessary.\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyMat3} m rotation matrix\n * @returns {quat} out\n * @function\n */\n\n\nfunction fromMat3(out, m) {\n // Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes\n // article \"Quaternion Calculus and Fast Animation\".\n var fTrace = m[0] + m[4] + m[8];\n var fRoot;\n\n if (fTrace > 0.0) {\n // |w| > 1/2, may as well choose w > 1/2\n fRoot = Math.sqrt(fTrace + 1.0); // 2w\n\n out[3] = 0.5 * fRoot;\n fRoot = 0.5 / fRoot; // 1/(4w)\n\n out[0] = (m[5] - m[7]) * fRoot;\n out[1] = (m[6] - m[2]) * fRoot;\n out[2] = (m[1] - m[3]) * fRoot;\n } else {\n // |w| <= 1/2\n var i = 0;\n if (m[4] > m[0]) i = 1;\n if (m[8] > m[i * 3 + i]) i = 2;\n var j = (i + 1) % 3;\n var k = (i + 2) % 3;\n fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1.0);\n out[i] = 0.5 * fRoot;\n fRoot = 0.5 / fRoot;\n out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot;\n out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot;\n out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot;\n }\n\n return out;\n}\n/**\n * Creates a quaternion from the given euler angle x, y, z.\n *\n * @param {quat} out the receiving quaternion\n * @param {x} Angle to rotate around X axis in degrees.\n * @param {y} Angle to rotate around Y axis in degrees.\n * @param {z} Angle to rotate around Z axis in degrees.\n * @returns {quat} out\n * @function\n */\n\n\nfunction fromEuler(out, x, y, z) {\n var halfToRad = 0.5 * Math.PI / 180.0;\n x *= halfToRad;\n y *= halfToRad;\n z *= halfToRad;\n var sx = Math.sin(x);\n var cx = Math.cos(x);\n var sy = Math.sin(y);\n var cy = Math.cos(y);\n var sz = Math.sin(z);\n var cz = Math.cos(z);\n out[0] = sx * cy * cz - cx * sy * sz;\n out[1] = cx * sy * cz + sx * cy * sz;\n out[2] = cx * cy * sz - sx * sy * cz;\n out[3] = cx * cy * cz + sx * sy * sz;\n return out;\n}\n/**\n * Returns a string representation of a quatenion\n *\n * @param {ReadonlyQuat} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\n\nfunction str(a) {\n return \"quat(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \")\";\n}\n/**\n * Creates a new quat initialized with values from an existing quaternion\n *\n * @param {ReadonlyQuat} a quaternion to clone\n * @returns {quat} a new quaternion\n * @function\n */\n\n\nvar clone = vec4.clone;\n/**\n * Creates a new quat initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {quat} a new quaternion\n * @function\n */\n\nexports.clone = clone;\nvar fromValues = vec4.fromValues;\n/**\n * Copy the values from one quat to another\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the source quaternion\n * @returns {quat} out\n * @function\n */\n\nexports.fromValues = fromValues;\nvar copy = vec4.copy;\n/**\n * Set the components of a quat to the given values\n *\n * @param {quat} out the receiving quaternion\n * @param {Number} x X component\n * @param {Number} y Y component\n * @param {Number} z Z component\n * @param {Number} w W component\n * @returns {quat} out\n * @function\n */\n\nexports.copy = copy;\nvar set = vec4.set;\n/**\n * Adds two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @returns {quat} out\n * @function\n */\n\nexports.set = set;\nvar add = vec4.add;\n/**\n * Alias for {@link quat.multiply}\n * @function\n */\n\nexports.add = add;\nvar mul = multiply;\n/**\n * Scales a quat by a scalar number\n *\n * @param {quat} out the receiving vector\n * @param {ReadonlyQuat} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {quat} out\n * @function\n */\n\nexports.mul = mul;\nvar scale = vec4.scale;\n/**\n * Calculates the dot product of two quat's\n *\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @returns {Number} dot product of a and b\n * @function\n */\n\nexports.scale = scale;\nvar dot = vec4.dot;\n/**\n * Performs a linear interpolation between two quat's\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {quat} out\n * @function\n */\n\nexports.dot = dot;\nvar lerp = vec4.lerp;\n/**\n * Calculates the length of a quat\n *\n * @param {ReadonlyQuat} a vector to calculate length of\n * @returns {Number} length of a\n */\n\nexports.lerp = lerp;\nvar length = vec4.length;\n/**\n * Alias for {@link quat.length}\n * @function\n */\n\nexports.length = length;\nvar len = length;\n/**\n * Calculates the squared length of a quat\n *\n * @param {ReadonlyQuat} a vector to calculate squared length of\n * @returns {Number} squared length of a\n * @function\n */\n\nexports.len = len;\nvar squaredLength = vec4.squaredLength;\n/**\n * Alias for {@link quat.squaredLength}\n * @function\n */\n\nexports.squaredLength = squaredLength;\nvar sqrLen = squaredLength;\n/**\n * Normalize a quat\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a quaternion to normalize\n * @returns {quat} out\n * @function\n */\n\nexports.sqrLen = sqrLen;\nvar normalize = vec4.normalize;\n/**\n * Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyQuat} a The first quaternion.\n * @param {ReadonlyQuat} b The second quaternion.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexports.normalize = normalize;\nvar exactEquals = vec4.exactEquals;\n/**\n * Returns whether or not the quaternions have approximately the same elements in the same position.\n *\n * @param {ReadonlyQuat} a The first vector.\n * @param {ReadonlyQuat} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\nexports.exactEquals = exactEquals;\nvar equals = vec4.equals;\n/**\n * Sets a quaternion to represent the shortest rotation from one\n * vector to another.\n *\n * Both vectors are assumed to be unit length.\n *\n * @param {quat} out the receiving quaternion.\n * @param {ReadonlyVec3} a the initial vector\n * @param {ReadonlyVec3} b the destination vector\n * @returns {quat} out\n */\n\nexports.equals = equals;\n\nvar rotationTo = function () {\n var tmpvec3 = vec3.create();\n var xUnitVec3 = vec3.fromValues(1, 0, 0);\n var yUnitVec3 = vec3.fromValues(0, 1, 0);\n return function (out, a, b) {\n var dot = vec3.dot(a, b);\n\n if (dot < -0.999999) {\n vec3.cross(tmpvec3, xUnitVec3, a);\n if (vec3.len(tmpvec3) < 0.000001) vec3.cross(tmpvec3, yUnitVec3, a);\n vec3.normalize(tmpvec3, tmpvec3);\n setAxisAngle(out, tmpvec3, Math.PI);\n return out;\n } else if (dot > 0.999999) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n return out;\n } else {\n vec3.cross(tmpvec3, a, b);\n out[0] = tmpvec3[0];\n out[1] = tmpvec3[1];\n out[2] = tmpvec3[2];\n out[3] = 1 + dot;\n return normalize(out, out);\n }\n };\n}();\n/**\n * Performs a spherical linear interpolation with two control points\n *\n * @param {quat} out the receiving quaternion\n * @param {ReadonlyQuat} a the first operand\n * @param {ReadonlyQuat} b the second operand\n * @param {ReadonlyQuat} c the third operand\n * @param {ReadonlyQuat} d the fourth operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {quat} out\n */\n\n\nexports.rotationTo = rotationTo;\n\nvar sqlerp = function () {\n var temp1 = create();\n var temp2 = create();\n return function (out, a, b, c, d, t) {\n slerp(temp1, a, d, t);\n slerp(temp2, b, c, t);\n slerp(out, temp1, temp2, 2 * t * (1 - t));\n return out;\n };\n}();\n/**\n * Sets the specified quaternion with values corresponding to the given\n * axes. Each axis is a vec3 and is expected to be unit length and\n * perpendicular to all other specified axes.\n *\n * @param {ReadonlyVec3} view the vector representing the viewing direction\n * @param {ReadonlyVec3} right the vector representing the local \"right\" direction\n * @param {ReadonlyVec3} up the vector representing the local \"up\" direction\n * @returns {quat} out\n */\n\n\nexports.sqlerp = sqlerp;\n\nvar setAxes = function () {\n var matr = mat3.create();\n return function (out, view, right, up) {\n matr[0] = right[0];\n matr[3] = right[1];\n matr[6] = right[2];\n matr[1] = up[0];\n matr[4] = up[1];\n matr[7] = up[2];\n matr[2] = -view[0];\n matr[5] = -view[1];\n matr[8] = -view[2];\n return normalize(out, fromMat3(out, matr));\n };\n}();\n\nexports.setAxes = setAxes;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.fromValues = fromValues;\nexports.fromRotationTranslationValues = fromRotationTranslationValues;\nexports.fromRotationTranslation = fromRotationTranslation;\nexports.fromTranslation = fromTranslation;\nexports.fromRotation = fromRotation;\nexports.fromMat4 = fromMat4;\nexports.copy = copy;\nexports.identity = identity;\nexports.set = set;\nexports.getDual = getDual;\nexports.setDual = setDual;\nexports.getTranslation = getTranslation;\nexports.translate = translate;\nexports.rotateX = rotateX;\nexports.rotateY = rotateY;\nexports.rotateZ = rotateZ;\nexports.rotateByQuatAppend = rotateByQuatAppend;\nexports.rotateByQuatPrepend = rotateByQuatPrepend;\nexports.rotateAroundAxis = rotateAroundAxis;\nexports.add = add;\nexports.multiply = multiply;\nexports.scale = scale;\nexports.lerp = lerp;\nexports.invert = invert;\nexports.conjugate = conjugate;\nexports.normalize = normalize;\nexports.str = str;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.sqrLen = exports.squaredLength = exports.len = exports.length = exports.dot = exports.mul = exports.setReal = exports.getReal = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nvar quat = _interopRequireWildcard(require(\"./quat.js\"));\n\nvar mat4 = _interopRequireWildcard(require(\"./mat4.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * Dual Quaternion
\n * Format: [real, dual]
\n * Quaternion format: XYZW
\n * Make sure to have normalized dual quaternions, otherwise the functions may not work as intended.
\n * @module quat2\n */\n\n/**\n * Creates a new identity dual quat\n *\n * @returns {quat2} a new dual quaternion [real -> rotation, dual -> translation]\n */\nfunction create() {\n var dq = new glMatrix.ARRAY_TYPE(8);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n dq[0] = 0;\n dq[1] = 0;\n dq[2] = 0;\n dq[4] = 0;\n dq[5] = 0;\n dq[6] = 0;\n dq[7] = 0;\n }\n\n dq[3] = 1;\n return dq;\n}\n/**\n * Creates a new quat initialized with values from an existing quaternion\n *\n * @param {ReadonlyQuat2} a dual quaternion to clone\n * @returns {quat2} new dual quaternion\n * @function\n */\n\n\nfunction clone(a) {\n var dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = a[0];\n dq[1] = a[1];\n dq[2] = a[2];\n dq[3] = a[3];\n dq[4] = a[4];\n dq[5] = a[5];\n dq[6] = a[6];\n dq[7] = a[7];\n return dq;\n}\n/**\n * Creates a new dual quat initialized with the given values\n *\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component\n * @param {Number} y2 Y component\n * @param {Number} z2 Z component\n * @param {Number} w2 W component\n * @returns {quat2} new dual quaternion\n * @function\n */\n\n\nfunction fromValues(x1, y1, z1, w1, x2, y2, z2, w2) {\n var dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = x1;\n dq[1] = y1;\n dq[2] = z1;\n dq[3] = w1;\n dq[4] = x2;\n dq[5] = y2;\n dq[6] = z2;\n dq[7] = w2;\n return dq;\n}\n/**\n * Creates a new dual quat from the given values (quat and translation)\n *\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component (translation)\n * @param {Number} y2 Y component (translation)\n * @param {Number} z2 Z component (translation)\n * @returns {quat2} new dual quaternion\n * @function\n */\n\n\nfunction fromRotationTranslationValues(x1, y1, z1, w1, x2, y2, z2) {\n var dq = new glMatrix.ARRAY_TYPE(8);\n dq[0] = x1;\n dq[1] = y1;\n dq[2] = z1;\n dq[3] = w1;\n var ax = x2 * 0.5,\n ay = y2 * 0.5,\n az = z2 * 0.5;\n dq[4] = ax * w1 + ay * z1 - az * y1;\n dq[5] = ay * w1 + az * x1 - ax * z1;\n dq[6] = az * w1 + ax * y1 - ay * x1;\n dq[7] = -ax * x1 - ay * y1 - az * z1;\n return dq;\n}\n/**\n * Creates a dual quat from a quaternion and a translation\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyQuat} q a normalized quaternion\n * @param {ReadonlyVec3} t tranlation vector\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\n\n\nfunction fromRotationTranslation(out, q, t) {\n var ax = t[0] * 0.5,\n ay = t[1] * 0.5,\n az = t[2] * 0.5,\n bx = q[0],\n by = q[1],\n bz = q[2],\n bw = q[3];\n out[0] = bx;\n out[1] = by;\n out[2] = bz;\n out[3] = bw;\n out[4] = ax * bw + ay * bz - az * by;\n out[5] = ay * bw + az * bx - ax * bz;\n out[6] = az * bw + ax * by - ay * bx;\n out[7] = -ax * bx - ay * by - az * bz;\n return out;\n}\n/**\n * Creates a dual quat from a translation\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyVec3} t translation vector\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\n\n\nfunction fromTranslation(out, t) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = t[0] * 0.5;\n out[5] = t[1] * 0.5;\n out[6] = t[2] * 0.5;\n out[7] = 0;\n return out;\n}\n/**\n * Creates a dual quat from a quaternion\n *\n * @param {ReadonlyQuat2} dual quaternion receiving operation result\n * @param {ReadonlyQuat} q the quaternion\n * @returns {quat2} dual quaternion receiving operation result\n * @function\n */\n\n\nfunction fromRotation(out, q) {\n out[0] = q[0];\n out[1] = q[1];\n out[2] = q[2];\n out[3] = q[3];\n out[4] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n return out;\n}\n/**\n * Creates a new dual quat from a matrix (4x4)\n *\n * @param {quat2} out the dual quaternion\n * @param {ReadonlyMat4} a the matrix\n * @returns {quat2} dual quat receiving operation result\n * @function\n */\n\n\nfunction fromMat4(out, a) {\n //TODO Optimize this\n var outer = quat.create();\n mat4.getRotation(outer, a);\n var t = new glMatrix.ARRAY_TYPE(3);\n mat4.getTranslation(t, a);\n fromRotationTranslation(out, outer, t);\n return out;\n}\n/**\n * Copy the values from one dual quat to another\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the source dual quaternion\n * @returns {quat2} out\n * @function\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4];\n out[5] = a[5];\n out[6] = a[6];\n out[7] = a[7];\n return out;\n}\n/**\n * Set a dual quat to the identity dual quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @returns {quat2} out\n */\n\n\nfunction identity(out) {\n out[0] = 0;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n out[6] = 0;\n out[7] = 0;\n return out;\n}\n/**\n * Set the components of a dual quat to the given values\n *\n * @param {quat2} out the receiving quaternion\n * @param {Number} x1 X component\n * @param {Number} y1 Y component\n * @param {Number} z1 Z component\n * @param {Number} w1 W component\n * @param {Number} x2 X component\n * @param {Number} y2 Y component\n * @param {Number} z2 Z component\n * @param {Number} w2 W component\n * @returns {quat2} out\n * @function\n */\n\n\nfunction set(out, x1, y1, z1, w1, x2, y2, z2, w2) {\n out[0] = x1;\n out[1] = y1;\n out[2] = z1;\n out[3] = w1;\n out[4] = x2;\n out[5] = y2;\n out[6] = z2;\n out[7] = w2;\n return out;\n}\n/**\n * Gets the real part of a dual quat\n * @param {quat} out real part\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @return {quat} real part\n */\n\n\nvar getReal = quat.copy;\n/**\n * Gets the dual part of a dual quat\n * @param {quat} out dual part\n * @param {ReadonlyQuat2} a Dual Quaternion\n * @return {quat} dual part\n */\n\nexports.getReal = getReal;\n\nfunction getDual(out, a) {\n out[0] = a[4];\n out[1] = a[5];\n out[2] = a[6];\n out[3] = a[7];\n return out;\n}\n/**\n * Set the real component of a dual quat to the given quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat} q a quaternion representing the real part\n * @returns {quat2} out\n * @function\n */\n\n\nvar setReal = quat.copy;\n/**\n * Set the dual component of a dual quat to the given quaternion\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat} q a quaternion representing the dual part\n * @returns {quat2} out\n * @function\n */\n\nexports.setReal = setReal;\n\nfunction setDual(out, q) {\n out[4] = q[0];\n out[5] = q[1];\n out[6] = q[2];\n out[7] = q[3];\n return out;\n}\n/**\n * Gets the translation of a normalized dual quat\n * @param {vec3} out translation\n * @param {ReadonlyQuat2} a Dual Quaternion to be decomposed\n * @return {vec3} translation\n */\n\n\nfunction getTranslation(out, a) {\n var ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3];\n out[0] = (ax * bw + aw * bx + ay * bz - az * by) * 2;\n out[1] = (ay * bw + aw * by + az * bx - ax * bz) * 2;\n out[2] = (az * bw + aw * bz + ax * by - ay * bx) * 2;\n return out;\n}\n/**\n * Translates a dual quat by the given vector\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to translate\n * @param {ReadonlyVec3} v vector to translate by\n * @returns {quat2} out\n */\n\n\nfunction translate(out, a, v) {\n var ax1 = a[0],\n ay1 = a[1],\n az1 = a[2],\n aw1 = a[3],\n bx1 = v[0] * 0.5,\n by1 = v[1] * 0.5,\n bz1 = v[2] * 0.5,\n ax2 = a[4],\n ay2 = a[5],\n az2 = a[6],\n aw2 = a[7];\n out[0] = ax1;\n out[1] = ay1;\n out[2] = az1;\n out[3] = aw1;\n out[4] = aw1 * bx1 + ay1 * bz1 - az1 * by1 + ax2;\n out[5] = aw1 * by1 + az1 * bx1 - ax1 * bz1 + ay2;\n out[6] = aw1 * bz1 + ax1 * by1 - ay1 * bx1 + az2;\n out[7] = -ax1 * bx1 - ay1 * by1 - az1 * bz1 + aw2;\n return out;\n}\n/**\n * Rotates a dual quat around the X axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\n\n\nfunction rotateX(out, a, rad) {\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateX(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n/**\n * Rotates a dual quat around the Y axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\n\n\nfunction rotateY(out, a, rad) {\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateY(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n/**\n * Rotates a dual quat around the Z axis\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {number} rad how far should the rotation be\n * @returns {quat2} out\n */\n\n\nfunction rotateZ(out, a, rad) {\n var bx = -a[0],\n by = -a[1],\n bz = -a[2],\n bw = a[3],\n ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7],\n ax1 = ax * bw + aw * bx + ay * bz - az * by,\n ay1 = ay * bw + aw * by + az * bx - ax * bz,\n az1 = az * bw + aw * bz + ax * by - ay * bx,\n aw1 = aw * bw - ax * bx - ay * by - az * bz;\n quat.rotateZ(out, a, rad);\n bx = out[0];\n by = out[1];\n bz = out[2];\n bw = out[3];\n out[4] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[5] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[6] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[7] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n return out;\n}\n/**\n * Rotates a dual quat by a given quaternion (a * q)\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {ReadonlyQuat} q quaternion to rotate by\n * @returns {quat2} out\n */\n\n\nfunction rotateByQuatAppend(out, a, q) {\n var qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3],\n ax = a[0],\n ay = a[1],\n az = a[2],\n aw = a[3];\n out[0] = ax * qw + aw * qx + ay * qz - az * qy;\n out[1] = ay * qw + aw * qy + az * qx - ax * qz;\n out[2] = az * qw + aw * qz + ax * qy - ay * qx;\n out[3] = aw * qw - ax * qx - ay * qy - az * qz;\n ax = a[4];\n ay = a[5];\n az = a[6];\n aw = a[7];\n out[4] = ax * qw + aw * qx + ay * qz - az * qy;\n out[5] = ay * qw + aw * qy + az * qx - ax * qz;\n out[6] = az * qw + aw * qz + ax * qy - ay * qx;\n out[7] = aw * qw - ax * qx - ay * qy - az * qz;\n return out;\n}\n/**\n * Rotates a dual quat by a given quaternion (q * a)\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat} q quaternion to rotate by\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @returns {quat2} out\n */\n\n\nfunction rotateByQuatPrepend(out, q, a) {\n var qx = q[0],\n qy = q[1],\n qz = q[2],\n qw = q[3],\n bx = a[0],\n by = a[1],\n bz = a[2],\n bw = a[3];\n out[0] = qx * bw + qw * bx + qy * bz - qz * by;\n out[1] = qy * bw + qw * by + qz * bx - qx * bz;\n out[2] = qz * bw + qw * bz + qx * by - qy * bx;\n out[3] = qw * bw - qx * bx - qy * by - qz * bz;\n bx = a[4];\n by = a[5];\n bz = a[6];\n bw = a[7];\n out[4] = qx * bw + qw * bx + qy * bz - qz * by;\n out[5] = qy * bw + qw * by + qz * bx - qx * bz;\n out[6] = qz * bw + qw * bz + qx * by - qy * bx;\n out[7] = qw * bw - qx * bx - qy * by - qz * bz;\n return out;\n}\n/**\n * Rotates a dual quat around a given axis. Does the normalisation automatically\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the dual quaternion to rotate\n * @param {ReadonlyVec3} axis the axis to rotate around\n * @param {Number} rad how far the rotation should be\n * @returns {quat2} out\n */\n\n\nfunction rotateAroundAxis(out, a, axis, rad) {\n //Special case for rad = 0\n if (Math.abs(rad) < glMatrix.EPSILON) {\n return copy(out, a);\n }\n\n var axisLength = Math.hypot(axis[0], axis[1], axis[2]);\n rad = rad * 0.5;\n var s = Math.sin(rad);\n var bx = s * axis[0] / axisLength;\n var by = s * axis[1] / axisLength;\n var bz = s * axis[2] / axisLength;\n var bw = Math.cos(rad);\n var ax1 = a[0],\n ay1 = a[1],\n az1 = a[2],\n aw1 = a[3];\n out[0] = ax1 * bw + aw1 * bx + ay1 * bz - az1 * by;\n out[1] = ay1 * bw + aw1 * by + az1 * bx - ax1 * bz;\n out[2] = az1 * bw + aw1 * bz + ax1 * by - ay1 * bx;\n out[3] = aw1 * bw - ax1 * bx - ay1 * by - az1 * bz;\n var ax = a[4],\n ay = a[5],\n az = a[6],\n aw = a[7];\n out[4] = ax * bw + aw * bx + ay * bz - az * by;\n out[5] = ay * bw + aw * by + az * bx - ax * bz;\n out[6] = az * bw + aw * bz + ax * by - ay * bx;\n out[7] = aw * bw - ax * bx - ay * by - az * bz;\n return out;\n}\n/**\n * Adds two dual quat's\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {quat2} out\n * @function\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n out[2] = a[2] + b[2];\n out[3] = a[3] + b[3];\n out[4] = a[4] + b[4];\n out[5] = a[5] + b[5];\n out[6] = a[6] + b[6];\n out[7] = a[7] + b[7];\n return out;\n}\n/**\n * Multiplies two dual quat's\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {quat2} out\n */\n\n\nfunction multiply(out, a, b) {\n var ax0 = a[0],\n ay0 = a[1],\n az0 = a[2],\n aw0 = a[3],\n bx1 = b[4],\n by1 = b[5],\n bz1 = b[6],\n bw1 = b[7],\n ax1 = a[4],\n ay1 = a[5],\n az1 = a[6],\n aw1 = a[7],\n bx0 = b[0],\n by0 = b[1],\n bz0 = b[2],\n bw0 = b[3];\n out[0] = ax0 * bw0 + aw0 * bx0 + ay0 * bz0 - az0 * by0;\n out[1] = ay0 * bw0 + aw0 * by0 + az0 * bx0 - ax0 * bz0;\n out[2] = az0 * bw0 + aw0 * bz0 + ax0 * by0 - ay0 * bx0;\n out[3] = aw0 * bw0 - ax0 * bx0 - ay0 * by0 - az0 * bz0;\n out[4] = ax0 * bw1 + aw0 * bx1 + ay0 * bz1 - az0 * by1 + ax1 * bw0 + aw1 * bx0 + ay1 * bz0 - az1 * by0;\n out[5] = ay0 * bw1 + aw0 * by1 + az0 * bx1 - ax0 * bz1 + ay1 * bw0 + aw1 * by0 + az1 * bx0 - ax1 * bz0;\n out[6] = az0 * bw1 + aw0 * bz1 + ax0 * by1 - ay0 * bx1 + az1 * bw0 + aw1 * bz0 + ax1 * by0 - ay1 * bx0;\n out[7] = aw0 * bw1 - ax0 * bx1 - ay0 * by1 - az0 * bz1 + aw1 * bw0 - ax1 * bx0 - ay1 * by0 - az1 * bz0;\n return out;\n}\n/**\n * Alias for {@link quat2.multiply}\n * @function\n */\n\n\nvar mul = multiply;\n/**\n * Scales a dual quat by a scalar number\n *\n * @param {quat2} out the receiving dual quat\n * @param {ReadonlyQuat2} a the dual quat to scale\n * @param {Number} b amount to scale the dual quat by\n * @returns {quat2} out\n * @function\n */\n\nexports.mul = mul;\n\nfunction scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n out[2] = a[2] * b;\n out[3] = a[3] * b;\n out[4] = a[4] * b;\n out[5] = a[5] * b;\n out[6] = a[6] * b;\n out[7] = a[7] * b;\n return out;\n}\n/**\n * Calculates the dot product of two dual quat's (The dot product of the real parts)\n *\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @returns {Number} dot product of a and b\n * @function\n */\n\n\nvar dot = quat.dot;\n/**\n * Performs a linear interpolation between two dual quats's\n * NOTE: The resulting dual quaternions won't always be normalized (The error is most noticeable when t = 0.5)\n *\n * @param {quat2} out the receiving dual quat\n * @param {ReadonlyQuat2} a the first operand\n * @param {ReadonlyQuat2} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {quat2} out\n */\n\nexports.dot = dot;\n\nfunction lerp(out, a, b, t) {\n var mt = 1 - t;\n if (dot(a, b) < 0) t = -t;\n out[0] = a[0] * mt + b[0] * t;\n out[1] = a[1] * mt + b[1] * t;\n out[2] = a[2] * mt + b[2] * t;\n out[3] = a[3] * mt + b[3] * t;\n out[4] = a[4] * mt + b[4] * t;\n out[5] = a[5] * mt + b[5] * t;\n out[6] = a[6] * mt + b[6] * t;\n out[7] = a[7] * mt + b[7] * t;\n return out;\n}\n/**\n * Calculates the inverse of a dual quat. If they are normalized, conjugate is cheaper\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a dual quat to calculate inverse of\n * @returns {quat2} out\n */\n\n\nfunction invert(out, a) {\n var sqlen = squaredLength(a);\n out[0] = -a[0] / sqlen;\n out[1] = -a[1] / sqlen;\n out[2] = -a[2] / sqlen;\n out[3] = a[3] / sqlen;\n out[4] = -a[4] / sqlen;\n out[5] = -a[5] / sqlen;\n out[6] = -a[6] / sqlen;\n out[7] = a[7] / sqlen;\n return out;\n}\n/**\n * Calculates the conjugate of a dual quat\n * If the dual quaternion is normalized, this function is faster than quat2.inverse and produces the same result.\n *\n * @param {quat2} out the receiving quaternion\n * @param {ReadonlyQuat2} a quat to calculate conjugate of\n * @returns {quat2} out\n */\n\n\nfunction conjugate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n out[2] = -a[2];\n out[3] = a[3];\n out[4] = -a[4];\n out[5] = -a[5];\n out[6] = -a[6];\n out[7] = a[7];\n return out;\n}\n/**\n * Calculates the length of a dual quat\n *\n * @param {ReadonlyQuat2} a dual quat to calculate length of\n * @returns {Number} length of a\n * @function\n */\n\n\nvar length = quat.length;\n/**\n * Alias for {@link quat2.length}\n * @function\n */\n\nexports.length = length;\nvar len = length;\n/**\n * Calculates the squared length of a dual quat\n *\n * @param {ReadonlyQuat2} a dual quat to calculate squared length of\n * @returns {Number} squared length of a\n * @function\n */\n\nexports.len = len;\nvar squaredLength = quat.squaredLength;\n/**\n * Alias for {@link quat2.squaredLength}\n * @function\n */\n\nexports.squaredLength = squaredLength;\nvar sqrLen = squaredLength;\n/**\n * Normalize a dual quat\n *\n * @param {quat2} out the receiving dual quaternion\n * @param {ReadonlyQuat2} a dual quaternion to normalize\n * @returns {quat2} out\n * @function\n */\n\nexports.sqrLen = sqrLen;\n\nfunction normalize(out, a) {\n var magnitude = squaredLength(a);\n\n if (magnitude > 0) {\n magnitude = Math.sqrt(magnitude);\n var a0 = a[0] / magnitude;\n var a1 = a[1] / magnitude;\n var a2 = a[2] / magnitude;\n var a3 = a[3] / magnitude;\n var b0 = a[4];\n var b1 = a[5];\n var b2 = a[6];\n var b3 = a[7];\n var a_dot_b = a0 * b0 + a1 * b1 + a2 * b2 + a3 * b3;\n out[0] = a0;\n out[1] = a1;\n out[2] = a2;\n out[3] = a3;\n out[4] = (b0 - a0 * a_dot_b) / magnitude;\n out[5] = (b1 - a1 * a_dot_b) / magnitude;\n out[6] = (b2 - a2 * a_dot_b) / magnitude;\n out[7] = (b3 - a3 * a_dot_b) / magnitude;\n }\n\n return out;\n}\n/**\n * Returns a string representation of a dual quatenion\n *\n * @param {ReadonlyQuat2} a dual quaternion to represent as a string\n * @returns {String} string representation of the dual quat\n */\n\n\nfunction str(a) {\n return \"quat2(\" + a[0] + \", \" + a[1] + \", \" + a[2] + \", \" + a[3] + \", \" + a[4] + \", \" + a[5] + \", \" + a[6] + \", \" + a[7] + \")\";\n}\n/**\n * Returns whether or not the dual quaternions have exactly the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyQuat2} a the first dual quaternion.\n * @param {ReadonlyQuat2} b the second dual quaternion.\n * @returns {Boolean} true if the dual quaternions are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7];\n}\n/**\n * Returns whether or not the dual quaternions have approximately the same elements in the same position.\n *\n * @param {ReadonlyQuat2} a the first dual quat.\n * @param {ReadonlyQuat2} b the second dual quat.\n * @returns {Boolean} true if the dual quats are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1],\n a2 = a[2],\n a3 = a[3],\n a4 = a[4],\n a5 = a[5],\n a6 = a[6],\n a7 = a[7];\n var b0 = b[0],\n b1 = b[1],\n b2 = b[2],\n b3 = b[3],\n b4 = b[4],\n b5 = b[5],\n b6 = b[6],\n b7 = b[7];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7));\n}","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = create;\nexports.clone = clone;\nexports.fromValues = fromValues;\nexports.copy = copy;\nexports.set = set;\nexports.add = add;\nexports.subtract = subtract;\nexports.multiply = multiply;\nexports.divide = divide;\nexports.ceil = ceil;\nexports.floor = floor;\nexports.min = min;\nexports.max = max;\nexports.round = round;\nexports.scale = scale;\nexports.scaleAndAdd = scaleAndAdd;\nexports.distance = distance;\nexports.squaredDistance = squaredDistance;\nexports.length = length;\nexports.squaredLength = squaredLength;\nexports.negate = negate;\nexports.inverse = inverse;\nexports.normalize = normalize;\nexports.dot = dot;\nexports.cross = cross;\nexports.lerp = lerp;\nexports.random = random;\nexports.transformMat2 = transformMat2;\nexports.transformMat2d = transformMat2d;\nexports.transformMat3 = transformMat3;\nexports.transformMat4 = transformMat4;\nexports.rotate = rotate;\nexports.angle = angle;\nexports.zero = zero;\nexports.str = str;\nexports.exactEquals = exactEquals;\nexports.equals = equals;\nexports.forEach = exports.sqrLen = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = exports.len = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/**\n * 2 Dimensional Vector\n * @module vec2\n */\n\n/**\n * Creates a new, empty vec2\n *\n * @returns {vec2} a new 2D vector\n */\nfunction create() {\n var out = new glMatrix.ARRAY_TYPE(2);\n\n if (glMatrix.ARRAY_TYPE != Float32Array) {\n out[0] = 0;\n out[1] = 0;\n }\n\n return out;\n}\n/**\n * Creates a new vec2 initialized with values from an existing vector\n *\n * @param {ReadonlyVec2} a vector to clone\n * @returns {vec2} a new 2D vector\n */\n\n\nfunction clone(a) {\n var out = new glMatrix.ARRAY_TYPE(2);\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n/**\n * Creates a new vec2 initialized with the given values\n *\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} a new 2D vector\n */\n\n\nfunction fromValues(x, y) {\n var out = new glMatrix.ARRAY_TYPE(2);\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * Copy the values from one vec2 to another\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the source vector\n * @returns {vec2} out\n */\n\n\nfunction copy(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n return out;\n}\n/**\n * Set the components of a vec2 to the given values\n *\n * @param {vec2} out the receiving vector\n * @param {Number} x X component\n * @param {Number} y Y component\n * @returns {vec2} out\n */\n\n\nfunction set(out, x, y) {\n out[0] = x;\n out[1] = y;\n return out;\n}\n/**\n * Adds two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction add(out, a, b) {\n out[0] = a[0] + b[0];\n out[1] = a[1] + b[1];\n return out;\n}\n/**\n * Subtracts vector b from vector a\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction subtract(out, a, b) {\n out[0] = a[0] - b[0];\n out[1] = a[1] - b[1];\n return out;\n}\n/**\n * Multiplies two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction multiply(out, a, b) {\n out[0] = a[0] * b[0];\n out[1] = a[1] * b[1];\n return out;\n}\n/**\n * Divides two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction divide(out, a, b) {\n out[0] = a[0] / b[0];\n out[1] = a[1] / b[1];\n return out;\n}\n/**\n * Math.ceil the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to ceil\n * @returns {vec2} out\n */\n\n\nfunction ceil(out, a) {\n out[0] = Math.ceil(a[0]);\n out[1] = Math.ceil(a[1]);\n return out;\n}\n/**\n * Math.floor the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to floor\n * @returns {vec2} out\n */\n\n\nfunction floor(out, a) {\n out[0] = Math.floor(a[0]);\n out[1] = Math.floor(a[1]);\n return out;\n}\n/**\n * Returns the minimum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction min(out, a, b) {\n out[0] = Math.min(a[0], b[0]);\n out[1] = Math.min(a[1], b[1]);\n return out;\n}\n/**\n * Returns the maximum of two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec2} out\n */\n\n\nfunction max(out, a, b) {\n out[0] = Math.max(a[0], b[0]);\n out[1] = Math.max(a[1], b[1]);\n return out;\n}\n/**\n * Math.round the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to round\n * @returns {vec2} out\n */\n\n\nfunction round(out, a) {\n out[0] = Math.round(a[0]);\n out[1] = Math.round(a[1]);\n return out;\n}\n/**\n * Scales a vec2 by a scalar number\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to scale\n * @param {Number} b amount to scale the vector by\n * @returns {vec2} out\n */\n\n\nfunction scale(out, a, b) {\n out[0] = a[0] * b;\n out[1] = a[1] * b;\n return out;\n}\n/**\n * Adds two vec2's after scaling the second operand by a scalar value\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @param {Number} scale the amount to scale b by before adding\n * @returns {vec2} out\n */\n\n\nfunction scaleAndAdd(out, a, b, scale) {\n out[0] = a[0] + b[0] * scale;\n out[1] = a[1] + b[1] * scale;\n return out;\n}\n/**\n * Calculates the euclidian distance between two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} distance between a and b\n */\n\n\nfunction distance(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return Math.hypot(x, y);\n}\n/**\n * Calculates the squared euclidian distance between two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} squared distance between a and b\n */\n\n\nfunction squaredDistance(a, b) {\n var x = b[0] - a[0],\n y = b[1] - a[1];\n return x * x + y * y;\n}\n/**\n * Calculates the length of a vec2\n *\n * @param {ReadonlyVec2} a vector to calculate length of\n * @returns {Number} length of a\n */\n\n\nfunction length(a) {\n var x = a[0],\n y = a[1];\n return Math.hypot(x, y);\n}\n/**\n * Calculates the squared length of a vec2\n *\n * @param {ReadonlyVec2} a vector to calculate squared length of\n * @returns {Number} squared length of a\n */\n\n\nfunction squaredLength(a) {\n var x = a[0],\n y = a[1];\n return x * x + y * y;\n}\n/**\n * Negates the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to negate\n * @returns {vec2} out\n */\n\n\nfunction negate(out, a) {\n out[0] = -a[0];\n out[1] = -a[1];\n return out;\n}\n/**\n * Returns the inverse of the components of a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to invert\n * @returns {vec2} out\n */\n\n\nfunction inverse(out, a) {\n out[0] = 1.0 / a[0];\n out[1] = 1.0 / a[1];\n return out;\n}\n/**\n * Normalize a vec2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a vector to normalize\n * @returns {vec2} out\n */\n\n\nfunction normalize(out, a) {\n var x = a[0],\n y = a[1];\n var len = x * x + y * y;\n\n if (len > 0) {\n //TODO: evaluate use of glm_invsqrt here?\n len = 1 / Math.sqrt(len);\n }\n\n out[0] = a[0] * len;\n out[1] = a[1] * len;\n return out;\n}\n/**\n * Calculates the dot product of two vec2's\n *\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {Number} dot product of a and b\n */\n\n\nfunction dot(a, b) {\n return a[0] * b[0] + a[1] * b[1];\n}\n/**\n * Computes the cross product of two vec2's\n * Note that the cross product must by definition produce a 3D vector\n *\n * @param {vec3} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @returns {vec3} out\n */\n\n\nfunction cross(out, a, b) {\n var z = a[0] * b[1] - a[1] * b[0];\n out[0] = out[1] = 0;\n out[2] = z;\n return out;\n}\n/**\n * Performs a linear interpolation between two vec2's\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the first operand\n * @param {ReadonlyVec2} b the second operand\n * @param {Number} t interpolation amount, in the range [0-1], between the two inputs\n * @returns {vec2} out\n */\n\n\nfunction lerp(out, a, b, t) {\n var ax = a[0],\n ay = a[1];\n out[0] = ax + t * (b[0] - ax);\n out[1] = ay + t * (b[1] - ay);\n return out;\n}\n/**\n * Generates a random vector with the given scale\n *\n * @param {vec2} out the receiving vector\n * @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned\n * @returns {vec2} out\n */\n\n\nfunction random(out, scale) {\n scale = scale || 1.0;\n var r = glMatrix.RANDOM() * 2.0 * Math.PI;\n out[0] = Math.cos(r) * scale;\n out[1] = Math.sin(r) * scale;\n return out;\n}\n/**\n * Transforms the vec2 with a mat2\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat2} m matrix to transform with\n * @returns {vec2} out\n */\n\n\nfunction transformMat2(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y;\n out[1] = m[1] * x + m[3] * y;\n return out;\n}\n/**\n * Transforms the vec2 with a mat2d\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat2d} m matrix to transform with\n * @returns {vec2} out\n */\n\n\nfunction transformMat2d(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\n/**\n * Transforms the vec2 with a mat3\n * 3rd vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat3} m matrix to transform with\n * @returns {vec2} out\n */\n\n\nfunction transformMat3(out, a, m) {\n var x = a[0],\n y = a[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n}\n/**\n * Transforms the vec2 with a mat4\n * 3rd vector component is implicitly '0'\n * 4th vector component is implicitly '1'\n *\n * @param {vec2} out the receiving vector\n * @param {ReadonlyVec2} a the vector to transform\n * @param {ReadonlyMat4} m matrix to transform with\n * @returns {vec2} out\n */\n\n\nfunction transformMat4(out, a, m) {\n var x = a[0];\n var y = a[1];\n out[0] = m[0] * x + m[4] * y + m[12];\n out[1] = m[1] * x + m[5] * y + m[13];\n return out;\n}\n/**\n * Rotate a 2D vector\n * @param {vec2} out The receiving vec2\n * @param {ReadonlyVec2} a The vec2 point to rotate\n * @param {ReadonlyVec2} b The origin of the rotation\n * @param {Number} rad The angle of rotation in radians\n * @returns {vec2} out\n */\n\n\nfunction rotate(out, a, b, rad) {\n //Translate point to the origin\n var p0 = a[0] - b[0],\n p1 = a[1] - b[1],\n sinC = Math.sin(rad),\n cosC = Math.cos(rad); //perform rotation and translate to correct position\n\n out[0] = p0 * cosC - p1 * sinC + b[0];\n out[1] = p0 * sinC + p1 * cosC + b[1];\n return out;\n}\n/**\n * Get the angle between two 2D vectors\n * @param {ReadonlyVec2} a The first operand\n * @param {ReadonlyVec2} b The second operand\n * @returns {Number} The angle in radians\n */\n\n\nfunction angle(a, b) {\n var x1 = a[0],\n y1 = a[1],\n x2 = b[0],\n y2 = b[1],\n // mag is the product of the magnitudes of a and b\n mag = Math.sqrt(x1 * x1 + y1 * y1) * Math.sqrt(x2 * x2 + y2 * y2),\n // mag &&.. short circuits if mag == 0\n cosine = mag && (x1 * x2 + y1 * y2) / mag; // Math.min(Math.max(cosine, -1), 1) clamps the cosine between -1 and 1\n\n return Math.acos(Math.min(Math.max(cosine, -1), 1));\n}\n/**\n * Set the components of a vec2 to zero\n *\n * @param {vec2} out the receiving vector\n * @returns {vec2} out\n */\n\n\nfunction zero(out) {\n out[0] = 0.0;\n out[1] = 0.0;\n return out;\n}\n/**\n * Returns a string representation of a vector\n *\n * @param {ReadonlyVec2} a vector to represent as a string\n * @returns {String} string representation of the vector\n */\n\n\nfunction str(a) {\n return \"vec2(\" + a[0] + \", \" + a[1] + \")\";\n}\n/**\n * Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)\n *\n * @param {ReadonlyVec2} a The first vector.\n * @param {ReadonlyVec2} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction exactEquals(a, b) {\n return a[0] === b[0] && a[1] === b[1];\n}\n/**\n * Returns whether or not the vectors have approximately the same elements in the same position.\n *\n * @param {ReadonlyVec2} a The first vector.\n * @param {ReadonlyVec2} b The second vector.\n * @returns {Boolean} True if the vectors are equal, false otherwise.\n */\n\n\nfunction equals(a, b) {\n var a0 = a[0],\n a1 = a[1];\n var b0 = b[0],\n b1 = b[1];\n return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1));\n}\n/**\n * Alias for {@link vec2.length}\n * @function\n */\n\n\nvar len = length;\n/**\n * Alias for {@link vec2.subtract}\n * @function\n */\n\nexports.len = len;\nvar sub = subtract;\n/**\n * Alias for {@link vec2.multiply}\n * @function\n */\n\nexports.sub = sub;\nvar mul = multiply;\n/**\n * Alias for {@link vec2.divide}\n * @function\n */\n\nexports.mul = mul;\nvar div = divide;\n/**\n * Alias for {@link vec2.distance}\n * @function\n */\n\nexports.div = div;\nvar dist = distance;\n/**\n * Alias for {@link vec2.squaredDistance}\n * @function\n */\n\nexports.dist = dist;\nvar sqrDist = squaredDistance;\n/**\n * Alias for {@link vec2.squaredLength}\n * @function\n */\n\nexports.sqrDist = sqrDist;\nvar sqrLen = squaredLength;\n/**\n * Perform some operation over an array of vec2s.\n *\n * @param {Array} a the array of vectors to iterate over\n * @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed\n * @param {Number} offset Number of elements to skip at the beginning of the array\n * @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array\n * @param {Function} fn Function to call for each vector in the array\n * @param {Object} [arg] additional argument to pass to fn\n * @returns {Array} a\n * @function\n */\n\nexports.sqrLen = sqrLen;\n\nvar forEach = function () {\n var vec = create();\n return function (a, stride, offset, count, fn, arg) {\n var i, l;\n\n if (!stride) {\n stride = 2;\n }\n\n if (!offset) {\n offset = 0;\n }\n\n if (count) {\n l = Math.min(count * stride + offset, a.length);\n } else {\n l = a.length;\n }\n\n for (i = offset; i < l; i += stride) {\n vec[0] = a[i];\n vec[1] = a[i + 1];\n fn(vec, vec, arg);\n a[i] = vec[0];\n a[i + 1] = vec[1];\n }\n\n return a;\n };\n}();\n\nexports.forEach = forEach;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.vec4 = exports.vec3 = exports.vec2 = exports.quat2 = exports.quat = exports.mat4 = exports.mat3 = exports.mat2d = exports.mat2 = exports.glMatrix = void 0;\n\nvar glMatrix = _interopRequireWildcard(require(\"./common.js\"));\n\nexports.glMatrix = glMatrix;\n\nvar mat2 = _interopRequireWildcard(require(\"./mat2.js\"));\n\nexports.mat2 = mat2;\n\nvar mat2d = _interopRequireWildcard(require(\"./mat2d.js\"));\n\nexports.mat2d = mat2d;\n\nvar mat3 = _interopRequireWildcard(require(\"./mat3.js\"));\n\nexports.mat3 = mat3;\n\nvar mat4 = _interopRequireWildcard(require(\"./mat4.js\"));\n\nexports.mat4 = mat4;\n\nvar quat = _interopRequireWildcard(require(\"./quat.js\"));\n\nexports.quat = quat;\n\nvar quat2 = _interopRequireWildcard(require(\"./quat2.js\"));\n\nexports.quat2 = quat2;\n\nvar vec2 = _interopRequireWildcard(require(\"./vec2.js\"));\n\nexports.vec2 = vec2;\n\nvar vec3 = _interopRequireWildcard(require(\"./vec3.js\"));\n\nexports.vec3 = vec3;\n\nvar vec4 = _interopRequireWildcard(require(\"./vec4.js\"));\n\nexports.vec4 = vec4;\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }","'use strict';\n\nmodule.exports = UnitBezier;\n\nfunction UnitBezier(p1x, p1y, p2x, p2y) {\n // Calculate the polynomial coefficients, implicit first and last control points are (0,0) and (1,1).\n this.cx = 3.0 * p1x;\n this.bx = 3.0 * (p2x - p1x) - this.cx;\n this.ax = 1.0 - this.cx - this.bx;\n\n this.cy = 3.0 * p1y;\n this.by = 3.0 * (p2y - p1y) - this.cy;\n this.ay = 1.0 - this.cy - this.by;\n\n this.p1x = p1x;\n this.p1y = p1y;\n this.p2x = p2x;\n this.p2y = p2y;\n}\n\nUnitBezier.prototype = {\n sampleCurveX: function (t) {\n // `ax t^3 + bx t^2 + cx t' expanded using Horner's rule.\n return ((this.ax * t + this.bx) * t + this.cx) * t;\n },\n\n sampleCurveY: function (t) {\n return ((this.ay * t + this.by) * t + this.cy) * t;\n },\n\n sampleCurveDerivativeX: function (t) {\n return (3.0 * this.ax * t + 2.0 * this.bx) * t + this.cx;\n },\n\n solveCurveX: function (x, epsilon) {\n if (epsilon === undefined) epsilon = 1e-6;\n\n if (x < 0.0) return 0.0;\n if (x > 1.0) return 1.0;\n\n var t = x;\n\n // First try a few iterations of Newton's method - normally very fast.\n for (var i = 0; i < 8; i++) {\n var x2 = this.sampleCurveX(t) - x;\n if (Math.abs(x2) < epsilon) return t;\n\n var d2 = this.sampleCurveDerivativeX(t);\n if (Math.abs(d2) < 1e-6) break;\n\n t = t - x2 / d2;\n }\n\n // Fall back to the bisection method for reliability.\n var t0 = 0.0;\n var t1 = 1.0;\n t = x;\n\n for (i = 0; i < 20; i++) {\n x2 = this.sampleCurveX(t);\n if (Math.abs(x2 - x) < epsilon) break;\n\n if (x > x2) {\n t0 = t;\n } else {\n t1 = t;\n }\n\n t = (t1 - t0) * 0.5 + t0;\n }\n\n return t;\n },\n\n solve: function (x, epsilon) {\n return this.sampleCurveY(this.solveCurveX(x, epsilon));\n }\n};\n","'use strict';\n\nmodule.exports = Point;\n\n/**\n * A standalone point geometry with useful accessor, comparison, and\n * modification methods.\n *\n * @class Point\n * @param {Number} x the x-coordinate. this could be longitude or screen\n * pixels, or any other sort of unit.\n * @param {Number} y the y-coordinate. this could be latitude or screen\n * pixels, or any other sort of unit.\n * @example\n * var point = new Point(-77, 38);\n */\nfunction Point(x, y) {\n this.x = x;\n this.y = y;\n}\n\nPoint.prototype = {\n\n /**\n * Clone this point, returning a new point that can be modified\n * without affecting the old one.\n * @return {Point} the clone\n */\n clone: function() { return new Point(this.x, this.y); },\n\n /**\n * Add this point's x & y coordinates to another point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n add: function(p) { return this.clone()._add(p); },\n\n /**\n * Subtract this point's x & y coordinates to from point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n sub: function(p) { return this.clone()._sub(p); },\n\n /**\n * Multiply this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n multByPoint: function(p) { return this.clone()._multByPoint(p); },\n\n /**\n * Divide this point's x & y coordinates by point,\n * yielding a new point.\n * @param {Point} p the other point\n * @return {Point} output point\n */\n divByPoint: function(p) { return this.clone()._divByPoint(p); },\n\n /**\n * Multiply this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n mult: function(k) { return this.clone()._mult(k); },\n\n /**\n * Divide this point's x & y coordinates by a factor,\n * yielding a new point.\n * @param {Point} k factor\n * @return {Point} output point\n */\n div: function(k) { return this.clone()._div(k); },\n\n /**\n * Rotate this point around the 0, 0 origin by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @return {Point} output point\n */\n rotate: function(a) { return this.clone()._rotate(a); },\n\n /**\n * Rotate this point around p point by an angle a,\n * given in radians\n * @param {Number} a angle to rotate around, in radians\n * @param {Point} p Point to rotate around\n * @return {Point} output point\n */\n rotateAround: function(a,p) { return this.clone()._rotateAround(a,p); },\n\n /**\n * Multiply this point by a 4x1 transformation matrix\n * @param {Array} m transformation matrix\n * @return {Point} output point\n */\n matMult: function(m) { return this.clone()._matMult(m); },\n\n /**\n * Calculate this point but as a unit vector from 0, 0, meaning\n * that the distance from the resulting point to the 0, 0\n * coordinate will be equal to 1 and the angle from the resulting\n * point to the 0, 0 coordinate will be the same as before.\n * @return {Point} unit vector point\n */\n unit: function() { return this.clone()._unit(); },\n\n /**\n * Compute a perpendicular point, where the new y coordinate\n * is the old x coordinate and the new x coordinate is the old y\n * coordinate multiplied by -1\n * @return {Point} perpendicular point\n */\n perp: function() { return this.clone()._perp(); },\n\n /**\n * Return a version of this point with the x & y coordinates\n * rounded to integers.\n * @return {Point} rounded point\n */\n round: function() { return this.clone()._round(); },\n\n /**\n * Return the magitude of this point: this is the Euclidean\n * distance from the 0, 0 coordinate to this point's x and y\n * coordinates.\n * @return {Number} magnitude\n */\n mag: function() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n },\n\n /**\n * Judge whether this point is equal to another point, returning\n * true or false.\n * @param {Point} other the other point\n * @return {boolean} whether the points are equal\n */\n equals: function(other) {\n return this.x === other.x &&\n this.y === other.y;\n },\n\n /**\n * Calculate the distance from this point to another point\n * @param {Point} p the other point\n * @return {Number} distance\n */\n dist: function(p) {\n return Math.sqrt(this.distSqr(p));\n },\n\n /**\n * Calculate the distance from this point to another point,\n * without the square root step. Useful if you're comparing\n * relative distances.\n * @param {Point} p the other point\n * @return {Number} distance\n */\n distSqr: function(p) {\n var dx = p.x - this.x,\n dy = p.y - this.y;\n return dx * dx + dy * dy;\n },\n\n /**\n * Get the angle from the 0, 0 coordinate to this point, in radians\n * coordinates.\n * @return {Number} angle\n */\n angle: function() {\n return Math.atan2(this.y, this.x);\n },\n\n /**\n * Get the angle from this point to another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleTo: function(b) {\n return Math.atan2(this.y - b.y, this.x - b.x);\n },\n\n /**\n * Get the angle between this point and another point, in radians\n * @param {Point} b the other point\n * @return {Number} angle\n */\n angleWith: function(b) {\n return this.angleWithSep(b.x, b.y);\n },\n\n /*\n * Find the angle of the two vectors, solving the formula for\n * the cross product a x b = |a||b|sin(θ) for θ.\n * @param {Number} x the x-coordinate\n * @param {Number} y the y-coordinate\n * @return {Number} the angle in radians\n */\n angleWithSep: function(x, y) {\n return Math.atan2(\n this.x * y - this.y * x,\n this.x * x + this.y * y);\n },\n\n _matMult: function(m) {\n var x = m[0] * this.x + m[1] * this.y,\n y = m[2] * this.x + m[3] * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n\n _add: function(p) {\n this.x += p.x;\n this.y += p.y;\n return this;\n },\n\n _sub: function(p) {\n this.x -= p.x;\n this.y -= p.y;\n return this;\n },\n\n _mult: function(k) {\n this.x *= k;\n this.y *= k;\n return this;\n },\n\n _div: function(k) {\n this.x /= k;\n this.y /= k;\n return this;\n },\n\n _multByPoint: function(p) {\n this.x *= p.x;\n this.y *= p.y;\n return this;\n },\n\n _divByPoint: function(p) {\n this.x /= p.x;\n this.y /= p.y;\n return this;\n },\n\n _unit: function() {\n this._div(this.mag());\n return this;\n },\n\n _perp: function() {\n var y = this.y;\n this.y = this.x;\n this.x = -y;\n return this;\n },\n\n _rotate: function(angle) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = cos * this.x - sin * this.y,\n y = sin * this.x + cos * this.y;\n this.x = x;\n this.y = y;\n return this;\n },\n\n _rotateAround: function(angle, p) {\n var cos = Math.cos(angle),\n sin = Math.sin(angle),\n x = p.x + cos * (this.x - p.x) - sin * (this.y - p.y),\n y = p.y + sin * (this.x - p.x) + cos * (this.y - p.y);\n this.x = x;\n this.y = y;\n return this;\n },\n\n _round: function() {\n this.x = Math.round(this.x);\n this.y = Math.round(this.y);\n return this;\n }\n};\n\n/**\n * Construct a point from an array if necessary, otherwise if the input\n * is already a Point, or an unknown type, return it unchanged\n * @param {Array|Point|*} a any kind of input value\n * @return {Point} constructed point, or passed-through value.\n * @example\n * // this\n * var point = Point.convert([0, 1]);\n * // is equivalent to\n * var point = new Point(0, 1);\n */\nPoint.convert = function (a) {\n if (a instanceof Point) {\n return a;\n }\n if (Array.isArray(a)) {\n return new Point(a[0], a[1]);\n }\n return a;\n};\n","// @flow\n\nimport {mat4} from 'gl-matrix';\n\nimport UnitBezier from '@mapbox/unitbezier';\n\nimport Point from '@mapbox/point-geometry';\nimport assert from 'assert';\n\nimport type {Callback} from '../types/callback.js';\nimport type {Mat4, Vec4} from 'gl-matrix';\n\nconst DEG_TO_RAD = Math.PI / 180;\nconst RAD_TO_DEG = 180 / Math.PI;\n\n/**\n * Converts an angle in degrees to radians\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param a angle to convert\n * @returns the angle in radians\n * @private\n */\nexport function degToRad(a: number): number {\n return a * DEG_TO_RAD;\n}\n\n/**\n * Converts an angle in radians to degrees\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param a angle to convert\n * @returns the angle in degrees\n * @private\n */\nexport function radToDeg(a: number): number {\n return a * RAD_TO_DEG;\n}\n\nconst TILE_CORNERS = [[0, 0], [1, 0], [1, 1], [0, 1]];\n\n/**\n * Given a particular bearing, returns the corner of the tile thats farthest\n * along the bearing.\n *\n * @param {number} bearing angle in degrees (-180, 180]\n * @returns {QuadCorner}\n * @private\n */\nexport function furthestTileCorner(bearing: number): [number, number] {\n const alignedBearing = ((bearing + 45) + 360) % 360;\n const cornerIdx = Math.round(alignedBearing / 90) % 4;\n return TILE_CORNERS[cornerIdx];\n}\n\n/**\n * @module util\n * @private\n */\n\n/**\n * Given a value `t` that varies between 0 and 1, return\n * an interpolation function that eases between 0 and 1 in a pleasing\n * cubic in-out fashion.\n *\n * @private\n */\nexport function easeCubicInOut(t: number): number {\n if (t <= 0) return 0;\n if (t >= 1) return 1;\n const t2 = t * t,\n t3 = t2 * t;\n return 4 * (t < 0.5 ? t3 : 3 * (t - t2) + t3 - 0.75);\n}\n\n/**\n * Computes an AABB for a set of points.\n *\n * @param {Point[]} points\n * @returns {{ min: Point, max: Point}}\n * @private\n */\nexport function getBounds(points: Point[]): { min: Point, max: Point} {\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n for (const p of points) {\n minX = Math.min(minX, p.x);\n minY = Math.min(minY, p.y);\n maxX = Math.max(maxX, p.x);\n maxY = Math.max(maxY, p.y);\n }\n\n return {\n min: new Point(minX, minY),\n max: new Point(maxX, maxY),\n };\n}\n\n/**\n * Returns the square of the 2D distance between an AABB defined by min and max and a point.\n * If point is null or undefined, the AABB distance from the origin (0,0) is returned.\n *\n * @param {Array} min The minimum extent of the AABB.\n * @param {Array} max The maximum extent of the AABB.\n * @param {Array} [point] The point to compute the distance from, may be undefined.\n * @returns {number} The square distance from the AABB, 0.0 if the AABB contains the point.\n */\nexport function getAABBPointSquareDist(min: Array, max: Array, point: ?Array): number {\n let sqDist = 0.0;\n\n for (let i = 0; i < 2; ++i) {\n const v = point ? point[i] : 0.0;\n assert(min[i] < max[i], 'Invalid aabb min and max inputs, min[i] must be < max[i].');\n if (min[i] > v) sqDist += (min[i] - v) * (min[i] - v);\n if (max[i] < v) sqDist += (v - max[i]) * (v - max[i]);\n }\n\n return sqDist;\n}\n\n/**\n * Converts a AABB into a polygon with clockwise winding order.\n *\n * @param {Point} min The top left point.\n * @param {Point} max The bottom right point.\n * @param {number} [buffer=0] The buffer width.\n * @param {boolean} [close=true] Whether to close the polygon or not.\n * @returns {Point[]} The polygon.\n */\nexport function polygonizeBounds(min: Point, max: Point, buffer: number = 0, close: boolean = true): Point[] {\n const offset = new Point(buffer, buffer);\n const minBuf = min.sub(offset);\n const maxBuf = max.add(offset);\n const polygon = [minBuf, new Point(maxBuf.x, minBuf.y), maxBuf, new Point(minBuf.x, maxBuf.y)];\n\n if (close) {\n polygon.push(minBuf.clone());\n }\n return polygon;\n}\n\n/**\n * Takes a convex ring and expands it outward by applying a buffer around it.\n * This function assumes that the ring is in clockwise winding order.\n *\n * @param {Point[]} ring The input ring.\n * @param {number} buffer The buffer width.\n * @returns {Point[]} The expanded ring.\n */\nexport function bufferConvexPolygon(ring: Point[], buffer: number): Point[] {\n assert(ring.length > 2, 'bufferConvexPolygon requires the ring to have atleast 3 points');\n const output = [];\n for (let currIdx = 0; currIdx < ring.length; currIdx++) {\n const prevIdx = wrap(currIdx - 1, -1, ring.length - 1);\n const nextIdx = wrap(currIdx + 1, -1, ring.length - 1);\n const prev = ring[prevIdx];\n const curr = ring[currIdx];\n const next = ring[nextIdx];\n const p1 = prev.sub(curr).unit();\n const p2 = next.sub(curr).unit();\n const interiorAngle = p2.angleWithSep(p1.x, p1.y);\n // Calcuate a vector that points in the direction of the angle bisector between two sides.\n // Scale it based on a right angled triangle constructed at that corner.\n const offset = p1.add(p2).unit().mult(-1 * buffer / Math.sin(interiorAngle / 2));\n output.push(curr.add(offset));\n }\n return output;\n}\n\ntype EaseFunction = (t: number) => number;\n\n/**\n * Given given (x, y), (x1, y1) control points for a bezier curve,\n * return a function that interpolates along that curve.\n *\n * @param p1x control point 1 x coordinate\n * @param p1y control point 1 y coordinate\n * @param p2x control point 2 x coordinate\n * @param p2y control point 2 y coordinate\n * @private\n */\nexport function bezier(p1x: number, p1y: number, p2x: number, p2y: number): EaseFunction {\n const bezier = new UnitBezier(p1x, p1y, p2x, p2y);\n return function(t: number) {\n return bezier.solve(t);\n };\n}\n\n/**\n * A default bezier-curve powered easing function with\n * control points (0.25, 0.1) and (0.25, 1)\n *\n * @private\n */\nexport const ease: EaseFunction = bezier(0.25, 0.1, 0.25, 1);\n\n/**\n * constrain n to the given range via min + max\n *\n * @param n value\n * @param min the minimum value to be returned\n * @param max the maximum value to be returned\n * @returns the clamped value\n * @private\n */\nexport function clamp(n: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, n));\n}\n\n/**\n * Equivalent to GLSL smoothstep.\n *\n * @param {number} e0 The lower edge of the sigmoid\n * @param {number} e1 The upper edge of the sigmoid\n * @param {number} x the value to be interpolated\n * @returns {number} in the range [0, 1]\n * @private\n */\nexport function smoothstep(e0: number, e1: number, x: number): number {\n x = clamp((x - e0) / (e1 - e0), 0, 1);\n return x * x * (3 - 2 * x);\n}\n\n/**\n * constrain n to the given range, excluding the minimum, via modular arithmetic\n *\n * @param n value\n * @param min the minimum value to be returned, exclusive\n * @param max the maximum value to be returned, inclusive\n * @returns constrained number\n * @private\n */\nexport function wrap(n: number, min: number, max: number): number {\n const d = max - min;\n const w = ((n - min) % d + d) % d + min;\n return (w === min) ? max : w;\n}\n\n/**\n * Computes shortest angle in range [-180, 180) between two angles.\n *\n * @param {*} a First angle in degrees\n * @param {*} b Second angle in degrees\n * @returns Shortest angle\n * @private\n */\nexport function shortestAngle(a: number, b: number): number {\n const diff = (b - a + 180) % 360 - 180;\n return diff < -180 ? diff + 360 : diff;\n}\n\n/*\n * Call an asynchronous function on an array of arguments,\n * calling `callback` with the completed results of all calls.\n *\n * @param array input to each call of the async function.\n * @param fn an async function with signature (data, callback)\n * @param callback a callback run after all async work is done.\n * called with an array, containing the results of each async call.\n * @private\n */\nexport function asyncAll(\n array: Array,\n fn: (item: Item, fnCallback: Callback) => void,\n callback: Callback>\n): void {\n if (!array.length) { return callback(null, []); }\n let remaining = array.length;\n const results = new Array(array.length);\n let error = null;\n array.forEach((item, i) => {\n fn(item, (err, result) => {\n if (err) error = err;\n results[i] = ((result: any): Result); // https://github.com/facebook/flow/issues/2123\n if (--remaining === 0) callback(error, results);\n });\n });\n}\n\n/*\n * Polyfill for Object.values. Not fully spec compliant, but we don't\n * need it to be.\n *\n * @private\n */\nexport function values(obj: {[key: string]: T}): Array {\n const result = [];\n for (const k in obj) {\n result.push(obj[k]);\n }\n return result;\n}\n\n/*\n * Compute the difference between the keys in one object and the keys\n * in another object.\n *\n * @returns keys difference\n * @private\n */\nexport function keysDifference(obj: {[key: string]: S}, other: {[key: string]: T}): Array {\n const difference = [];\n for (const i in obj) {\n if (!(i in other)) {\n difference.push(i);\n }\n }\n return difference;\n}\n\n/**\n * Given a destination object and optionally many source objects,\n * copy all properties from the source objects into the destination.\n * The last source object given overrides properties from previous\n * source objects.\n *\n * @param dest destination object\n * @param sources sources from which properties are pulled\n * @private\n */\nexport function extend(dest: Object, ...sources: Array): Object {\n for (const src of sources) {\n for (const k in src) {\n dest[k] = src[k];\n }\n }\n return dest;\n}\n\n/**\n * Given an object and a number of properties as strings, return version\n * of that object with only those properties.\n *\n * @param src the object\n * @param properties an array of property names chosen\n * to appear on the resulting object.\n * @returns object with limited properties.\n * @example\n * var foo = { name: 'Charlie', age: 10 };\n * var justName = pick(foo, ['name']);\n * // justName = { name: 'Charlie' }\n * @private\n */\nexport function pick(src: Object, properties: Array): Object {\n const result = {};\n for (let i = 0; i < properties.length; i++) {\n const k = properties[i];\n if (k in src) {\n result[k] = src[k];\n }\n }\n return result;\n}\n\nlet id = 1;\n\n/**\n * Return a unique numeric id, starting at 1 and incrementing with\n * each call.\n *\n * @returns unique numeric id.\n * @private\n */\nexport function uniqueId(): number {\n return id++;\n}\n\n/**\n * Return a random UUID (v4). Taken from: https://gist.github.com/jed/982883\n * @private\n */\nexport function uuid(): string {\n function b(a: void) {\n return a ? (a ^ Math.random() * (16 >> a / 4)).toString(16) :\n //$FlowFixMe: Flow doesn't like the implied array literal conversion here\n ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace(/[018]/g, b);\n }\n return b();\n}\n\n/**\n * Return whether a given value is a power of two\n * @private\n */\nexport function isPowerOfTwo(value: number): boolean {\n return (Math.log(value) / Math.LN2) % 1 === 0;\n}\n\n/**\n * Return the next power of two, or the input value if already a power of two\n * @private\n */\nexport function nextPowerOfTwo(value: number): number {\n if (value <= 1) return 1;\n return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2));\n}\n\n/**\n * Return the previous power of two, or the input value if already a power of two\n * @private\n */\nexport function prevPowerOfTwo(value: number): number {\n if (value <= 1) return 1;\n return Math.pow(2, Math.floor(Math.log(value) / Math.LN2));\n}\n\n/**\n * Validate a string to match UUID(v4) of the\n * form: xxxxxxxx-xxxx-4xxx-[89ab]xxx-xxxxxxxxxxxx\n * @param str string to validate.\n * @private\n */\nexport function validateUuid(str: ?string): boolean {\n return str ? /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(str) : false;\n}\n\n/**\n * Given an array of member function names as strings, replace all of them\n * with bound versions that will always refer to `context` as `this`. This\n * is useful for classes where otherwise event bindings would reassign\n * `this` to the evented object or some other value: this lets you ensure\n * the `this` value always.\n *\n * @param fns list of member function names\n * @param context the context value\n * @example\n * function MyClass() {\n * bindAll(['ontimer'], this);\n * this.name = 'Tom';\n * }\n * MyClass.prototype.ontimer = function() {\n * alert(this.name);\n * };\n * var myClass = new MyClass();\n * setTimeout(myClass.ontimer, 100);\n * @private\n */\nexport function bindAll(fns: Array, context: Object): void {\n fns.forEach((fn) => {\n if (!context[fn]) { return; }\n context[fn] = context[fn].bind(context);\n });\n}\n\n/**\n * Determine if a string ends with a particular substring\n *\n * @private\n */\nexport function endsWith(string: string, suffix: string): boolean {\n return string.indexOf(suffix, string.length - suffix.length) !== -1;\n}\n\n/**\n * Create an object by mapping all the values of an existing object while\n * preserving their keys.\n *\n * @private\n */\n// $FlowFixMe[missing-this-annot]\nexport function mapObject(input: Object, iterator: Function, context?: Object): Object {\n const output = {};\n for (const key in input) {\n output[key] = iterator.call(context || this, input[key], key, input);\n }\n return output;\n}\n\n/**\n * Create an object by filtering out values of an existing object.\n *\n * @private\n */\n// $FlowFixMe[missing-this-annot]\nexport function filterObject(input: Object, iterator: Function, context?: Object): Object {\n const output = {};\n for (const key in input) {\n if (iterator.call(context || this, input[key], key, input)) {\n output[key] = input[key];\n }\n }\n return output;\n}\n\nimport deepEqual from '../style-spec/util/deep_equal.js';\nexport {deepEqual};\n\n/**\n * Deeply clones two objects.\n *\n * @private\n */\nexport function clone(input: T): T {\n if (Array.isArray(input)) {\n return ((input.map(clone): any): T);\n } else if (typeof input === 'object' && input) {\n return ((mapObject(input, clone): any): T);\n } else {\n return input;\n }\n}\n\n/**\n * Maps a value from a range between [min, max] to the range [outMin, outMax]\n *\n * @private\n */\nexport function mapValue(value: number, min: number, max: number, outMin: number, outMax: number): number {\n return clamp((value - min) / (max - min) * (outMax - outMin) + outMin, outMin, outMax);\n}\n\n/**\n * Check if two arrays have at least one common element.\n *\n * @private\n */\nexport function arraysIntersect(a: Array, b: Array): boolean {\n for (let l = 0; l < a.length; l++) {\n if (b.indexOf(a[l]) >= 0) return true;\n }\n return false;\n}\n\n/**\n * Print a warning message to the console and ensure duplicate warning messages\n * are not printed.\n *\n * @private\n */\nconst warnOnceHistory: {[key: string]: boolean} = {};\n\nexport function warnOnce(message: string): void {\n if (!warnOnceHistory[message]) {\n // console isn't defined in some WebWorkers, see #2558\n if (typeof console !== \"undefined\") console.warn(message);\n warnOnceHistory[message] = true;\n }\n}\n\n/**\n * Indicates if the provided Points are in a counter clockwise (true) or clockwise (false) order\n *\n * @private\n * @returns true for a counter clockwise set of points\n */\n// http://bryceboe.com/2006/10/23/line-segment-intersection-algorithm/\nexport function isCounterClockwise(a: Point, b: Point, c: Point): boolean {\n return (c.y - a.y) * (b.x - a.x) > (b.y - a.y) * (c.x - a.x);\n}\n\n/**\n * Returns the signed area for the polygon ring. Postive areas are exterior rings and\n * have a clockwise winding. Negative areas are interior rings and have a counter clockwise\n * ordering.\n *\n * @private\n * @param ring Exterior or interior ring\n */\nexport function calculateSignedArea(ring: Array): number {\n let sum = 0;\n for (let i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {\n p1 = ring[i];\n p2 = ring[j];\n sum += (p2.x - p1.x) * (p1.y + p2.y);\n }\n return sum;\n}\n\nexport type Position = {\n x: number,\n y: number,\n z: number,\n azimuthal: number,\n polar: number,\n};\n\nexport type Direction = {\n x: number,\n y: number,\n z: number\n};\n\n/**\n * Converts spherical coordinates to cartesian position coordinates.\n *\n * @private\n * @param spherical Spherical coordinates, in [radial, azimuthal, polar]\n * @return Position cartesian coordinates\n */\nexport function sphericalPositionToCartesian([r, azimuthal, polar]: [number, number, number]): Position {\n // We abstract \"north\"/\"up\" (compass-wise) to be 0° when really this is 90° (π/2):\n // correct for that here\n const a = degToRad(azimuthal + 90), p = degToRad(polar);\n\n return {\n x: r * Math.cos(a) * Math.sin(p),\n y: r * Math.sin(a) * Math.sin(p),\n z: r * Math.cos(p),\n azimuthal, polar\n };\n}\n\n/**\n * Converts spherical direction to cartesian coordinates.\n *\n * @private\n * @param spherical Spherical direction, in [azimuthal, polar]\n * @return Direction cartesian direction\n */\nexport function sphericalDirectionToCartesian([azimuthal, polar]: [number, number, number]): Direction {\n const position = sphericalPositionToCartesian([1.0, azimuthal, polar]);\n\n return {\n x: position.x,\n y: position.y,\n z: position.z\n };\n}\n\nexport function cartesianPositionToSpherical(x: number, y: number, z: number): [number, number, number] {\n const radial = Math.sqrt(x * x + y * y + z * z);\n const polar = radial > 0.0 ? Math.acos(z / radial) * RAD_TO_DEG : 0.0;\n // Domain error may occur if x && y are both 0.0\n let azimuthal = (x !== 0.0 || y !== 0.0) ? Math.atan2(-y, -x) * RAD_TO_DEG + 90.0 : 0.0;\n\n if (azimuthal < 0.0) {\n azimuthal += 360.0;\n }\n\n return [radial, azimuthal, polar];\n}\n\n/* global WorkerGlobalScope */\n/**\n * Returns true if run in the web-worker context.\n *\n * @private\n * @returns {boolean}\n */\nexport function isWorker(): boolean {\n return typeof WorkerGlobalScope !== 'undefined' && typeof self !== 'undefined' &&\n self instanceof WorkerGlobalScope;\n}\n\n/**\n * Parses data from 'Cache-Control' headers.\n *\n * @private\n * @param cacheControl Value of 'Cache-Control' header\n * @return object containing parsed header info.\n */\n\nexport function parseCacheControl(cacheControl: string): Object {\n // Taken from [Wreck](https://github.com/hapijs/wreck)\n const re = /(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g;\n\n const header = {};\n cacheControl.replace(re, ($0, $1, $2, $3) => {\n const value = $2 || $3;\n header[$1] = value ? value.toLowerCase() : true;\n return '';\n });\n\n if (header['max-age']) {\n const maxAge = parseInt(header['max-age'], 10);\n if (isNaN(maxAge)) delete header['max-age'];\n else header['max-age'] = maxAge;\n }\n\n return header;\n}\n\nlet _isSafari = null;\n\nexport function _resetSafariCheckForTest() {\n _isSafari = null;\n}\n\n/**\n * Returns true when run in WebKit derived browsers.\n * This is used as a workaround for a memory leak in Safari caused by using Transferable objects to\n * transfer data between WebWorkers and the main thread.\n * https://github.com/mapbox/mapbox-gl-js/issues/8771\n *\n * This should be removed once the underlying Safari issue is fixed.\n *\n * @private\n * @param scope {WindowOrWorkerGlobalScope} Since this function is used both on the main thread and WebWorker context,\n * let the calling scope pass in the global scope object.\n * @returns {boolean}\n */\nexport function isSafari(scope: any): boolean {\n if (_isSafari == null) {\n const userAgent = scope.navigator ? scope.navigator.userAgent : null;\n _isSafari = !!scope.safari ||\n !!(userAgent && (/\\b(iPad|iPhone|iPod)\\b/.test(userAgent) || (!!userAgent.match('Safari') && !userAgent.match('Chrome'))));\n }\n return _isSafari;\n}\n\nexport function isSafariWithAntialiasingBug(scope: any): ?boolean {\n const userAgent = scope.navigator ? scope.navigator.userAgent : null;\n if (!isSafari(scope)) return false;\n // 15.4 is known to be buggy.\n // 15.5 may or may not include the fix. Mark it as buggy to be on the safe side.\n return userAgent && (userAgent.match('Version/15.4') || userAgent.match('Version/15.5') || userAgent.match(/CPU (OS|iPhone OS) (15_4|15_5) like Mac OS X/));\n}\n\nexport function isFullscreen(): boolean {\n return !!document.fullscreenElement || !!(document: any).webkitFullscreenElement;\n}\n\nexport function storageAvailable(type: string): boolean {\n try {\n const storage = self[type];\n storage.setItem('_mapbox_test_', 1);\n storage.removeItem('_mapbox_test_');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n// The following methods are from https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem\n//Unicode compliant base64 encoder for strings\nexport function b64EncodeUnicode(str: string): string {\n return btoa(\n encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,\n (match, p1) => {\n return String.fromCharCode(Number('0x' + p1)); //eslint-disable-line\n }\n )\n );\n}\n\n// Unicode compliant decoder for base64-encoded strings\nexport function b64DecodeUnicode(str: string): string {\n return decodeURIComponent(atob(str).split('').map((c) => {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); //eslint-disable-line\n }).join(''));\n}\n\nexport function base64DecToArr(sBase64: string): Uint8Array {\n const str = atob(sBase64);\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) arr[i] = str.codePointAt(i);\n return arr;\n}\n\nexport function getColumn(matrix: Mat4, col: number): Vec4 {\n return [matrix[col * 4], matrix[col * 4 + 1], matrix[col * 4 + 2], matrix[col * 4 + 3]];\n}\n\nexport function setColumn(matrix: Mat4, col: number, values: Vec4) {\n matrix[col * 4 + 0] = values[0];\n matrix[col * 4 + 1] = values[1];\n matrix[col * 4 + 2] = values[2];\n matrix[col * 4 + 3] = values[3];\n}\n\nexport function sRGBToLinearAndScale(v: [number, number, number, number], s: number): [number, number, number] {\n return [\n Math.pow(v[0], 2.2) * s,\n Math.pow(v[1], 2.2) * s,\n Math.pow(v[2], 2.2) * s\n ];\n}\n\nexport function linearVec3TosRGB(v: [number, number, number]): [number, number, number] {\n return [\n Math.pow(v[0], 1.0 / 2.2),\n Math.pow(v[1], 1.0 / 2.2),\n Math.pow(v[2], 1.0 / 2.2)\n ];\n}\n\nexport function lowerBound(array: number[], startIndex: number, finishIndex: number, target: number): number {\n while (startIndex < finishIndex) {\n const middleIndex = (startIndex + finishIndex) >> 1;\n\n if (array[middleIndex] < target) {\n startIndex = middleIndex + 1;\n } else {\n finishIndex = middleIndex;\n }\n }\n\n return startIndex;\n}\n\nexport function upperBound(array: number[], startIndex: number, finishIndex: number, target: number): number {\n while (startIndex < finishIndex) {\n const middleIndex = (startIndex + finishIndex) >> 1;\n\n if (array[middleIndex] <= target) {\n startIndex = middleIndex + 1;\n } else {\n finishIndex = middleIndex;\n }\n }\n\n return startIndex;\n}\n\nexport function contrastFactor(contrast: number): number {\n return contrast > 0 ?\n 1 / (1.001 - contrast) :\n 1 + contrast;\n}\n\nexport function saturationFactor(saturation: number): number {\n return saturation > 0 ?\n 1 - 1 / (1.001 - saturation) :\n -saturation;\n}\n\n/**\n * Given the inputs creates a matrix that when applied to a color can\n * change its saturation, contrast and brightness levels.\n * This results in the same behaviour that happens in raster.fragment.glsl\n *\n * @param saturation Saturation level ranging from -1 to 1.\n * @param contrast Contrast level ranging from -1 to 1.\n * @param brightnessMin Minimum brightness ranging from 0 to 1.\n * @param brightnessMax Maximum brightness ranging from 0 to 1.\n * @returns Matrix that adjusts saturation, contrast and brightness of a color.\n * @private\n */\nexport function computeColorAdjustmentMatrix(saturation: number, contrast: number, brightnessMin: number, brightnessMax: number): Float32Array {\n saturation = saturationFactor(saturation);\n contrast = contrastFactor(contrast);\n\n const m = mat4.create();\n\n /*hueAngle *= Math.PI / 180;\n const s = Math.sin(hueAngle);\n const c = Math.cos(hueAngle);\n const x = (2 * c + 1) / 3;\n const y = (-c - Math.sqrt(3) * s + 1) / 3;\n const z = (-c + Math.sqrt(3) * s + 1) / 3;\n const hueMatrix = [\n x, z, y, 0,\n y, x, z, 0,\n z, y, x, 0,\n 0, 0, 0, 1\n ];*/\n\n const sa = saturation / 3.0;\n const sb = 1.0 - 2.0 * sa;\n const saturationMatrix = [\n sb, sa, sa, 0.0,\n sa, sb, sa, 0.0,\n sa, sa, sb, 0.0,\n 0.0, 0.0, 0.0, 1.0\n ];\n\n const cs = 0.5 - 0.5 * contrast;\n const contrastMatrix = [\n contrast, 0.0, 0.0, 0.0,\n 0.0, contrast, 0.0, 0.0,\n 0.0, 0.0, contrast, 0.0,\n cs, cs, cs, 1.0\n ];\n\n const hl = brightnessMax - brightnessMin;\n const brightnessMatrix = [\n hl, 0.0, 0.0, 0.0,\n 0.0, hl, 0.0, 0.0,\n 0.0, 0.0, hl, 0.0,\n brightnessMin, brightnessMin, brightnessMin, 1.0\n ];\n\n mat4.multiply(m, brightnessMatrix, contrastMatrix);\n mat4.multiply(m, m, saturationMatrix);\n // mat4.multiply(m, m, hueMatrix);\n\n return m;\n}\n","// @flow strict\nlet supportsOffscreenCanvas: ?boolean;\n\nexport default function offscreenCanvasSupported(): boolean {\n if (supportsOffscreenCanvas == null) {\n supportsOffscreenCanvas = self.OffscreenCanvas &&\n new OffscreenCanvas(1, 1).getContext('2d') &&\n typeof self.createImageBitmap === 'function';\n }\n\n return supportsOffscreenCanvas;\n}\n","// @flow strict\nimport assert from 'assert';\nimport offscreenCanvasSupported from './offscreen_canvas_supported.js';\nimport type {Cancelable} from '../types/cancelable.js';\n\nlet linkEl;\n\nlet reducedMotionQuery: MediaQueryList;\n\nlet stubTime: number | void;\n\nlet canvas;\n\nlet hasCanvasFingerprintNoise;\n\n/**\n * @private\n */\nconst exported = {\n /**\n * Returns either performance.now() or a value set by setNow.\n * @returns {number} Time value in milliseconds.\n */\n now(): number {\n if (stubTime !== undefined) {\n return stubTime;\n }\n return performance.now();\n },\n setNow(time: number) {\n stubTime = time;\n },\n\n restoreNow() {\n stubTime = undefined;\n },\n\n frame(fn: (paintStartTimestamp: number) => void): Cancelable {\n const frame = requestAnimationFrame(fn);\n return {cancel: () => cancelAnimationFrame(frame)};\n },\n\n getImageData(img: CanvasImageSource, padding?: number = 0): ImageData {\n const {width, height} = img;\n\n if (!canvas) {\n canvas = document.createElement('canvas');\n }\n\n const context = canvas.getContext('2d', {willReadFrequently: true});\n if (!context) {\n throw new Error('failed to create canvas 2d context');\n }\n\n if (width > canvas.width || height > canvas.height) {\n canvas.width = width;\n canvas.height = height;\n }\n\n context.clearRect(-padding, -padding, width + 2 * padding, height + 2 * padding);\n context.drawImage(img, 0, 0, width, height);\n return context.getImageData(-padding, -padding, width + 2 * padding, height + 2 * padding);\n },\n\n resolveURL(path: string): string {\n if (!linkEl) linkEl = document.createElement('a');\n linkEl.href = path;\n return linkEl.href;\n },\n\n get devicePixelRatio(): number { return window.devicePixelRatio; },\n get prefersReducedMotion(): boolean {\n if (!window.matchMedia) return false;\n // Lazily initialize media query.\n if (reducedMotionQuery == null) {\n reducedMotionQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n }\n return reducedMotionQuery.matches;\n },\n\n /**\n * Returns true if the browser has OffscreenCanvas support and\n * adds noise to Canvas2D operations used for image decoding to prevent fingerprinting.\n */\n hasCanvasFingerprintNoise(): boolean {\n if (hasCanvasFingerprintNoise !== undefined) {\n return hasCanvasFingerprintNoise;\n }\n\n if (!offscreenCanvasSupported()) {\n hasCanvasFingerprintNoise = false;\n return false;\n }\n\n assert(self.OffscreenCanvas, 'OffscreenCanvas is not supported');\n\n const offscreenCanvas = new OffscreenCanvas(255 / 3, 1);\n // $FlowFixMe[extra-arg] probably fixed in later versions of Flow\n const offscreenCanvasContext = offscreenCanvas.getContext('2d', {willReadFrequently: true});\n let inc = 0;\n // getImageData is lossy with premultiplied alpha.\n for (let i = 0; i < offscreenCanvas.width; ++i) {\n offscreenCanvasContext.fillStyle = `rgba(${inc++},${inc++},${inc++}, 255)`;\n offscreenCanvasContext.fillRect(i, 0, 1, 1);\n }\n const readData = offscreenCanvasContext.getImageData(0, 0, offscreenCanvas.width, offscreenCanvas.height);\n inc = 0;\n for (let i = 0; i < readData.data.length; ++i) {\n if (i % 4 !== 3 && inc++ !== readData.data[i]) {\n hasCanvasFingerprintNoise = true;\n return true;\n }\n }\n hasCanvasFingerprintNoise = false;\n return false;\n }\n};\n\nexport default exported;\n","// @flow\n\nexport function setQueryParameters(url: string, params: {[string]: string}): string {\n const paramStart = url.indexOf('?');\n if (paramStart < 0) return `${url}?${new URLSearchParams(params).toString()}`;\n\n const searchParams = new URLSearchParams(url.slice(paramStart));\n for (const key in params) {\n searchParams.set(key, params[key]);\n }\n\n return `${url.slice(0, paramStart)}?${searchParams.toString()}`;\n}\n\ntype StripQueryParameters = {\n persistentParams: string[]\n}\n\nexport function stripQueryParameters(url: string, params?: StripQueryParameters = {persistentParams: []}): string {\n const paramStart = url.indexOf('?');\n if (paramStart < 0) return url;\n\n const nextParams = new URLSearchParams();\n const searchParams = new URLSearchParams(url.slice(paramStart));\n for (const param of params.persistentParams) {\n const value = searchParams.get(param);\n if (value) nextParams.set(param, value);\n }\n\n const nextParamsString = nextParams.toString();\n\n return `${url.slice(0, paramStart)}${nextParamsString.length > 0 ? `?${nextParamsString}` : ''}`;\n}\n","// @flow\n\nimport {warnOnce, parseCacheControl} from './util.js';\nimport {stripQueryParameters, setQueryParameters} from './url.js';\n\nimport type Dispatcher from './dispatcher.js';\n\nconst CACHE_NAME = 'mapbox-tiles';\nlet cacheLimit = 500; // 50MB / (100KB/tile) ~= 500 tiles\nlet cacheCheckThreshold = 50;\n\nconst MIN_TIME_UNTIL_EXPIRY = 1000 * 60 * 7; // 7 minutes. Skip caching tiles with a short enough max age.\n\nexport type ResponseOptions = {\n status: number,\n statusText: string,\n headers: Headers\n};\n\n// We're using a global shared cache object. Normally, requesting ad-hoc Cache objects is fine, but\n// Safari has a memory leak in which it fails to release memory when requesting keys() from a Cache\n// object. See https://bugs.webkit.org/show_bug.cgi?id=203991 for more information.\nlet sharedCache: ?Promise;\n\nfunction getCaches() {\n try {\n return caches;\n } catch (e) {\n //