diff --git a/dist/esri-leaflet-vector-debug.js b/dist/esri-leaflet-vector-debug.js new file mode 100644 index 0000000..2bef3e5 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js @@ -0,0 +1,1113 @@ +/* esri-leaflet-vector - v4.2.5 - Mon Aug 26 2024 11:41:29 GMT-0500 (Central Daylight Time) + * Copyright (c) 2024 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('esri-leaflet'), require('leaflet'), require('maplibre-gl')) : + typeof define === 'function' && define.amd ? define(['exports', 'esri-leaflet', 'leaflet', 'maplibre-gl'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.L = global.L || {}, global.L.esri = global.L.esri || {}, global.L.esri.Vector = {}), global.L.esri, global.L, global.maplibregl)); +})(this, (function (exports, esriLeaflet, leaflet, maplibregl) { 'use strict'; + + function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } + + var maplibregl__default = /*#__PURE__*/_interopDefaultLegacy(maplibregl); + + var name = "esri-leaflet-vector"; + var description = "Esri vector basemap and vector tile layer plugin for Leaflet."; + var version$1 = "4.2.5"; + var author = "John Gravois (https://johngravois.com)"; + var contributors = [ + "Patrick Arlt (http://patrickarlt.com)", + "Gavin Rehkemper (https://gavinr.com)", + "Jacob Wasilkowski (https://jwasilgeo.github.io)", + "George Owen (https://geowen.dev/)" + ]; + var bugs = { + url: "https://github.com/Esri/esri-leaflet-vector/issues" + }; + var peerDependencies = { + "esri-leaflet": ">2.3.0", + leaflet: "^1.5.0", + "maplibre-gl": "^2.0.0 || ^3.0.0 || ^4.0.0" + }; + var devDependencies = { + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.1", + "@rollup/plugin-terser": "^0.3.0", + chai: "4.3.7", + "chokidar-cli": "^3.0.0", + eslint: "^7.13.0", + "eslint-config-semistandard": "^15.0.1", + "eslint-config-standard": "^15.0.1", + "eslint-plugin-chai-friendly": "^0.6.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^4.2.1", + "eslint-plugin-standard": "^4.1.0", + "esri-leaflet": "^3.0.0", + "gh-release": "^7.0.2", + "http-server": "^14.1.1", + karma: "^6.4.1", + "karma-chrome-launcher": "^3.1.0", + "karma-coverage": "^2.2.0", + "karma-edgium-launcher": "github:matracey/karma-edgium-launcher", + "karma-firefox-launcher": "^2.1.2", + "karma-mocha": "^2.0.1", + "karma-mocha-reporter": "^2.2.5", + "karma-safari-launcher": "~1.0.0", + "karma-sinon-chai": "^2.0.2", + "karma-sourcemap-loader": "^0.3.8", + leaflet: "^1.5.0", + mkdirp: "^2.1.3", + mocha: "^10.2.0", + "npm-run-all": "^4.1.5", + rollup: "^2.79.1", + semistandard: "^16.0.0", + sinon: "^15.0.1", + "sinon-chai": "3.7.0", + snazzy: "^9.0.0" + }; + var files = [ + "src/**/*.js", + "dist/*.js", + "dist/*.js.map", + "dist/*.json", + "index.d.ts" + ]; + var homepage = "https://github.com/Esri/esri-leaflet-vector#readme"; + var jspm = { + registry: "npm", + format: "es6", + main: "src/EsriLeafletVector.js" + }; + var keywords = [ + "maplibre", + "arcgis", + "leaflet", + "leafletjs", + "maps" + ]; + var license = "Apache-2.0"; + var main = "dist/esri-leaflet-vector-debug.js"; + var module = "src/EsriLeafletVector.js"; + var browser = "dist/esri-leaflet-vector-debug.js"; + var types = "index.d.ts"; + var readmeFilename = "README.md"; + var repository = { + type: "git", + url: "git+https://github.com/Esri/esri-leaflet-vector.git" + }; + var scripts = { + prebuild: "mkdirp dist", + build: "rollup -c profiles/debug.js & rollup -c profiles/production.js", + "build-dev": "rollup -c profiles/debug.js", + fix: "semistandard --fix", + lint: "eslint src/**/*.js", + "start-watch": "chokidar src -c \"npm run build\"", + "start-watch-dev": "chokidar src -c \"npm run build-dev\"", + start: "run-p start-watch serve", + "start-dev": "run-p start-watch-dev serve", + dev: "npm run start-dev", + serve: "http-server -p 8765 -c-1 -o", + pretest: "npm run build-dev", + test: "npm run lint && karma start", + release: "./scripts/release.sh" + }; + var semistandard = { + globals: [ + "expect", + "L", + "XMLHttpRequest", + "sinon", + "xhr", + "proj4" + ] + }; + var packageInfo = { + name: name, + description: description, + version: version$1, + author: author, + contributors: contributors, + bugs: bugs, + peerDependencies: peerDependencies, + devDependencies: devDependencies, + files: files, + homepage: homepage, + "jsnext:main": "src/EsriLeafletVector.js", + jspm: jspm, + keywords: keywords, + license: license, + main: main, + module: module, + browser: browser, + types: types, + readmeFilename: readmeFilename, + repository: repository, + scripts: scripts, + semistandard: semistandard + }; + + /* + utility to establish a URL for the basemap styles API + used primarily by VectorBasemapLayer.js + */ + function getBasemapStyleUrl (style, apikey) { + if (style.includes('/')) { + throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style'); + } + + let url = + 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' + + style + + '?type=style'; + if (apikey) { + url = url + '&token=' + apikey; + } + return url; + } + + /** + * Utility to establish a URL for the basemap styles API v2 + * + * @param {string} style + * @param {string} token + * @param {Object} [options] Optional list of options: language, worldview, or places. + * @returns {string} the URL + */ + function getBasemapStyleV2Url (style, token, options) { + if (style.includes(':')) { + throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style'); + } + + let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/'; + if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) { + // style is an itemID + url = url + 'items/' + style; + + if (options.language) { + throw new Error('The \'language\' parameter is not supported for custom basemap styles'); + } + } else { + url = url + style; + } + + if (!token) throw new Error('A token is required to access basemap styles.'); + + url = url + '?token=' + token; + if (options.language) { + url = url + '&language=' + options.language; + } + if (options.worldview) { + url = url + '&worldview=' + options.worldview; + } + if (options.places) { + url = url + '&places=' + options.places; + } + return url; + } + /* + utilities to communicate with custom user styles via an ITEM ID or SERVICE URL + used primarily by VectorTileLayer.js + */ + function loadStyle (idOrUrl, options, callback) { + const httpRegex = /^https?:\/\//; + const serviceRegex = /\/VectorTileServer\/?$/; + + if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) { + const serviceUrl = idOrUrl; + loadStyleFromService(serviceUrl, options, callback); + } else { + const itemId = idOrUrl; + loadStyleFromItem(itemId, options, callback); + } + } + + function loadService (serviceUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(serviceUrl, params, callback); + } + + function loadItem (itemId, options, callback) { + const params = options.token ? { token: options.token } : {}; + const url = options.portalUrl + '/sharing/rest/content/items/' + itemId; + esriLeaflet.request(url, params, callback); + } + + function loadStyleFromItem (itemId, options, callback) { + const itemStyleUrl = + options.portalUrl + + '/sharing/rest/content/items/' + + itemId + + '/resources/styles/root.json'; + + loadStyleFromUrl(itemStyleUrl, options, function (error, style) { + if (error) { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadStyleFromService(item.url, options, callback); + }); + } else { + loadItem(itemId, options, function (error, item) { + if (error) { + callback(error); + return; + } + loadService(item.url, options, function (error, service) { + callback(error, style, itemStyleUrl, service, item.url); + }); + }); + } + }); + } + + function loadStyleFromService (serviceUrl, options, callback) { + loadService(serviceUrl, options, function (error, service) { + if (error) { + callback(error); + return; + } + + let sanitizedServiceUrl = serviceUrl; + // a trailing "/" may create invalid paths + if (serviceUrl.charAt(serviceUrl.length - 1) === '/') { + sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1); + } + + let defaultStylesUrl; + // inadvertently inserting more than 1 adjacent "/" may create invalid paths + if (service.defaultStyles.charAt(0) === '/') { + defaultStylesUrl = + sanitizedServiceUrl + service.defaultStyles + '/root.json'; + } else { + defaultStylesUrl = + sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json'; + } + + loadStyleFromUrl(defaultStylesUrl, options, function (error, style) { + if (error) { + callback(error); + return; + } + callback(null, style, defaultStylesUrl, service, serviceUrl); + }); + }); + } + + function loadStyleFromUrl (styleUrl, options, callback) { + const params = options.token ? { token: options.token } : {}; + esriLeaflet.request(styleUrl, params, callback); + } + + function isSameTLD (url1, url2) { + return (new URL(url1)).hostname === (new URL(url2)).hostname; + } + + function formatStyle (style, styleUrl, metadata, token) { + // transforms style object in place and also returns it + + // modify each source in style.sources + const sourcesKeys = Object.keys(style.sources); + for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) { + const source = style.sources[sourcesKeys[sourceIndex]]; + + // if a relative path is referenced, the default style can be found in a standard location + if (source.url.indexOf('http') === -1) { + source.url = styleUrl.replace('/resources/styles/root.json', ''); + } + + // a trailing "/" may create invalid paths + if (source.url.charAt(source.url.length - 1) === '/') { + source.url = source.url.slice(0, source.url.length - 1); + } + + // add tiles property if missing + if (!source.tiles) { + // right now ArcGIS Pro published vector services have a slightly different signature + // the '/' is needed in the URL string concatenation below for source.tiles + if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') { + metadata.tiles[0] = '/' + metadata.tiles[0]; + } + + source.tiles = [source.url + metadata.tiles[0]]; + } + + // some VectorTileServer endpoints may default to returning f=html, + // specify f=json to account for that behavior + source.url += '?f=json'; + + // add the token to the source url and tiles properties as a query param + source.url += token ? '&token=' + token : ''; + source.tiles[0] += token ? '?token=' + token : ''; + // add minzoom and maxzoom to each source based on the service metadata + // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too + // MapLibre will overzoom for LODs that are not cooked + source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level; + source.maxzoom = + metadata.maxLOD || + metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level; + } + + // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata + const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]]; + lastSource.attribution = metadata.copyrightText || ''; + lastSource.copyrightText = metadata.copyrightText || ''; + + // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first + for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) { + const layer = style.layers[layerIndex]; + if ( + layer.layout && + layer.layout['text-font'] && + layer.layout['text-font'].length > 1 + ) { + layer.layout['text-font'] = [layer.layout['text-font'][0]]; + } + } + + if (style.sprite && style.sprite.indexOf('http') === -1) { + // resolve absolute URL for style.sprite + style.sprite = styleUrl.replace( + 'styles/root.json', + style.sprite.replace('../', '') + ); + } + if (style.sprite && token) { + // add the token to the style.sprite property as a query param, only if same domain (for token security) + if (isSameTLD(styleUrl, style.sprite)) { + style.sprite += '?token=' + token; + } else { + console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.'); + } + } + + if (style.glyphs && style.glyphs.indexOf('http') === -1) { + // resolve absolute URL for style.glyphs + style.glyphs = styleUrl.replace( + 'styles/root.json', + style.glyphs.replace('../', '') + ); + } + + if (style.glyphs && token) { + // add the token to the style.glyphs property as a query param + if (isSameTLD(styleUrl, style.glyphs)) { + style.glyphs += '?token=' + token; + } else { + console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.'); + } + } + + return style; + } + + /* + utility to assist with dynamic attribution data + used primarily by VectorBasemapLayer.js + */ + function getAttributionData (url, map) { + if (esriLeaflet.Support.cors) { + esriLeaflet.request(url, {}, function (error, attributions) { + if (error) { + return; + } + map._esriAttributions = map._esriAttributions || []; + for (let c = 0; c < attributions.contributors.length; c++) { + const contributor = attributions.contributors[c]; + + for (let i = 0; i < contributor.coverageAreas.length; i++) { + const coverageArea = contributor.coverageAreas[i]; + const southWest = leaflet.latLng(coverageArea.bbox[0], coverageArea.bbox[1]); + const northEast = leaflet.latLng(coverageArea.bbox[2], coverageArea.bbox[3]); + map._esriAttributions.push({ + attribution: contributor.attribution, + score: coverageArea.score, + bounds: leaflet.latLngBounds(southWest, northEast), + minZoom: coverageArea.zoomMin, + maxZoom: coverageArea.zoomMax + }); + } + } + + map._esriAttributions.sort(function (a, b) { + return b.score - a.score; + }); + + // pass the same argument as the map's 'moveend' event + const obj = { target: map }; + esriLeaflet.Util._updateMapAttribution(obj); + }); + } + } + + /* + utility to check if a service's tileInfo spatial reference is in Web Mercator + used primarily by VectorTileLayer.js + */ + const WEB_MERCATOR_WKIDS = [3857, 102100, 102113]; + + function isWebMercator (wkid) { + return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0; + } + + var EsriUtil = { + formatStyle: formatStyle + }; + + const setRTLTextPlugin = (url, callback, deferred) => { + maplibregl__default["default"].setRTLTextPlugin(url, callback, deferred); + }; + + var MaplibreGLJSLayer = leaflet.Layer.extend({ + options: { + updateInterval: 32, + // How much to extend the overlay view (relative to map size) + // e.g. 0.1 would be 10% of map view in each direction + padding: 0.1, + // whether or not to register the mouse and keyboard + // events on the mapbox overlay + interactive: false, + // set the tilepane as the default pane to draw gl tiles + pane: 'tilePane' + }, + + initialize: function (options) { + leaflet.setOptions(this, options); + + // setup throttling the update event when panning + this._throttledUpdate = leaflet.Util.throttle( + this._update, + this.options.updateInterval, + this + ); + }, + + onAdd: function (map) { + if (!this._container) { + this._initContainer(); + } + + const paneName = this.getPaneName(); + map.getPane(paneName).appendChild(this._container); + + this._initGL(); + + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47 + if (map.options.zoomAnimation) { + leaflet.DomEvent.on( + map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + }, + + onRemove: function (map) { + if (this._map._proxy && this._map.options.zoomAnimation) { + leaflet.DomEvent.off( + this._map._proxy, + leaflet.DomUtil.TRANSITION_END, + this._transitionEnd, + this + ); + } + + const paneName = this.getPaneName(); + + map.getPane(paneName).removeChild(this._container); + this._container = null; + + this._glMap.remove(); + this._glMap = null; + }, + + getEvents: function () { + return { + move: this._throttledUpdate, // sensibly throttle updating while panning + zoomanim: this._animateZoom, // applies the zoom animation to the + zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming + zoomstart: this._zoomStart, // flag starting a zoom to disable panning + zoomend: this._zoomEnd, + resize: this._resize + }; + }, + + getMaplibreMap: function () { + return this._glMap; + }, + + getCanvas: function () { + return this._glMap.getCanvas(); + }, + + getSize: function () { + return this._map.getSize().multiplyBy(1 + this.options.padding * 2); + }, + + getOpacity: function () { + return this.options.opacity; + }, + + setOpacity: function (opacity) { + this.options.opacity = opacity; + this._container.style.opacity = opacity; + }, + + getBounds: function () { + const halfSize = this.getSize().multiplyBy(0.5); + const center = this._map.latLngToContainerPoint(this._map.getCenter()); + return leaflet.latLngBounds( + this._map.containerPointToLatLng(center.subtract(halfSize)), + this._map.containerPointToLatLng(center.add(halfSize)) + ); + }, + + getContainer: function () { + return this._container; + }, + + // returns the pane name set in options if it is a valid pane, defaults to tilePane + getPaneName: function () { + return this._map.getPane(this.options.pane) + ? this.options.pane + : 'tilePane'; + }, + + _resize: function () { + return this._glMap._resize; + }, + + _initContainer: function () { + if (this._container) { + return; + } + + this._container = leaflet.DomUtil.create('div', 'leaflet-gl-layer'); + + const size = this.getSize(); + const offset = this._map.getSize().multiplyBy(this.options.padding); + this._container.style.width = size.x + 'px'; + this._container.style.height = size.y + 'px'; + + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(this._container, topLeft); + }, + + _initGL: function () { + if (this._glMap) { + return; + } + + const center = this._map.getCenter(); + + const options = leaflet.extend({}, this.options, { + container: this._container, + center: [center.lng, center.lat], + zoom: this._map.getZoom() - 1, + attributionControl: false + }); + + this._glMap = new maplibregl__default["default"].Map(options); + + // Fire event for Maplibre "styledata" event. + this._glMap.once( + 'styledata', + function (res) { + this.fire('styleLoaded'); + }.bind(this) + ); + + // allow GL base map to pan beyond min/max latitudes + this._glMap.transform.latRange = null; + this._glMap.transform.maxValidLatitude = Infinity; + + this._transformGL(this._glMap); + + if (this._glMap._canvas.canvas) { + // older versions of mapbox-gl surfaced the canvas differently + this._glMap._actualCanvas = this._glMap._canvas.canvas; + } else { + this._glMap._actualCanvas = this._glMap._canvas; + } + + // treat child element like L.ImageOverlay + const canvas = this._glMap._actualCanvas; + leaflet.DomUtil.addClass(canvas, 'leaflet-image-layer'); + leaflet.DomUtil.addClass(canvas, 'leaflet-zoom-animated'); + if (this.options.interactive) { + leaflet.DomUtil.addClass(canvas, 'leaflet-interactive'); + } + if (this.options.className) { + leaflet.DomUtil.addClass(canvas, this.options.className); + } + }, + + _update: function (e) { + // update the offset, so we can correct for it later when we zoom + this._offset = this._map.containerPointToLayerPoint([0, 0]); + + if (this._zooming) { + return; + } + + const size = this.getSize(); + const container = this._container; + const gl = this._glMap; + const offset = this._map.getSize().multiplyBy(this.options.padding); + const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset); + + leaflet.DomUtil.setPosition(container, topLeft); + + this._transformGL(gl); + + if (gl.transform.width !== size.x || gl.transform.height !== size.y) { + container.style.width = size.x + 'px'; + container.style.height = size.y + 'px'; + if (gl._resize !== null && gl._resize !== undefined) { + gl._resize(); + } else { + gl.resize(); + } + } else { + // older versions of mapbox-gl surfaced update publicly + if (gl._update !== null && gl._update !== undefined) { + gl._update(); + } else { + gl.update(); + } + } + }, + + _transformGL: function (gl) { + const center = this._map.getCenter(); + + // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0); + // calling setView directly causes sync issues because it uses requestAnimFrame + + const tr = gl.transform; + tr.center = maplibregl__default["default"].LngLat.convert([center.lng, center.lat]); + tr.zoom = this._map.getZoom() - 1; + }, + + // update the map constantly during a pinch zoom + _pinchZoom: function (e) { + this._glMap.jumpTo({ + zoom: this._map.getZoom() - 1, + center: this._map.getCenter() + }); + }, + + // borrowed from L.ImageOverlay + // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144 + _animateZoom: function (e) { + const scale = this._map.getZoomScale(e.zoom); + const padding = this._map.getSize().multiplyBy(this.options.padding * scale); + const viewHalf = this.getSize()._divideBy(2); + // corrections for padding (scaled), adapted from + // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508 + const topLeft = this._map + .project(e.center, e.zoom) + ._subtract(viewHalf) + ._add(this._map._getMapPanePos().add(padding)) + ._round(); + const offset = this._map + .project(this._map.getBounds().getNorthWest(), e.zoom) + ._subtract(topLeft); + + leaflet.DomUtil.setTransform( + this._glMap._actualCanvas, + offset.subtract(this._offset), + scale + ); + }, + + _zoomStart: function (e) { + this._zooming = true; + }, + + _zoomEnd: function () { + const scale = this._map.getZoomScale(this._map.getZoom()); + + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, null, scale); + + this._zooming = false; + + this._update(); + }, + + _transitionEnd: function (e) { + leaflet.Util.requestAnimFrame(function () { + const zoom = this._map.getZoom(); + const center = this._map.getCenter(); + const offset = this._map.latLngToContainerPoint( + this._map.getBounds().getNorthWest() + ); + + // reset the scale and offset + leaflet.DomUtil.setTransform(this._glMap._actualCanvas, offset, 1); + + // enable panning once the gl map is ready again + this._glMap.once( + 'moveend', + leaflet.Util.bind(function () { + this._zoomEnd(); + }, this) + ); + + // update the map position + this._glMap.jumpTo({ + center: center, + zoom: zoom - 1 + }); + }, this); + } + }); + + function maplibreGLJSLayer (options) { + return new MaplibreGLJSLayer(options); + } + + var VectorTileLayer = leaflet.Layer.extend({ + options: { + // if portalUrl is not provided, default to ArcGIS Online + portalUrl: 'https://www.arcgis.com', + // for performance optimization default to `false` + // set to `true` to resolve printing issues in Firefox + preserveDrawingBuffer: false + }, + + /** + * Populates "this.options" to be used in the rest of the module and creates the layer instance. + * + * @param {string} key an ITEM ID or SERVICE URL + * @param {object} options optional + */ + initialize: function (key, options) { + if (options) { + leaflet.setOptions(this, options); + } + + // support outdated casing apiKey of apikey + if (this.options.apiKey) { + this.options.apikey = this.options.apiKey; + } + + // if apiKey is passed in, propagate to token + // if token is passed in, propagate to apiKey + if (this.options.apikey) { + this.options.token = this.options.apikey; + } else if (this.options.token) { + this.options.apikey = this.options.token; + } + + // if no key passed in + if (!key) { + throw new Error( + 'An ITEM ID or SERVICE URL is required for vectorTileLayer.' + ); + } + + // set key onto "this.options" for use elsewhere in the module. + if (key) { + this.options.key = key; + } + + // this.options has been set, continue on to create the layer: + this._createLayer(); + }, + + /** + * Creates the maplibreGLJSLayer given using "this.options" + */ + _createLayer: function () { + loadStyle( + this.options.key, + this.options, + function (error, style, styleUrl, service) { + if (error) { + this.fire('load-error', { + value: error + }); + return; + } + + if (!isWebMercator(service.tileInfo.spatialReference.wkid)) { + console.warn( + 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:', + service.tileInfo.spatialReference, + '\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.' + ); + } + + // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer + style = formatStyle(style, styleUrl, service, this.options.token); + + this._createMaplibreLayer(style); + }.bind(this) + ); + }, + + _setupAttribution: function () { + // if a custom attribution was not provided in the options, + // then attempt to rely on the attribution of the last source in the style object + // and add it to the map's attribution control + // (otherwise it would have already been added by leaflet to the attribution control) + if (!this.getAttribution()) { + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const sourcesKeys = Object.keys(sources); + this.options.attribution = + sources[sourcesKeys[sourcesKeys.length - 1]].attribution; + if (this._map && this._map.attributionControl) { + // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control + this._map.attributionControl.addAttribution(this.getAttribution()); + } + } + }, + + _createMaplibreLayer: function (style) { + this._maplibreGL = maplibreGLJSLayer({ + style: style, + pane: this.options.pane, + opacity: this.options.opacity, + preserveDrawingBuffer: this.options.preserveDrawingBuffer + }); + + this._ready = true; + this.fire('ready', {}, true); + + this._maplibreGL.on('styleLoaded', function () { + this._setupAttribution(); + // additionally modify the style object with the user's optional style override function + if (this.options.style && typeof this.options.style === 'function') { + this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle())); + } + }.bind(this)); + }, + + onAdd: function (map) { + this._map = map; + + if (this._ready) { + this._asyncAdd(); + } else { + this.once( + 'ready', + function () { + this._asyncAdd(); + }, + this + ); + } + }, + + onRemove: function (map) { + map.removeLayer(this._maplibreGL); + }, + + _asyncAdd: function () { + const map = this._map; + this._maplibreGL.addTo(map, this); + } + }); + + function vectorTileLayer (key, options) { + return new VectorTileLayer(key, options); + } + + var VectorBasemapLayer = VectorTileLayer.extend({ + /** + * Populates "this.options" to be used in the rest of the module. + * + * @param {string} key + * @param {object} options optional + */ + initialize: function (key, options) { + // Default to the v1 service endpoint + if (!options.version) { + if (key.includes('/')) options.version = 2; + else options.version = 1; + } + if (!key) { + // Default style enum if none provided + key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets'; + } + // If no API Key or token is provided (support outdated casing apiKey of apikey) + if (!(options.apikey || options.apiKey || options.token)) { + throw new Error('An API Key or token is required for vectorBasemapLayer.'); + } + // Validate v2 service params + if (options.version !== 2) { + if (options.language) { + throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + if (options.worldview) { + throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + if (options.places) { + throw new Error('The places parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.'); + } + } + // Determine layer order + if (!options.pane) { + if (key.includes(':Label') || key.includes('/label')) { + options.pane = 'esri-labels'; + } else if (key.includes(':Detail') || key.includes('/detail')) { + options.pane = 'esri-detail'; + } else { + // Create layer in the tilePane by default + options.pane = 'tilePane'; + } + } + + // Options has been configured, continue on to create the layer: + VectorTileLayer.prototype.initialize.call(this, key, options); + }, + + /** + * Creates the maplibreGLJSLayer using "this.options" + */ + _createLayer: function () { + let styleUrl; + if (this.options.version && this.options.version === 2) { + styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, { + language: this.options.language, + worldview: this.options.worldview, + places: this.options.places + }); + } else { + styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey); + } + this._createMaplibreLayer(styleUrl); + }, + + _setupAttribution: function () { + // Set attribution + esriLeaflet.Util.setEsriAttribution(this._map); + + if (this.options.key.length === 32) { + // this is an itemId + const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources; + const allAttributions = []; + Object.keys(sources).forEach(function (key) { + allAttributions.push(sources[key].attribution); + if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) { + allAttributions.push(sources[key].copyrightText); + } + }); + + this._map.attributionControl.addAttribution(`${allAttributions.join(', ')}`); + } else { + // this is an enum + if (!this.options.attributionUrls) { + this.options.attributionUrls = this._getAttributionUrls(this.options.key); + } + + if (this._map && this.options.attributionUrls) { + if (this._map.attributionControl) { + for ( + let index = 0; + index < this.options.attributionUrls.length; + index++ + ) { + const attributionUrl = this.options.attributionUrls[index]; + getAttributionData(attributionUrl, this._map); + } + + this._map.attributionControl.addAttribution( + '' + ); + } + esriLeaflet.Util._updateMapAttribution({ target: this._map }); + } + } + }, + + /** + * Given a key, return the attribution url(s). + * @param {string} key + */ + _getAttributionUrls: function (key) { + if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) { + return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2']; + } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) { + return [ + 'https://static.arcgis.com/attribution/World_Imagery', + 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2' + ]; + } + + // default: + return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2']; + }, + + _initPane: function () { + if (!this._map.getPane(this.options.pane)) { + const pane = this._map.createPane(this.options.pane); + pane.style.pointerEvents = 'none'; + + let zIndex = 500; + if (this.options.pane === 'esri-detail') { + zIndex = 250; + } else if (this.options.pane === 'esri-labels') { + zIndex = 300; + } + pane.style.zIndex = zIndex; + } + }, + + onRemove: function (map) { + map.off('moveend', esriLeaflet.Util._updateMapAttribution); + map.removeLayer(this._maplibreGL); + + if (map.attributionControl) { + if (esriLeaflet.Util.removeEsriAttribution) esriLeaflet.Util.removeEsriAttribution(map); + + const element = document.getElementsByClassName('esri-dynamic-attribution'); + + if (element && element.length > 0) { + const vectorAttribution = element[0].outerHTML; + // call removeAttribution twice here + // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution. + // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there + map.attributionControl.removeAttribution(vectorAttribution); + map.attributionControl.removeAttribution(''); + } + } + }, + + _asyncAdd: function () { + const map = this._map; + this._initPane(); + map.on('moveend', esriLeaflet.Util._updateMapAttribution); + this._maplibreGL.addTo(map, this); + } + }); + + function vectorBasemapLayer (key, options) { + return new VectorBasemapLayer(key, options); + } + + // export version + const version = packageInfo.version; + + exports.MaplibreGLJSLayer = MaplibreGLJSLayer; + exports.Util = EsriUtil; + exports.VERSION = version; + exports.VectorBasemapLayer = VectorBasemapLayer; + exports.VectorTileLayer = VectorTileLayer; + exports.maplibreGLJSLayer = maplibreGLJSLayer; + exports.setRTLTextPlugin = setRTLTextPlugin; + exports.vectorBasemapLayer = vectorBasemapLayer; + exports.vectorTileLayer = vectorTileLayer; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=esri-leaflet-vector-debug.js.map diff --git a/dist/esri-leaflet-vector-debug.js.map b/dist/esri-leaflet-vector-debug.js.map new file mode 100644 index 0000000..af93125 --- /dev/null +++ b/dist/esri-leaflet-vector-debug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector-debug.js","sources":["../src/Util.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\n/**\r\n * Utility to establish a URL for the basemap styles API v2\r\n *\r\n * @param {string} style\r\n * @param {string} token\r\n * @param {Object} [options] Optional list of options: language, worldview, or places.\r\n * @returns {string} the URL\r\n */\r\nexport function getBasemapStyleV2Url (style, token, options) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (options.language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (!token) throw new Error('A token is required to access basemap styles.');\r\n\r\n url = url + '?token=' + token;\r\n if (options.language) {\r\n url = url + '&language=' + options.language;\r\n }\r\n if (options.worldview) {\r\n url = url + '&worldview=' + options.worldview;\r\n }\r\n if (options.places) {\r\n url = url + '&places=' + options.places;\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport const setRTLTextPlugin = (url, callback, deferred) => {\r\n maplibregl.setRTLTextPlugin(url, callback, deferred);\r\n};\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applies the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _resize: function () {\r\n return this._glMap._resize;\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset, so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate v2 service params\r\n if (options.version !== 2) {\r\n if (options.language) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.worldview) {\r\n throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.places) {\r\n throw new Error('The places parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, {\r\n language: this.options.language,\r\n worldview: this.options.worldview,\r\n places: this.options.places\r\n });\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution(`${allAttributions.join(', ')}`);\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n if (Util.removeEsriAttribution) Util.removeEsriAttribution(map);\r\n\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // call removeAttribution twice here\r\n // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution.\r\n // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n map.attributionControl.removeAttribution('');\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer, setRTLTextPlugin } from './MaplibreGLLayer';\r\n"],"names":["request","Support","latLng","latLngBounds","Util","maplibregl","Layer","setOptions","DomEvent","DomUtil","extend"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esri-leaflet-vector.js b/dist/esri-leaflet-vector.js new file mode 100644 index 0000000..2870059 --- /dev/null +++ b/dist/esri-leaflet-vector.js @@ -0,0 +1,5 @@ +/* esri-leaflet-vector - v4.2.5 - Mon Aug 26 2024 11:41:29 GMT-0500 (Central Daylight Time) + * Copyright (c) 2024 Environmental Systems Research Institute, Inc. + * Apache-2.0 */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("esri-leaflet"),require("leaflet")):"function"==typeof define&&define.amd?define(["exports","esri-leaflet","leaflet"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).L=t.L||{},t.L.esri=t.L.esri||{},t.L.esri.Vector={}),t.L.esri,t.L)}(this,(function(t,e,i){"use strict";var r="4.2.5";function n(t,e,i){if(/^https?:\/\//.test(t)&&/\/VectorTileServer\/?$/.test(t)){o(t,e,i)}else{!function(t,e,i){const r=e.portalUrl+"/sharing/rest/content/items/"+t+"/resources/styles/root.json";l(r,e,(function(n,l){a(t,e,n?function(t,r){t?i(t):o(r.url,e,i)}:function(t,n){t?i(t):s(n.url,e,(function(t,e){i(t,l,r,e,n.url)}))})}))}(t,e,i)}}function s(t,i,r){const n=i.token?{token:i.token}:{};e.request(t,n,r)}function a(t,i,r){const n=i.token?{token:i.token}:{},s=i.portalUrl+"/sharing/rest/content/items/"+t;e.request(s,n,r)}function o(t,e,i){s(t,e,(function(r,n){if(r)return void i(r);let s,a=t;"/"===t.charAt(t.length-1)&&(a=t.slice(0,t.length-1)),s="/"===n.defaultStyles.charAt(0)?a+n.defaultStyles+"/root.json":a+"/"+n.defaultStyles+"/root.json",l(s,e,(function(e,r){e?i(e):i(null,r,s,n,t)}))}))}function l(t,i,r){const n=i.token?{token:i.token}:{};e.request(t,n,r)}function c(t,e){return new URL(t).hostname===new URL(e).hostname}function h(t,e,i,r){const n=Object.keys(t.sources);for(let s=0;s1&&(i.layout["text-font"]=[i.layout["text-font"][0]])}return t.sprite&&-1===t.sprite.indexOf("http")&&(t.sprite=e.replace("styles/root.json",t.sprite.replace("../",""))),t.sprite&&r&&(c(e,t.sprite)?t.sprite+="?token="+r:console.warn("Passing a token but sprite URL is not on same base URL, so you must pass the token manually.")),t.glyphs&&-1===t.glyphs.indexOf("http")&&(t.glyphs=e.replace("styles/root.json",t.glyphs.replace("../",""))),t.glyphs&&r&&(c(e,t.glyphs)?t.glyphs+="?token="+r:console.warn("Passing a token but glyph URL is not on same base URL, so you must pass the token manually.")),t}function u(t,r){e.Support.cors&&e.request(t,{},(function(t,n){if(t)return;r._esriAttributions=r._esriAttributions||[];for(let t=0;t1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?a=i:o=i,i=.5*(o-a)+a;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=i(a);let c,h;function u(){return null==c&&(c="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function d(){if(null==h&&(h=!1,u())){const t=5,e=new OffscreenCanvas(t,t).getContext("2d",{willReadFrequently:!0});if(e){for(let i=0;in.solve(t)}const f=p(.25,.1,.25,1);function m(t,e,i){return Math.min(i,Math.max(e,t))}function _(t,e,i){const r=i-e,n=((t-e)%r+r)%r+e;return n===e?i:n}function g(t,...e){for(const i of e)for(const e in i)t[e]=i[e];return t}let y=1;function x(t,e,i){const r={};for(const i in t)r[i]=e.call(this,t[i],i,t);return r}function v(t,e,i){const r={};for(const i in t)e.call(this,t[i],i,t)&&(r[i]=t[i]);return r}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?x(t,b):t}const w={};function T(t){w[t]||("undefined"!=typeof console&&console.warn(t),w[t]=!0)}function S(t,e,i){return(i.y-t.y)*(e.x-t.x)>(e.y-t.y)*(i.x-t.x)}function I(t){return"undefined"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let P=null;function A(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const M="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function k(t,i,r,n,s){return e(this,void 0,void 0,(function*(){if("undefined"==typeof VideoFrame)throw new Error("VideoFrame not supported");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith("BGR")&&!a.startsWith("RGB"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith("BGR"),l=new Uint8ClampedArray(n*s*4);if(yield e.copyTo(l,function(t,e,i,r,n){const s=4*Math.max(-e,0),a=(Math.max(0,i)-i)*r*4+s,o=4*r,l=Math.max(0,e),c=Math.max(0,i);return{rect:{x:l,y:c,width:Math.min(t.width,e+r)-l,height:Math.min(t.height,i+n)-c},layout:[{offset:a,stride:o}]}}(t,i,r,n,s)),o)for(let t=0;tI(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href,V=function(t,i){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=R(t.url);if(e)return e(t,i);if(I(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:B},i)}if(!(/^file:/.test(r=t.url)||/^file:/.test(O())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(t,i){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:O(),signal:i.signal});"json"!==t.type||e.headers.has("Accept")||e.headers.set("Accept","application/json");const r=yield fetch(e);if(!r.ok){const e=yield r.blob();throw new F(r.status,r.statusText,t.url,e)}let n;n="arrayBuffer"===t.type||"image"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text();const s=yield n;if(i.signal.aborted)throw D();return{data:s,cacheControl:r.headers.get("Cache-Control"),expires:r.headers.get("Expires")}}))}(t,i);if(I(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:B},i)}var r;return function(t,e){return new Promise(((i,r)=>{var n;const s=new XMLHttpRequest;s.open(t.method||"GET",t.url,!0),"arrayBuffer"!==t.type&&"image"!==t.type||(s.responseType="arraybuffer");for(const e in t.headers)s.setRequestHeader(e,t.headers[e]);"json"===t.type&&(s.responseType="text",(null===(n=t.headers)||void 0===n?void 0:n.Accept)||s.setRequestHeader("Accept","application/json")),s.withCredentials="include"===t.credentials,s.onerror=()=>{r(new Error(s.statusText))},s.onload=()=>{if(!e.signal.aborted)if((s.status>=200&&s.status<300||0===s.status)&&null!==s.response){let e=s.response;if("json"===t.type)try{e=JSON.parse(s.response)}catch(t){return void r(t)}i({data:e,cacheControl:s.getResponseHeader("Cache-Control"),expires:s.getResponseHeader("Expires")})}else{const e=new Blob([s.response],{type:s.getResponseHeader("Content-Type")});r(new F(s.status,s.statusText,t.url,e))}},e.signal.addEventListener("abort",(()=>{s.abort(),r(D())})),s.send(t.body)}))}(t,i)};function N(t){if(!t||t.indexOf("://")<=0||0===t.indexOf("data:image/")||0===t.indexOf("blob:"))return!0;const e=new URL(t),i=window.location;return e.protocol===i.protocol&&e.host===i.host}function j(t,e,i){i[t]&&-1!==i[t].indexOf(e)||(i[t]=i[t]||[],i[t].push(e))}function U(t,e,i){if(i&&i[t]){const r=i[t].indexOf(e);-1!==r&&i[t].splice(r,1)}}class ${constructor(t,e={}){g(this,e),this.type=t}}class q extends ${constructor(t,e={}){super("error",g({error:t},e))}}class Z{on(t,e){return this._listeners=this._listeners||{},j(t,e,this._listeners),this}off(t,e){return U(t,e,this._listeners),U(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},j(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new $(t,e||{}));const i=t.type;if(this.listens(i)){t.target=this;const e=this._listeners&&this._listeners[i]?this._listeners[i].slice():[];for(const i of e)i.call(this,t);const r=this._oneTimeListeners&&this._oneTimeListeners[i]?this._oneTimeListeners[i].slice():[];for(const e of r)U(i,e,this._oneTimeListeners),e.call(this,t);const n=this._eventedParent;n&&(g(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),n.fire(t))}else t instanceof q&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var G={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const H=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function X(t,e){const i={};for(const e in t)"ref"!==e&&(i[e]=t[e]);return H.forEach((t=>{t in e&&(i[t]=e[t])})),i}function W(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let i=0;i`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const wt=[lt,ct,ht,ut,dt,_t,pt,vt(ft),gt,yt,xt];function Tt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Tt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of wt)if(!Tt(t,e))return null}return`Expected ${bt(t)} but found ${bt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function It(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}function Pt(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const At=.96422,Mt=.82521,kt=4/29,Ct=6/29,zt=3*Ct*Ct,Et=Ct*Ct*Ct,Dt=Math.PI/180,Lt=180/Math.PI;function Rt(t){return(t%=360)<0&&(t+=360),t}function Bt([t,e,i,r]){let n,s;const a=Ot((.2225045*(t=Ft(t))+.7168786*(e=Ft(e))+.0606169*(i=Ft(i)))/1);t===e&&e===i?n=s=a:(n=Ot((.4360747*t+.3850649*e+.1430804*i)/At),s=Ot((.0139322*t+.0971045*e+.7141733*i)/Mt));const o=116*a-16;return[o<0?0:o,500*(n-a),200*(a-s),r]}function Ft(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ot(t){return t>Et?Math.pow(t,1/3):t/zt+kt}function Vt([t,e,i,r]){let n=(t+16)/116,s=isNaN(e)?n:n+e/500,a=isNaN(i)?n:n-i/200;return n=1*jt(n),s=At*jt(s),a=Mt*jt(a),[Nt(3.1338561*s-1.6168667*n-.4906146*a),Nt(-.9787684*s+1.9161415*n+.033454*a),Nt(.0719453*s-.2289914*n+1.4052427*a),r]}function Nt(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function jt(t){return t>Ct?t*t*t:zt*(t-kt)}function Ut(t){return parseInt(t.padEnd(2,t),16)/255}function $t(t,e){return qt(e?t/100:t,0,1)}function qt(t,e,i){return Math.min(Math.max(e,t),i)}function Zt(t){return!t.some(Number.isNaN)}const Gt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Ht{constructor(t,e,i,r=1,n=!0){this.r=t,this.g=e,this.b=i,this.a=r,n||(this.r*=r,this.g*=r,this.b*=r,r||this.overwriteGetter("rgb",[t,e,i,r]))}static parse(t){if(t instanceof Ht)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=Gt[t];if(e){const[t,i,r]=e;return[t/255,i/255,r/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let i=1;return[Ut(t.slice(i,i+=e)),Ut(t.slice(i,i+=e)),Ut(t.slice(i,i+=e)),Ut(t.slice(i,i+e)||"ff")]}if(t.startsWith("rgb")){const e=t.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(e){const[t,i,r,n,s,a,o,l,c,h,u,d]=e,p=[n||" ",o||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[r,a,c].join(""),e="%%%"===t?100:""===t?255:0;if(e){const t=[qt(+i/e,0,1),qt(+s/e,0,1),qt(+l/e,0,1),u?$t(+u,d):1];if(Zt(t))return t}}return}}const i=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(i){const[t,e,r,n,s,a,o,l,c]=i,h=[r||" ",s||" ",o].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,qt(+n,0,100),qt(+a,0,100),l?$t(+l,c):1];if(Zt(t))return function([t,e,i,r]){function n(r){const n=(r+t/30)%12,s=e*Math.min(i,1-i);return i-s*Math.max(-1,Math.min(n-3,9-n,1))}return t=Rt(t),e/=100,i/=100,[n(0),n(8),n(4),r]}(t)}}}(t);return e?new Ht(...e,!1):void 0}get rgb(){const{r:t,g:e,b:i,a:r}=this,n=r||1/0;return this.overwriteGetter("rgb",[t/n,e/n,i/n,r])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,i,r,n]=Bt(t),s=Math.sqrt(i*i+r*r);return[Math.round(1e4*s)?Rt(Math.atan2(r,i)*Lt):NaN,s,e,n]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Bt(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,i,r]=this.rgb;return`rgba(${[t,e,i].map((t=>Math.round(255*t))).join(",")},${r})`}}Ht.black=new Ht(0,0,0,1),Ht.white=new Ht(1,1,1,1),Ht.transparent=new Ht(0,0,0,0),Ht.red=new Ht(1,0,0,1);class Xt{constructor(t,e,i){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=i,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Wt{constructor(t,e,i,r,n){this.text=t,this.image=e,this.scale=i,this.fontStack=r,this.textColor=n}}class Kt{constructor(t){this.sections=t}static fromString(t){return new Kt([new Wt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Kt?t:Kt.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Jt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Jt)return t;if("number"==typeof t)return new Jt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Jt(t)}}toString(){return JSON.stringify(this.values)}}const Yt=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Qt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof i&&i>=0&&i<=255?void 0===r||"number"==typeof r&&r>=0&&r<=1?null:`Invalid rgba value [${[t,e,i,r].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof r?[t,e,i,r]:[t,e,i]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function ie(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof Ht||t instanceof Xt||t instanceof Kt||t instanceof Jt||t instanceof Qt||t instanceof te)return!0;if(Array.isArray(t)){for(const e of t)if(!ie(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!ie(t[e]))return!1;return!0}return!1}function re(t){if(null===t)return lt;if("string"==typeof t)return ht;if("boolean"==typeof t)return ut;if("number"==typeof t)return ct;if(t instanceof Ht)return dt;if(t instanceof Xt)return mt;if(t instanceof Kt)return _t;if(t instanceof Jt)return gt;if(t instanceof Qt)return xt;if(t instanceof te)return yt;if(Array.isArray(t)){const e=t.length;let i;for(const e of t){const t=re(e);if(i){if(i===t)continue;i=ft;break}i=t}return vt(i||ft,e)}return pt}function ne(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Ht||t instanceof Kt||t instanceof Jt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!ie(t[1]))return e.error("invalid value");const i=t[1];let r=re(i);const n=e.expectedType;return"array"!==r.kind||0!==r.N||!n||"array"!==n.kind||"number"==typeof n.N&&0!==n.N||(r=n),new se(r,i)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class ae{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const oe={string:ht,number:ct,boolean:ut,object:pt};class le{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let i,r=1;const n=t[0];if("array"===n){let n,s;if(t.length>2){const i=t[1];if("string"!=typeof i||!(i in oe)||"object"===i)return e.error('The item type argument of "array" must be one of string, number, boolean',1);n=oe[i],r++}else n=ft;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],r++}i=vt(n,s)}else{if(!oe[n])throw new Error(`Types doesn't contain name = ${n}`);i=oe[n]}const s=[];for(;rt.outputDefined()))}}const ce={"to-boolean":ut,"to-color":dt,"to-number":ct,"to-string":ht};class he{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[0];if(!ce[i])throw new Error(`Can't parse ${i} as it is not part of the known types`);if(("to-boolean"===i||"to-string"===i)&&2!==t.length)return e.error("Expected one argument.");const r=ce[i],n=[];for(let i=1;i4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!i))return new Ht(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(i||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const i of this.args){e=i.evaluate(t);const r=Jt.parse(e);if(r)return r}throw new ae(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const i of this.args){e=i.evaluate(t);const r=Qt.parse(e);if(r)return r}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const i of this.args){if(e=i.evaluate(t),null===e)return 0;const r=Number(e);if(!isNaN(r))return r}throw new ae(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return Kt.fromString(ne(this.args[0].evaluate(t)));case"resolvedImage":return te.fromString(ne(this.args[0].evaluate(t)));default:return ne(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const ue=["Unknown","Point","LineString","Polygon"];class de{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?ue[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Ht.parse(t)),e}}class pe{constructor(t,e,i=[],r,n=new ot,s=[]){this.registry=t,this.path=i,this.key=i.map((t=>`[${t}]`)).join(""),this.scope=n,this.errors=s,this.expectedType=r,this._isConstant=e}parse(t,e,i,r,n={}){return e?this.concat(e,i,r)._parse(t,n):this._parse(t,n)}_parse(t,e){function i(t,e,i){return"assert"===i?new le(e,[t]):"coerce"===i?new he(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const n=this.registry[r];if(n){let r=n.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,n=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==n.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==n.kind&&"string"!==n.kind)if("padding"!==t.kind||"value"!==n.kind&&"number"!==n.kind&&"array"!==n.kind)if("variableAnchorOffsetCollection"!==t.kind||"value"!==n.kind&&"array"!==n.kind){if(this.checkSubtype(t,n))return null}else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"coerce");else r=i(r,t,e.typeAnnotation||"assert")}if(!(r instanceof se)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const e=new de;try{r=new se(r.type,r.evaluate(e))}catch(t){return this.error(t.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(void 0===t?"'undefined' value invalid. Use null instead.":"object"==typeof t?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,i){const r="number"==typeof t?this.path.concat(t):this.path,n=i?this.scope.concat(i):this.scope;return new pe(this.registry,this._isConstant,r,e||null,n,this.errors)}error(t,...e){const i=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new at(i,t))}checkSubtype(t,e){const i=Tt(t,e);return i&&this.error(i),i}}class fe{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const i=[];for(let r=1;r=i.length)throw new ae(`Array index out of bounds: ${e} > ${i.length-1}.`);if(e!==Math.floor(e))throw new ae(`Array index must be an integer, but found ${e} instead.`);return i[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class ge{constructor(t,e){this.type=ut,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,ft),r=e.parse(t[2],2,ft);return i&&r?St(i.type,[ut,ht,ct,lt,ft])?new ge(i,r):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(i.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!i)return!1;if(!It(e,["boolean","string","number","null"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${bt(re(e))} instead.`);if(!It(i,["string","array"]))throw new ae(`Expected second argument to be of type array or string, but found ${bt(re(i))} instead.`);return i.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class ye{constructor(t,e,i){this.type=ct,this.needle=t,this.haystack=e,this.fromIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,ft),r=e.parse(t[2],2,ft);if(!i||!r)return null;if(!St(i.type,[ut,ht,ct,lt,ft]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,ct);return n?new ye(i,r,n):null}return new ye(i,r)}evaluate(t){const e=this.needle.evaluate(t),i=this.haystack.evaluate(t);if(!It(e,["boolean","string","number","null"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${bt(re(e))} instead.`);let r;if(this.fromIndex&&(r=this.fromIndex.evaluate(t)),It(i,["string"])){const t=i.indexOf(e,r);return-1===t?-1:[...i.slice(0,t)].length}if(It(i,["array"]))return i.indexOf(e,r);throw new ae(`Expected second argument to be of type array or string, but found ${bt(re(i))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class xe{constructor(t,e,i,r,n,s){this.inputType=t,this.type=e,this.input=i,this.cases=r,this.outputs=n,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let i,r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(i){if(c.checkSubtype(i,re(t)))return null}else i=re(t);if(void 0!==n[String(t)])return c.error("Branch labels must be unique.");n[String(t)]=s.length}const h=e.parse(l,a,r);if(!h)return null;r=r||h.type,s.push(h)}const a=e.parse(t[1],1,ft);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,r);return o?"value"!==a.type.kind&&e.concat(1).checkSubtype(i,a.type)?null:new xe(i,r,a,n,s,o):null}evaluate(t){const e=this.input.evaluate(t);return(re(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class ve{constructor(t,e,i){this.type=t,this.branches=e,this.otherwise=i}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r=[];for(let n=1;ne.outputDefined()))&&this.otherwise.outputDefined()}}class be{constructor(t,e,i,r){this.type=t,this.input=e,this.beginIndex=i,this.endIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const i=e.parse(t[1],1,ft),r=e.parse(t[2],2,ct);if(!i||!r)return null;if(!St(i.type,[vt(ft),ht,ft]))return e.error(`Expected first argument to be of type array or string, but found ${bt(i.type)} instead`);if(4===t.length){const n=e.parse(t[3],3,ct);return n?new be(i.type,i,r,n):null}return new be(i.type,i,r)}evaluate(t){const e=this.input.evaluate(t),i=this.beginIndex.evaluate(t);let r;if(this.endIndex&&(r=this.endIndex.evaluate(t)),It(e,["string"]))return[...e].slice(i,r).join("");if(It(e,["array"]))return e.slice(i,r);throw new ae(`Expected first argument to be of type array or string, but found ${bt(re(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function we(t,e){const i=t.length-1;let r,n,s=0,a=i,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),r=t[o],n=t[o+1],r<=e){if(o===i||ee))throw new ae("Input is not a number.");a=o-1}return 0}class Te{constructor(t,e,i){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of i)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const i=e.parse(t[1],1,ct);if(!i)return null;const r=[];let n=null;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(let i=1;i=s)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',o);const c=e.parse(a,l,n);if(!c)return null;n=n||c.type,r.push([s,c])}return new Te(n,i,r)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;return r>=e[n-1]?i[n-1].evaluate(t):i[we(e,r)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ie=Pe;function Pe(t,e,i,r){this.cx=3*t,this.bx=3*(i-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=i,this.p2y=r}Pe.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var i=t,r=0;r<8;r++){var n=this.sampleCurveX(i)-t;if(Math.abs(n)n?a=i:o=i,i=.5*(o-a)+a;return i},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ae=Se(Ie);function Me(t,e,i){return t+i*(e-t)}function ke(t,e,i){return t.map(((t,r)=>Me(t,e[r],i)))}const Ce={number:Me,color:function(t,e,i,r="rgb"){switch(r){case"rgb":{const[r,n,s,a]=ke(t.rgb,e.rgb,i);return new Ht(r,n,s,a,!1)}case"hcl":{const[r,n,s,a]=t.hcl,[o,l,c,h]=e.hcl;let u,d;if(isNaN(r)||isNaN(o))isNaN(r)?isNaN(o)?u=NaN:(u=o,1!==s&&0!==s||(d=l)):(u=r,1!==c&&0!==c||(d=n));else{let t=o-r;o>r&&t>180?t-=360:o180&&(t+=360),u=r+i*t}const[p,f,m,_]=function([t,e,i,r]){return t=isNaN(t)?0:t*Dt,Vt([i,Math.cos(t)*e,Math.sin(t)*e,r])}([u,null!=d?d:Me(n,l,i),Me(s,c,i),Me(a,h,i)]);return new Ht(p,f,m,_,!1)}case"lab":{const[r,n,s,a]=Vt(ke(t.lab,e.lab,i));return new Ht(r,n,s,a,!1)}}},array:ke,padding:function(t,e,i){return new Jt(ke(t.values,e.values,i))},variableAnchorOffsetCollection:function(t,e,i){const r=t.values,n=e.values;if(r.length!==n.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;t"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);r={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(n=e.parse(n,2,ct),!n)return null;const a=[];let o=null;"interpolate-hcl"===i||"interpolate-lab"===i?o=dt:e.expectedType&&"value"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=i)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',n);const c=e.parse(r,l,o);if(!c)return null;o=o||c.type,a.push([i,c])}return Pt(o,ct)||Pt(o,dt)||Pt(o,gt)||Pt(o,xt)||Pt(o,vt(ct))?new ze(o,i,r,n,a):e.error(`Type ${bt(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,i=this.outputs;if(1===e.length)return i[0].evaluate(t);const r=this.input.evaluate(t);if(r<=e[0])return i[0].evaluate(t);const n=e.length;if(r>=e[n-1])return i[n-1].evaluate(t);const s=we(e,r),a=ze.interpolationFactor(this.interpolation,r,e[s],e[s+1]),o=i[s].evaluate(t),l=i[s+1].evaluate(t);switch(this.operator){case"interpolate":return Ce[this.type.kind](o,l,a);case"interpolate-hcl":return Ce.color(o,l,a,"hcl");case"interpolate-lab":return Ce.color(o,l,a,"lab")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ee(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}class De{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let i=null;const r=e.expectedType;r&&"value"!==r.kind&&(i=r);const n=[];for(const r of t.slice(1)){const t=e.parse(r,1+n.length,i,void 0,{typeAnnotation:"omit"});if(!t)return null;i=i||t.type,n.push(t)}if(!i)throw new Error("No output type");const s=r&&n.some((t=>Tt(r,t.type)));return new De(s?ft:i,n)}evaluate(t){let e,i=null,r=0;for(const n of this.args)if(r++,i=n.evaluate(t),i&&i instanceof te&&!i.available&&(e||(e=i.name),i=null,r===this.args.length&&(i=e)),null!==i)break;return i}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Le(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Re(t,e,i,r){return 0===r.compare(e,i)}function Be(t,e,i){const r="=="!==t&&"!="!==t;return class n{constructor(t,e,i){this.type=ut,this.lhs=t,this.rhs=e,this.collator=i,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const i=t[0];let s=e.parse(t[1],1,ft);if(!s)return null;if(!Le(i,s.type))return e.concat(1).error(`"${i}" comparisons are not supported for type '${bt(s.type)}'.`);let a=e.parse(t[2],2,ft);if(!a)return null;if(!Le(i,a.type))return e.concat(2).error(`"${i}" comparisons are not supported for type '${bt(a.type)}'.`);if(s.type.kind!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error(`Cannot compare types '${bt(s.type)}' and '${bt(a.type)}'.`);r&&("value"===s.type.kind&&"value"!==a.type.kind?s=new le(a.type,[s]):"value"!==s.type.kind&&"value"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==a.type.kind&&"value"!==s.type.kind&&"value"!==a.type.kind)return e.error("Cannot use collator to compare non-string types.");if(o=e.parse(t[3],3,mt),!o)return null}return new n(s,a,o)}evaluate(n){const s=this.lhs.evaluate(n),a=this.rhs.evaluate(n);if(r&&this.hasUntypedArgument){const e=re(s),i=re(a);if(e.kind!==i.kind||"string"!==e.kind&&"number"!==e.kind)throw new ae(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${i.kind}) instead.`)}if(this.collator&&!r&&this.hasUntypedArgument){const t=re(s),i=re(a);if("string"!==t.kind||"string"!==i.kind)return e(n,s,a)}return this.collator?i(n,s,a,this.collator.evaluate(n)):e(n,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const Fe=Be("==",(function(t,e,i){return e===i}),Re),Oe=Be("!=",(function(t,e,i){return e!==i}),(function(t,e,i,r){return!Re(0,e,i,r)})),Ve=Be("<",(function(t,e,i){return e",(function(t,e,i){return e>i}),(function(t,e,i,r){return r.compare(e,i)>0})),je=Be("<=",(function(t,e,i){return e<=i}),(function(t,e,i,r){return r.compare(e,i)<=0})),Ue=Be(">=",(function(t,e,i){return e>=i}),(function(t,e,i,r){return r.compare(e,i)>=0}));class $e{constructor(t,e,i){this.type=mt,this.locale=i,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const i=t[1];if("object"!=typeof i||Array.isArray(i))return e.error("Collator options argument must be an object.");const r=e.parse(void 0!==i["case-sensitive"]&&i["case-sensitive"],1,ut);if(!r)return null;const n=e.parse(void 0!==i["diacritic-sensitive"]&&i["diacritic-sensitive"],1,ut);if(!n)return null;let s=null;return i.locale&&(s=e.parse(i.locale,1,ht),!s)?null:new $e(r,n,s)}evaluate(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class qe{constructor(t,e,i,r,n){this.type=ht,this.number=t,this.locale=e,this.currency=i,this.minFractionDigits=r,this.maxFractionDigits=n}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,ct);if(!i)return null;const r=t[2];if("object"!=typeof r||Array.isArray(r))return e.error("NumberFormat options argument must be an object.");let n=null;if(r.locale&&(n=e.parse(r.locale,1,ht),!n))return null;let s=null;if(r.currency&&(s=e.parse(r.currency,1,ht),!s))return null;let a=null;if(r["min-fraction-digits"]&&(a=e.parse(r["min-fraction-digits"],1,ct),!a))return null;let o=null;return r["max-fraction-digits"]&&(o=e.parse(r["max-fraction-digits"],1,ct),!o)?null:new qe(i,n,s,a,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class Ze{constructor(t){this.type=_t,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const i=t[1];if(!Array.isArray(i)&&"object"==typeof i)return e.error("First argument must be an image or text section.");const r=[];let n=!1;for(let i=1;i<=t.length-1;++i){const s=t[i];if(n&&"object"==typeof s&&!Array.isArray(s)){n=!1;let t=null;if(s["font-scale"]&&(t=e.parse(s["font-scale"],1,ct),!t))return null;let i=null;if(s["text-font"]&&(i=e.parse(s["text-font"],1,vt(ht)),!i))return null;let a=null;if(s["text-color"]&&(a=e.parse(s["text-color"],1,dt),!a))return null;const o=r[r.length-1];o.scale=t,o.font=i,o.textColor=a}else{const s=e.parse(t[i],1,ft);if(!s)return null;const a=s.type.kind;if("string"!==a&&"value"!==a&&"null"!==a&&"resolvedImage"!==a)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");n=!0,r.push({content:s,scale:null,font:null,textColor:null})}}return new Ze(r)}evaluate(t){return new Kt(this.sections.map((e=>{const i=e.content.evaluate(t);return re(i)===yt?new Wt("",i,null,null,null):new Wt(ne(i),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class Ge{constructor(t){this.type=yt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const i=e.parse(t[1],1,ht);return i?new Ge(i):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),i=te.fromString(e);return i&&t.availableImages&&(i.available=t.availableImages.indexOf(e)>-1),i}eachChild(t){t(this.input)}outputDefined(){return!1}}class He{constructor(t){this.type=ct,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const i=e.parse(t[1],1);return i?"array"!==i.type.kind&&"string"!==i.type.kind&&"value"!==i.type.kind?e.error(`Expected argument of type string or array, but found ${bt(i.type)} instead.`):new He(i):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new ae(`Expected value to be of type string or array, but found ${bt(re(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const Xe=8192;function We(t,e){const i=(180+t[0])/360,r=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,n=Math.pow(2,e.z);return[Math.round(i*n*Xe),Math.round(r*n*Xe)]}function Ke(t,e){const i=Math.pow(2,e.z);return[(n=(t[0]/Xe+e.x)/i,360*n-180),(r=(t[1]/Xe+e.y)/i,360/Math.PI*Math.atan(Math.exp((180-360*r)*Math.PI/180))-90)];var r,n}function Je(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function Ye(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,i){const r=t[0]-e[0],n=t[1]-e[1],s=t[0]-i[0],a=t[1]-i[1];return r*a-s*n==0&&r*s<=0&&n*a<=0}function ti(t,e,i,r){return 0!=(n=[r[0]-i[0],r[1]-i[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-n[1]*s[0]&&!(!ai(t,e,i,r)||!ai(i,r,t,e));var n,s}function ei(t,e,i){for(const r of i)for(let i=0;i(n=t)[1]!=(a=o[e+1])[1]>n[1]&&n[0]<(a[0]-s[0])*(n[1]-s[1])/(a[1]-s[1])+s[0]&&(r=!r)}var n,s,a;return r}function ri(t,e){for(const i of e)if(ii(t,i))return!0;return!1}function ni(t,e){for(const i of t)if(!ii(i,e))return!1;for(let i=0;i0&&o<0||a<0&&o>0}function oi(t,e,i){const r=[];for(let n=0;ni[2]){const e=.5*r;let n=t[0]-i[0]>e?-r:i[0]-t[0]>e?r:0;0===n&&(n=t[0]-i[2]>e?-r:i[2]-t[0]>e?r:0),t[0]+=n}Je(e,t)}function hi(t,e,i,r){const n=Math.pow(2,r.z)*Xe,s=[r.x*Xe,r.y*Xe],a=[];for(const r of t)for(const t of r){const r=[t.x+s[0],t.y+s[1]];ci(r,e,i,n),a.push(r)}return a}function ui(t,e,i,r){const n=Math.pow(2,r.z)*Xe,s=[r.x*Xe,r.y*Xe],a=[];for(const i of t){const t=[];for(const r of i){const i=[r.x+s[0],r.y+s[1]];Je(e,i),t.push(i)}a.push(t)}if(e[2]-e[0]<=n/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const r of t)ci(r,e,i,n)}var o;return a}class di{constructor(t,e){this.type=ut,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const i of e.features){const{type:e,coordinates:r}=i.geometry;"Polygon"===e&&t.push(r),"MultiPolygon"===e&&t.push(...r)}if(t.length)return new di(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new di(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new di(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const i=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],n=t.canonicalID();if("Polygon"===e.type){const s=oi(e.coordinates,r,n),a=hi(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ii(t,s))return!1}if("MultiPolygon"===e.type){const s=li(e.coordinates,r,n),a=hi(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ri(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const i=[1/0,1/0,-1/0,-1/0],r=[1/0,1/0,-1/0,-1/0],n=t.canonicalID();if("Polygon"===e.type){const s=oi(e.coordinates,r,n),a=ui(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!ni(t,s))return!1}if("MultiPolygon"===e.type){const s=li(e.coordinates,r,n),a=ui(t.geometry(),i,r,n);if(!Ye(i,r))return!1;for(const t of a)if(!si(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let pi=class{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,s=e[n];if(i(r,s)>=0)break;e[t]=s,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=e[r],t=r}e[t]=n}};function fi(t,e,i,r,n){mi(t,e,i,r||t.length-1,n||gi)}function mi(t,e,i,r,n){for(;r>i;){if(r-i>600){var s=r-i+1,a=e-i+1,o=Math.log(s),l=.5*Math.exp(2*o/3),c=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);mi(t,e,Math.max(i,Math.floor(e-a*l/s+c)),Math.min(r,Math.floor(e+(s-a)*l/s+c)),n)}var h=t[e],u=i,d=r;for(_i(t,i,e),n(t[r],h)>0&&_i(t,i,r);u0;)d--}0===n(t[i],h)?_i(t,i,d):_i(t,++d,r),d<=e&&(i=d+1),e<=d&&(r=d-1)}}function _i(t,e,i){var r=t[e];t[e]=t[i],t[i]=r}function gi(t,e){return te?1:0}function yi(t,e){if(t.length<=1)return[t];const i=[];let r,n;for(const e of t){const t=vi(e);0!==t&&(e.area=Math.abs(t),void 0===n&&(n=t<0),n===t<0?(r&&i.push(r),r=[e]):r.push(e))}if(r&&i.push(r),e>1)for(let t=0;t1?(l=t[o+1][0],c=t[o+1][1]):d>0&&(l+=h/this.kx*d,c+=u/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,u=(e[1]-c)*this.ky;const p=h*h+u*u;p180;)t-=360;return t}}function Ii(t,e){return e[0]-t[0]}function Pi(t){return t[1]-t[0]+1}function Ai(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const i=Pi(t);if(e){if(2===i)return[t,null];const e=Math.floor(i/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===i)return[t,null];const r=Math.floor(i/2)-1;return[[t[0],t[0]+r],[t[0]+r+1,t[1]]]}function ki(t,e){if(!Ai(e,t.length))return[1/0,1/0,-1/0,-1/0];const i=[1/0,1/0,-1/0,-1/0];for(let r=e[0];r<=e[1];++r)Je(i,t[r]);return i}function Ci(t){const e=[1/0,1/0,-1/0,-1/0];for(const i of t)for(const t of i)Je(e,t);return e}function zi(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Ei(t,e,i){if(!zi(t)||!zi(e))return NaN;let r=0,n=0;return t[2]e[2]&&(r=t[0]-e[2]),t[1]>e[3]&&(n=t[1]-e[3]),t[3]=r)return r;if(Ye(n,s)){if(Vi(t,e))return 0}else if(Vi(e,t))return 0;let a=1/0;for(const r of t)for(let t=0,n=r.length,s=n-1;t0;){const n=a.pop();if(n[0]>=s)continue;const l=n[1],c=e?50:100;if(Pi(l)<=c){if(!Ai(l,t.length))return NaN;if(e){const e=Oi(t,l,i,r);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const n=Fi(t[e],i,r);if(s=Math.min(s,n),0===s)return 0}}else{const i=Mi(l,e);ji(a,s,r,t,o,i[0]),ji(a,s,r,t,o,i[1])}}return s}function qi(t,e,i,r,n,s=1/0){let a=Math.min(s,n.distance(t[0],i[0]));if(0===a)return a;const o=new pi([[0,[0,t.length-1],[0,i.length-1]]],Ii);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],c=s[2],h=e?50:100,u=r?50:100;if(Pi(l)<=h&&Pi(c)<=u){if(!Ai(l,t.length)&&Ai(c,i.length))return NaN;let s;if(e&&r)s=Ri(t,l,i,c,n),a=Math.min(a,s);else if(e&&!r){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(s=Di(i[t],e,n),a=Math.min(a,s),0===a)return a}else if(!e&&r){const e=i.slice(c[0],c[1]+1);for(let i=l[0];i<=l[1];++i)if(s=Di(t[i],e,n),a=Math.min(a,s),0===a)return a}else s=Bi(t,l,i,c,n),a=Math.min(a,s)}else{const s=Mi(l,e),h=Mi(c,r);Ui(o,a,n,t,i,s[0],h[0]),Ui(o,a,n,t,i,s[0],h[1]),Ui(o,a,n,t,i,s[1],h[0]),Ui(o,a,n,t,i,s[1],h[1])}}return a}function Zi(t){return"MultiPolygon"===t.type?t.coordinates.map((t=>({type:"Polygon",coordinates:t}))):"MultiLineString"===t.type?t.coordinates.map((t=>({type:"LineString",coordinates:t}))):"MultiPoint"===t.type?t.coordinates.map((t=>({type:"Point",coordinates:t}))):[t]}class Gi{constructor(t,e){this.type=ct,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Gi(e,e.features.map((t=>Zi(t.geometry))).flat());if("Feature"===e.type)return new Gi(e,Zi(e.geometry));if("type"in e&&"coordinates"in e)return new Gi(e,Zi(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const i=t.geometry(),r=i.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===i.length)return NaN;const n=new Si(r[0][1]);let s=1/0;for(const t of e){switch(t.type){case"Point":s=Math.min(s,qi(r,!1,[t.coordinates],!1,n,s));break;case"LineString":s=Math.min(s,qi(r,!1,t.coordinates,!0,n,s));break;case"Polygon":s=Math.min(s,$i(r,!1,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const i=t.geometry(),r=i.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===i.length)return NaN;const n=new Si(r[0][1]);let s=1/0;for(const t of e){switch(t.type){case"Point":s=Math.min(s,qi(r,!0,[t.coordinates],!1,n,s));break;case"LineString":s=Math.min(s,qi(r,!0,t.coordinates,!0,n,s));break;case"Polygon":s=Math.min(s,$i(r,!0,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const i=t.geometry();if(0===i.length||0===i[0].length)return NaN;const r=yi(i,0).map((e=>e.map((e=>e.map((e=>Ke([e.x,e.y],t.canonical))))))),n=new Si(r[0][0][0][1]);let s=1/0;for(const t of e)for(const e of r){switch(t.type){case"Point":s=Math.min(s,$i([t.coordinates],!1,e,n,s));break;case"LineString":s=Math.min(s,$i(t.coordinates,!0,e,n,s));break;case"Polygon":s=Math.min(s,Ni(e,t.coordinates,n,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const Hi={"==":Fe,"!=":Oe,">":Ne,"<":Ve,">=":Ue,"<=":je,array:le,at:_e,boolean:le,case:ve,coalesce:De,collator:$e,format:Ze,image:Ge,in:ge,"index-of":ye,interpolate:ze,"interpolate-hcl":ze,"interpolate-lab":ze,length:He,let:fe,literal:se,match:xe,number:le,"number-format":qe,object:le,slice:be,step:Te,string:le,"to-boolean":he,"to-color":he,"to-number":he,"to-string":he,var:me,within:di,distance:Gi};class Xi{constructor(t,e,i,r){this.name=t,this.type=e,this._evaluate=i,this.args=r}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const i=t[0],r=Xi.definitions[i];if(!r)return e.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0);const n=Array.isArray(r)?r[0]:r.type,s=Array.isArray(r)?[[r[1],r[2]]]:r.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[r,s]of a){o=new pe(e.registry,Qi,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(bt).join(", ")})`:`(${bt(e.type)}...)`;var e})).join(" | "),r=[];for(let i=1;i{i=e?i&&Qi(t):i&&t instanceof se})),!!i&&tr(t)&&ir(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function tr(t){if(t instanceof Xi){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof di)return!1;if(t instanceof Gi)return!1;let e=!0;return t.eachChild((t=>{e&&!tr(t)&&(e=!1)})),e}function er(t){if(t instanceof Xi&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!er(t)&&(e=!1)})),e}function ir(t,e){if(t instanceof Xi&&e.indexOf(t.name)>=0)return!1;let i=!0;return t.eachChild((t=>{i&&!ir(t,e)&&(i=!1)})),i}function rr(t){return{result:"success",value:t}}function nr(t){return{result:"error",value:t}}function sr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function ar(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function or(t){return!!t.expression&&t.expression.interpolated}function lr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function cr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function hr(t){return t}function ur(t,e){const i="color"===e.type,r=t.stops&&"object"==typeof t.stops[0][0],n=r||!(r||void 0!==t.property),s=t.type||(or(e)?"exponential":"interval");if(i||"padding"===e.type){const r=i?Ht.parse:Jt.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],r(t[1])]))),t.default=r(t.default?t.default:e.default)}if(t.colorSpace&&"rgb"!==(a=t.colorSpace)&&"hcl"!==a&&"lab"!==a)throw new Error(`Unknown color space: "${t.colorSpace}"`);var a;let o,l,c;if("exponential"===s)o=mr;else if("interval"===s)o=fr;else if("categorical"===s){o=pr,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];c=typeof t.stops[0][0]}else{if("identity"!==s)throw new Error(`Unknown function type "${s}"`);o=_r}if(r){const i={},r=[];for(let e=0;et[0])),evaluate:({zoom:i},r)=>mr({stops:n,base:t.base},e,i).evaluate(i,r)}}if(n){const i="exponential"===s?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:i,interpolationFactor:ze.interpolationFactor.bind(void 0,i),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:i})=>o(t,e,i,l,c)}}return{kind:"source",evaluate(i,r){const n=r&&r.properties?r.properties[t.property]:void 0;return void 0===n?dr(t.default,e.default):o(t,e,n,l,c)}}}function dr(t,e,i){return void 0!==t?t:void 0!==e?e:void 0!==i?i:void 0}function pr(t,e,i,r,n){return dr(typeof i===n?r[i]:void 0,t.default,e.default)}function fr(t,e,i){if("number"!==lr(i))return dr(t.default,e.default);const r=t.stops.length;if(1===r)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[r-1][0])return t.stops[r-1][1];const n=we(t.stops.map((t=>t[0])),i);return t.stops[n][1]}function mr(t,e,i){const r=void 0!==t.base?t.base:1;if("number"!==lr(i))return dr(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(i<=t.stops[0][0])return t.stops[0][1];if(i>=t.stops[n-1][0])return t.stops[n-1][1];const s=we(t.stops.map((t=>t[0])),i),a=function(t,e,i,r){const n=r-i,s=t-i;return 0===n?0:1===e?s/n:(Math.pow(e,s)-1)/(Math.pow(e,n)-1)}(i,r,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1],c=Ce[e.type]||hr;return"function"==typeof o.evaluate?{evaluate(...e){const i=o.evaluate.apply(void 0,e),r=l.evaluate.apply(void 0,e);if(void 0!==i&&void 0!==r)return c(i,r,a,t.colorSpace)}}:c(o,l,a,t.colorSpace)}function _r(t,e,i){switch(e.type){case"color":i=Ht.parse(i);break;case"formatted":i=Kt.fromString(i.toString());break;case"resolvedImage":i=te.fromString(i.toString());break;case"padding":i=Jt.parse(i);break;default:lr(i)===e.type||"enum"===e.type&&e.values[i]||(i=void 0)}return dr(i,t.default,e.default)}Xi.register(Hi,{error:[{kind:"error"},[ht],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ht,[ft],(t,[e])=>bt(re(e.evaluate(t)))],"to-rgba":[vt(ct,4),[dt],(t,[e])=>{const[i,r,n,s]=e.evaluate(t).rgb;return[255*i,255*r,255*n,s]}],rgb:[dt,[ct,ct,ct],Wi],rgba:[dt,[ct,ct,ct,ct],Wi],has:{type:ut,overloads:[[[ht],(t,[e])=>Ki(e.evaluate(t),t.properties())],[[ht,pt],(t,[e,i])=>Ki(e.evaluate(t),i.evaluate(t))]]},get:{type:ft,overloads:[[[ht],(t,[e])=>Ji(e.evaluate(t),t.properties())],[[ht,pt],(t,[e,i])=>Ji(e.evaluate(t),i.evaluate(t))]]},"feature-state":[ft,[ht],(t,[e])=>Ji(e.evaluate(t),t.featureState||{})],properties:[pt,[],t=>t.properties()],"geometry-type":[ht,[],t=>t.geometryType()],id:[ft,[],t=>t.id()],zoom:[ct,[],t=>t.globals.zoom],"heatmap-density":[ct,[],t=>t.globals.heatmapDensity||0],"line-progress":[ct,[],t=>t.globals.lineProgress||0],accumulated:[ft,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ct,Yi(ct),(t,e)=>{let i=0;for(const r of e)i+=r.evaluate(t);return i}],"*":[ct,Yi(ct),(t,e)=>{let i=1;for(const r of e)i*=r.evaluate(t);return i}],"-":{type:ct,overloads:[[[ct,ct],(t,[e,i])=>e.evaluate(t)-i.evaluate(t)],[[ct],(t,[e])=>-e.evaluate(t)]]},"/":[ct,[ct,ct],(t,[e,i])=>e.evaluate(t)/i.evaluate(t)],"%":[ct,[ct,ct],(t,[e,i])=>e.evaluate(t)%i.evaluate(t)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],"^":[ct,[ct,ct],(t,[e,i])=>Math.pow(e.evaluate(t),i.evaluate(t))],sqrt:[ct,[ct],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))],log2:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ct,[ct],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ct,[ct],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ct,[ct],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ct,[ct],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ct,[ct],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ct,[ct],(t,[e])=>Math.atan(e.evaluate(t))],min:[ct,Yi(ct),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ct,Yi(ct),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ct,[ct],(t,[e])=>Math.abs(e.evaluate(t))],round:[ct,[ct],(t,[e])=>{const i=e.evaluate(t);return i<0?-Math.round(-i):Math.round(i)}],floor:[ct,[ct],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ct,[ct],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[ut,[ht,ft],(t,[e,i])=>t.properties()[e.value]===i.value],"filter-id-==":[ut,[ft],(t,[e])=>t.id()===e.value],"filter-type-==":[ut,[ht],(t,[e])=>t.geometryType()===e.value],"filter-<":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r{const i=t.id(),r=e.value;return typeof i==typeof r&&i":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>n}],"filter-id->":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>r}],"filter-<=":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r<=n}],"filter-id-<=":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i<=r}],"filter->=":[ut,[ht,ft],(t,[e,i])=>{const r=t.properties()[e.value],n=i.value;return typeof r==typeof n&&r>=n}],"filter-id->=":[ut,[ft],(t,[e])=>{const i=t.id(),r=e.value;return typeof i==typeof r&&i>=r}],"filter-has":[ut,[ft],(t,[e])=>e.value in t.properties()],"filter-has-id":[ut,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[ut,[vt(ht)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[ut,[vt(ft)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[ut,[ht,vt(ft)],(t,[e,i])=>i.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[ut,[ht,vt(ft)],(t,[e,i])=>function(t,e,i,r){for(;i<=r;){const n=i+r>>1;if(e[n]===t)return!0;e[n]>t?r=n-1:i=n+1}return!1}(t.properties()[e.value],i.value,0,i.value.length-1)],all:{type:ut,overloads:[[[ut,ut],(t,[e,i])=>e.evaluate(t)&&i.evaluate(t)],[Yi(ut),(t,e)=>{for(const i of e)if(!i.evaluate(t))return!1;return!0}]]},any:{type:ut,overloads:[[[ut,ut],(t,[e,i])=>e.evaluate(t)||i.evaluate(t)],[Yi(ut),(t,e)=>{for(const i of e)if(i.evaluate(t))return!0;return!1}]]},"!":[ut,[ut],(t,[e])=>!e.evaluate(t)],"is-supported-script":[ut,[ht],(t,[e])=>{const i=t.globals&&t.globals.isSupportedScript;return!i||i(e.evaluate(t))}],upcase:[ht,[ht],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ht,[ht],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ht,Yi(ft),(t,e)=>e.map((e=>ne(e.evaluate(t)))).join("")],"resolved-locale":[ht,[mt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class gr{constructor(t,e){var i;this.expression=t,this._warningHistory={},this._evaluator=new de,this._defaultValue=e?"color"===(i=e).type&&cr(i.default)?new Ht(0,0,0,0):"color"===i.type?Ht.parse(i.default)||null:"padding"===i.type?Jt.parse(i.default)||null:"variableAnchorOffsetCollection"===i.type?Qt.parse(i.default)||null:void 0===i.default?null:i.default:null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=i,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,i,r,n,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=i||null,this._evaluator.canonical=r,this._evaluator.availableImages=n||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new ae(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function yr(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Hi}function xr(t,e){const i=new pe(Hi,Qi,[],e?function(t){const e={color:dt,string:ht,number:ct,enum:ht,boolean:ut,formatted:_t,padding:gt,resolvedImage:yt,variableAnchorOffsetCollection:xt};return"array"===t.type?vt(e[t.value]||ft,t.length):e[t.type]}(e):void 0),r=i.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return r?rr(new gr(r,e)):nr(i.errors)}class vr{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!er(e.expression)}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}}class br{constructor(t,e,i,r){this.kind=t,this.zoomStops=i,this._styleExpression=e,this.isStateDependent="camera"!==t&&!er(e.expression),this.interpolationType=r}evaluateWithoutErrorHandling(t,e,i,r,n,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,i,r,n,s)}evaluate(t,e,i,r,n,s){return this._styleExpression.evaluate(t,e,i,r,n,s)}interpolationFactor(t,e,i){return this.interpolationType?ze.interpolationFactor(this.interpolationType,t,e,i):0}}function wr(t,e){const i=xr(t,e);if("error"===i.result)return i;const r=i.value.expression,n=tr(r);if(!n&&!sr(e))return nr([new at("","data expressions not supported")]);const s=ir(r,["zoom"]);if(!s&&!ar(e))return nr([new at("","zoom expressions not supported")]);const a=Sr(r);return a||s?a instanceof at?nr([a]):a instanceof ze&&!or(e)?nr([new at("",'"interpolate" expressions cannot be used with this property')]):rr(a?new br(n?"camera":"composite",i.value,a.labels,a instanceof ze?a.interpolation:void 0):new vr(n?"constant":"source",i.value)):nr([new at("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Tr{constructor(t,e){this._parameters=t,this._specification=e,st(this,ur(this._parameters,this._specification))}static deserialize(t){return new Tr(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Sr(t){let e=null;if(t instanceof fe)e=Sr(t.result);else if(t instanceof De){for(const i of t.args)if(e=Sr(i),e)break}else(t instanceof Te||t instanceof ze)&&t.input instanceof Xi&&"zoom"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const i=Sr(t);i instanceof at?e=i:!e&&i?e=new at("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&i&&e!==i&&(e=new at("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function Ir(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!Ir(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Pr={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Ar(t){if(null==t)return{filter:()=>!0,needGeometry:!1};Ir(t)||(t=Cr(t));const e=xr(t,Pr);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,i,r)=>e.value.evaluate(t,i,{},r),needGeometry:kr(t)}}function Mr(t,e){return te?1:0}function kr(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?zr(t[1],t[2],e):"any"===e?(i=t.slice(1),["any"].concat(i.map(Cr))):"all"===e?["all"].concat(t.slice(1).map(Cr)):"none"===e?["all"].concat(t.slice(1).map(Cr).map(Lr)):"in"===e?Er(t[1],t.slice(2)):"!in"===e?Lr(Er(t[1],t.slice(2))):"has"===e?Dr(t[1]):"!has"!==e||Lr(Dr(t[1]));var i}function zr(t,e,i){switch(t){case"$type":return[`filter-type-${i}`,e];case"$id":return[`filter-id-${i}`,e];default:return[`filter-${i}`,t,e]}}function Er(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(Mr)]]:["filter-in-small",t,["literal",e]]}}function Dr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Lr(t){return["!",t]}function Rr(t){const e=typeof t;if("number"===e||"boolean"===e||"string"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e="[";for(const i of t)e+=`${Rr(i)},`;return`${e}]`}const i=Object.keys(t).sort();let r="{";for(let e=0;er.maximum?[new nt(e,i,`${i} is greater than the maximum value ${r.maximum}`)]:[]}function $r(t){const e=t.valueSpec,i=Or(t.value.type);let r,n,s,a={};const o="categorical"!==i&&void 0===t.value.property,l=!o,c="array"===lr(t.value.stops)&&"array"===lr(t.value.stops[0])&&"object"===lr(t.value.stops[0][0]),h=Nr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new nt(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const r=t.value;return e=e.concat(jr({key:t.key,value:r,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:u})),"array"===lr(r)&&0===r.length&&e.push(new nt(t.key,r,"array must have at least one stop")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&o&&h.push(new nt(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||h.push(new nt(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!or(t.valueSpec)&&h.push(new nt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!sr(t.valueSpec)?h.push(new nt(t.key,t.value,"property functions not supported")):o&&!ar(t.valueSpec)&&h.push(new nt(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||h.push(new nt(t.key,t.value,'"property" property is required')),h;function u(t){let i=[];const r=t.value,o=t.key;if("array"!==lr(r))return[new nt(o,r,`array expected, ${lr(r)} found`)];if(2!==r.length)return[new nt(o,r,`array length 2 expected, length ${r.length} found`)];if(c){if("object"!==lr(r[0]))return[new nt(o,r,`object expected, ${lr(r[0])} found`)];if(void 0===r[0].zoom)return[new nt(o,r,"object stop key must have zoom")];if(void 0===r[0].value)return[new nt(o,r,"object stop key must have value")];if(s&&s>Or(r[0].zoom))return[new nt(o,r[0].zoom,"stop zoom values must appear in ascending order")];Or(r[0].zoom)!==s&&(s=Or(r[0].zoom),n=void 0,a={}),i=i.concat(Nr({key:`${o}[0]`,value:r[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Ur,value:d}}))}else i=i.concat(d({key:`${o}[0]`,value:r[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},r));return yr(Vr(r[1]))?i.concat([new nt(`${o}[1]`,r[1],"expressions are not allowed in function stops.")]):i.concat(t.validateSpec({key:`${o}[1]`,value:r[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function d(t,s){const o=lr(t.value),l=Or(t.value),c=null!==t.value?t.value:s;if(r){if(o!==r)return[new nt(t.key,c,`${o} stop domain type must match previous stop domain type ${r}`)]}else r=o;if("number"!==o&&"string"!==o&&"boolean"!==o)return[new nt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==o&&"categorical"!==i){let r=`number expected, ${o} found`;return sr(e)&&void 0===i&&(r+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new nt(t.key,c,r)]}return"categorical"!==i||"number"!==o||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===o&&void 0!==n&&lnew nt(`${t.key}${e.key}`,t.value,e.message)));const i=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!i.outputDefined())return[new nt(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&&!er(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!er(i))return[new nt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!ir(i,["zoom","feature-state"]))return[new nt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!tr(i))return[new nt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Zr(t){const e=t.key,i=t.value,r=t.valueSpec,n=[];return Array.isArray(r.values)?-1===r.values.indexOf(Or(i))&&n.push(new nt(e,i,`expected one of [${r.values.join(", ")}], ${JSON.stringify(i)} found`)):-1===Object.keys(r.values).indexOf(Or(i))&&n.push(new nt(e,i,`expected one of [${Object.keys(r.values).join(", ")}], ${JSON.stringify(i)} found`)),n}function Gr(t){return Ir(Vr(t.value))?qr(st({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Hr(t)}function Hr(t){const e=t.value,i=t.key;if("array"!==lr(e))return[new nt(i,e,`array expected, ${lr(e)} found`)];const r=t.styleSpec;let n,s=[];if(e.length<1)return[new nt(i,e,"filter array must have at least 1 element")];switch(s=s.concat(Zr({key:`${i}[0]`,value:e[0],valueSpec:r.filter_operator,style:t.style,styleSpec:t.styleSpec})),Or(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Or(e[1])&&s.push(new nt(i,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&s.push(new nt(i,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(n=lr(e[1]),"string"!==n&&s.push(new nt(`${i}[1]`,e[1],`string expected, ${n} found`)));for(let a=2;a{t in i&&e.push(new nt(r,i[t],`"${t}" is prohibited for ref layers`))})),n.layers.forEach((e=>{Or(e.id)===o&&(t=e)})),t?t.ref?e.push(new nt(r,i.ref,"ref cannot reference another ref layer")):a=Or(t.type):e.push(new nt(r,i.ref,`ref layer "${o}" not found`))}else if("background"!==a)if(i.source){const t=n.sources&&n.sources[i.source],s=t&&Or(t.type);t?"vector"===s&&"raster"===a?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster source`)):"raster-dem"!==s&&"hillshade"===a?e.push(new nt(r,i.source,`layer "${i.id}" requires a raster-dem source`)):"raster"===s&&"raster"!==a?e.push(new nt(r,i.source,`layer "${i.id}" requires a vector source`)):"vector"!==s||i["source-layer"]?"raster-dem"===s&&"hillshade"!==a?e.push(new nt(r,i.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==a||!i.paint||!i.paint["line-gradient"]||"geojson"===s&&t.lineMetrics||e.push(new nt(r,i,`layer "${i.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new nt(r,i,`layer "${i.id}" must specify a "source-layer"`)):e.push(new nt(r,i.source,`source "${i.source}" not found`))}else e.push(new nt(r,i,'missing required property "source"'));return e=e.concat(Nr({key:r,value:i,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":()=>[],type:()=>t.validateSpec({key:`${r}.type`,value:i.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:i,objectKey:"type"}),filter:Gr,layout:t=>Nr({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>Kr(st({layerType:a},t))}}),paint:t=>Nr({layer:i,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*":t=>Wr(st({layerType:a},t))}})}})),e}function Yr(t){const e=t.value,i=t.key,r=lr(e);return"string"!==r?[new nt(i,e,`string expected, ${r} found`)]:[]}const Qr={promoteId:function({key:t,value:e}){if("string"===lr(e))return Yr({key:t,value:e});{const i=[];for(const r in e)i.push(...Yr({key:`${t}.${r}`,value:e[r]}));return i}}};function tn(t){const e=t.value,i=t.key,r=t.styleSpec,n=t.style,s=t.validateSpec;if(!e.type)return[new nt(i,e,'"type" is required')];const a=Or(e.type);let o;switch(a){case"vector":case"raster":return o=Nr({key:i,value:e,valueSpec:r[`source_${a.replace("-","_")}`],style:t.style,styleSpec:r,objectElementValidators:Qr,validateSpec:s}),o;case"raster-dem":return o=function(t){var e;const i=null!==(e=t.sourceName)&&void 0!==e?e:"",r=t.value,n=t.styleSpec,s=n.source_raster_dem,a=t.style;let o=[];const l=lr(r);if(void 0===r)return o;if("object"!==l)return o.push(new nt("source_raster_dem",r,`object expected, ${l} found`)),o;const c="custom"===Or(r.encoding),h=["redFactor","greenFactor","blueFactor","baseShift"],u=t.value.encoding?`"${t.value.encoding}"`:"Default";for(const e in r)!c&&h.includes(e)?o.push(new nt(e,r[e],`In "${i}": "${e}" is only valid when "encoding" is set to "custom". ${u} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:r[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:n})):o.push(new nt(e,r[e],`unknown property "${e}"`));return o}({sourceName:i,value:e,style:t.style,styleSpec:r,validateSpec:s}),o;case"geojson":if(o=Nr({key:i,value:e,valueSpec:r.source_geojson,style:n,styleSpec:r,validateSpec:s,objectElementValidators:Qr}),e.cluster)for(const t in e.clusterProperties){const[r,n]=e.clusterProperties[t],a="string"==typeof r?[r,["accumulated"],["get",t]]:r;o.push(...qr({key:`${i}.${t}.map`,value:n,validateSpec:s,expressionContext:"cluster-map"})),o.push(...qr({key:`${i}.${t}.reduce`,value:a,validateSpec:s,expressionContext:"cluster-reduce"}))}return o;case"video":return Nr({key:i,value:e,valueSpec:r.source_video,style:n,validateSpec:s,styleSpec:r});case"image":return Nr({key:i,value:e,valueSpec:r.source_image,style:n,validateSpec:s,styleSpec:r});case"canvas":return[new nt(i,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Zr({key:`${i}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:n,validateSpec:s,styleSpec:r})}}function en(t){const e=t.value,i=t.styleSpec,r=i.light,n=t.style;let s=[];const a=lr(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nt("light",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&r[o[1]]&&r[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:i.transition,validateSpec:t.validateSpec,style:n,styleSpec:i}):r[a]?t.validateSpec({key:a,value:e[a],valueSpec:r[a],validateSpec:t.validateSpec,style:n,styleSpec:i}):[new nt(a,e[a],`unknown property "${a}"`)])}return s}function rn(t){const e=t.value,i=t.styleSpec,r=i.sky,n=t.style,s=lr(e);if(void 0===e)return[];if("object"!==s)return[new nt("sky",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(r[s]?t.validateSpec({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a}function nn(t){const e=t.value,i=t.styleSpec,r=i.terrain,n=t.style;let s=[];const a=lr(e);if(void 0===e)return s;if("object"!==a)return s=s.concat([new nt("terrain",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(r[a]?t.validateSpec({key:a,value:e[a],valueSpec:r[a],validateSpec:t.validateSpec,style:n,styleSpec:i}):[new nt(a,e[a],`unknown property "${a}"`)]);return s}function sn(t){let e=[];const i=t.value,r=t.key;if(Array.isArray(i)){const n=[],s=[];for(const a in i)i[a].id&&n.includes(i[a].id)&&e.push(new nt(r,i,`all the sprites' ids must be unique, but ${i[a].id} is duplicated`)),n.push(i[a].id),i[a].url&&s.includes(i[a].url)&&e.push(new nt(r,i,`all the sprites' URLs must be unique, but ${i[a].url} is duplicated`)),s.push(i[a].url),e=e.concat(Nr({key:`${r}[${a}]`,value:i[a],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:t.validateSpec}));return e}return Yr({key:r,value:i})}const an={"*":()=>[],array:jr,boolean:function(t){const e=t.value,i=t.key,r=lr(e);return"boolean"!==r?[new nt(i,e,`boolean expected, ${r} found`)]:[]},number:Ur,color:function(t){const e=t.key,i=t.value,r=lr(i);return"string"!==r?[new nt(e,i,`color expected, ${r} found`)]:Ht.parse(String(i))?[]:[new nt(e,i,`color expected, "${i}" found`)]},constants:Fr,enum:Zr,filter:Gr,function:$r,layer:Jr,object:Nr,source:tn,light:en,sky:rn,terrain:nn,projection:function(t){const e=t.value,i=t.styleSpec,r=i.projection,n=t.style,s=lr(e);if(void 0===e)return[];if("object"!==s)return[new nt("projection",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(r[s]?t.validateSpec({key:s,value:e[s],valueSpec:r[s],style:n,styleSpec:i}):[new nt(s,e[s],`unknown property "${s}"`)]);return a},string:Yr,formatted:function(t){return 0===Yr(t).length?[]:qr(t)},resolvedImage:function(t){return 0===Yr(t).length?[]:qr(t)},padding:function(t){const e=t.key,i=t.value;if("array"===lr(i)){if(i.length<1||i.length>4)return[new nt(e,i,`padding requires 1 to 4 values; ${i.length} values found`)];const r={type:"number"};let n=[];for(let s=0;s[]}})),t.constants&&(i=i.concat(Fr({key:"constants",value:t.constants,style:t,styleSpec:e,validateSpec:on}))),un(i)}function hn(t){return function(e){return t({...e,validateSpec:on})}}function un(t){return[].concat(t).sort(((t,e)=>t.line-e.line))}function dn(t){return function(...e){return un(t.apply(this,e))}}cn.source=dn(hn(tn)),cn.sprite=dn(hn(sn)),cn.glyphs=dn(hn(ln)),cn.light=dn(hn(en)),cn.sky=dn(hn(rn)),cn.terrain=dn(hn(nn)),cn.layer=dn(hn(Jr)),cn.filter=dn(hn(Gr)),cn.paintProperty=dn(hn(Wr)),cn.layoutProperty=dn(hn(Kr));const pn=cn,fn=pn.light,mn=pn.sky,_n=pn.paintProperty,gn=pn.layoutProperty;function yn(t,e){let i=!1;if(e&&e.length)for(const r of e)t.fire(new q(new Error(r.message))),i=!0;return i}class xn{constructor(t,e,i){const r=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const n=new Int32Array(this.arrayBuffer);t=n[0],this.d=(e=n[1])+2*(i=n[2]);for(let t=0;t=c[l+0]&&r>=c[l+1])?(a[u]=!0,s.push(n[u])):a[u]=!1}}}}_forEachCell(t,e,i,r,n,s,a,o){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),h=this._convertToCellCoord(i),u=this._convertToCellCoord(r);for(let d=l;d<=h;d++)for(let l=c;l<=u;l++){const c=this.d*l+d;if((!o||o(this._convertFromCellCoord(d),this._convertFromCellCoord(l),this._convertFromCellCoord(d+1),this._convertFromCellCoord(l+1)))&&n.call(this,t,e,i,r,c,s,a,o))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let i=0;for(let t=0;t=0)continue;const s=t[r];n[r]=vn[i].shallow.indexOf(r)>=0?s:In(s,e)}t instanceof Error&&(n.message=t.message)}if(n.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==i&&(n.$name=i),n}function Pn(t){if(Sn(t))return t;if(Array.isArray(t))return t.map(Pn);if("object"!=typeof t)throw new Error("can't deserialize object of type "+typeof t);const e=Tn(t)||"Object";if(!vn[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:i}=vn[e];if(!i)throw new Error(`can't deserialize unregistered class ${e}`);if(i.deserialize)return i.deserialize(t);const r=Object.create(i.prototype);for(const i of Object.keys(t)){if("$name"===i)continue;const n=t[i];r[i]=vn[e].shallow.indexOf(i)>=0?n:Pn(n)}return r}class An{constructor(){this.first=!0}update(t,e){const i=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=i,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=i,!0):(this.lastFloorZoom>i?(this.lastIntegerZoom=i+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,"Hangul Jamo":t=>t>=4352&&t<=4607,Khmer:t=>t>=6016&&t<=6143,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Katakana:t=>t>=12448&&t<=12543,Kanbun:t=>t>=12688&&t<=12703,"CJK Strokes":t=>t>=12736&&t<=12783,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"Private Use Area":t=>t>=57344&&t<=63743,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function kn(t){for(const e of t)if(Rn(e.charCodeAt(0)))return!0;return!1}function Cn(t){for(const e of t)if(!Dn(e.charCodeAt(0)))return!1;return!0}function zn(t){const e=t.map((t=>{try{return new RegExp(`\\p{sc=${t}}`,"u").source}catch(t){return null}})).filter((t=>t));return new RegExp(e.join("|"),"u")}const En=zn(["Arab","Dupl","Mong","Ougr","Syrc"]);function Dn(t){return!En.test(String.fromCodePoint(t))}const Ln=zn(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function Rn(t){return!(746!==t&&747!==t&&(t<4352||!(Mn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||Mn["CJK Compatibility"](t)||Mn["CJK Strokes"](t)||!(!Mn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Mn["Enclosed CJK Letters and Months"](t)||Mn["Ideographic Description Characters"](t)||Mn.Kanbun(t)||Mn.Katakana(t)&&12540!==t||!(!Mn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Mn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Mn["Vertical Forms"](t)||Mn["Yijing Hexagram Symbols"](t)||/\p{sc=Cans}/u.test(String.fromCodePoint(t))||/\p{sc=Hang}/u.test(String.fromCodePoint(t))||Ln.test(String.fromCodePoint(t)))))}function Bn(t){return!(Rn(t)||function(t){return!!(Mn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Mn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Mn["Letterlike Symbols"](t)||Mn["Number Forms"](t)||Mn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Mn["Control Pictures"](t)&&9251!==t||Mn["Optical Character Recognition"](t)||Mn["Enclosed Alphanumerics"](t)||Mn["Geometric Shapes"](t)||Mn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Mn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Mn["CJK Symbols and Punctuation"](t)||Mn.Katakana(t)||Mn["Private Use Area"](t)||Mn["CJK Compatibility Forms"](t)||Mn["Small Form Variants"](t)||Mn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}const Fn=zn(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function On(t){return Fn.test(String.fromCodePoint(t))}function Vn(t,e){return!(!e&&On(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Mn.Khmer(t))}function Nn(t){for(const e of t)if(On(e.charCodeAt(0)))return!0;return!1}const jn=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Un{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new An,this.transition={})}isSupportedScript(t){return function(t,e){for(const i of t)if(!Vn(i.charCodeAt(0),e))return!1;return!0}(t,"loaded"===jn.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),i=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*i}:{fromScale:.5,toScale:1,t:1-(1-i)*e}}}class $n{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(cr(t))return new Tr(t,e);if(yr(t)){const i=wr(t,e);if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return i.value}{let i=t;return"color"===e.type&&"string"==typeof t?i=Ht.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)?"variableAnchorOffsetCollection"===e.type&&Array.isArray(t)&&(i=Qt.parse(t)):i=Jt.parse(t),{kind:"constant",evaluate:()=>i}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,i){return this.property.possiblyEvaluate(this,t,e,i)}}class qn{constructor(t){this.property=t,this.value=new $n(t,void 0)}transitioned(t,e){return new Gn(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new Gn(this.property,this.value,null,{},0)}}class Zn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return b(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new qn(this._values[t].property)),this._values[t].value=new $n(this._values[t].property,null===e?void 0:b(e))}getTransition(t){return b(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new qn(this._values[t].property)),this._values[t].transition=b(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i);const r=this.getTransition(e);void 0!==r&&(t[`${e}-transition`]=r)}return t}transitioned(t,e){const i=new Hn(this._properties);for(const r of Object.keys(this._values))i._values[r]=this._values[r].transitioned(t,e._values[r]);return i}untransitioned(){const t=new Hn(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Gn{constructor(t,e,i,r,n){this.property=t,this.value=e,this.begin=n+r.delay||0,this.end=this.begin+r.duration||0,t.specification.transition&&(r.delay||r.duration)&&(this.prior=i)}possiblyEvaluate(t,e,i){const r=t.now||0,n=this.value.possiblyEvaluate(t,e,i),s=this.prior;if(s){if(r>this.end)return this.prior=null,n;if(this.value.isDataDriven())return this.prior=null,n;if(r=1)return 1;const e=t*t,i=e*t;return 4*(t<.5?i:3*(t-e)+i-.75)}(a))}}return n}}class Hn{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,i){const r=new Kn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class Xn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return b(this._values[t].value)}setValue(t,e){this._values[t]=new $n(this._values[t].property,null===e?void 0:b(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const i=this.getValue(e);void 0!==i&&(t[e]=i)}return t}possiblyEvaluate(t,e,i){const r=new Kn(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].possiblyEvaluate(t,e,i);return r}}class Wn{constructor(t,e,i){this.property=t,this.value=e,this.parameters=i}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,i,r){return this.property.evaluate(this.value,this.parameters,t,e,i,r)}}class Kn{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class Jn{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,i){const r=Ce[this.specification.type];return r?r(t,e,i):t}}class Yn{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,i,r){return new Wn(this,"constant"===t.expression.kind||"camera"===t.expression.kind?{kind:"constant",value:t.expression.evaluate(e,null,{},i,r)}:t.expression,e)}interpolate(t,e,i){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Wn(this,{kind:"constant",value:void 0},t.parameters);const r=Ce[this.specification.type];if(r){const n=r(t.value.value,e.value.value,i);return new Wn(this,{kind:"constant",value:n},t.parameters)}return t}evaluate(t,e,i,r,n,s){return"constant"===t.kind?t.value:t.evaluate(e,i,r,n,s)}}class Qn extends Yn{possiblyEvaluate(t,e,i,r){if(void 0===t.value)return new Wn(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r),s="resolvedImage"===t.property.specification.type&&"string"!=typeof n?n.name:n,a=this._calculate(s,s,s,e);return new Wn(this,{kind:"constant",value:a},e)}if("camera"===t.expression.kind){const i=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Wn(this,{kind:"constant",value:i},e)}return new Wn(this,t.expression,e)}evaluate(t,e,i,r,n,s){if("source"===t.kind){const a=t.evaluate(e,i,r,n,s);return this._calculate(a,a,a,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},i,r),t.evaluate({zoom:Math.floor(e.zoom)},i,r),t.evaluate({zoom:Math.floor(e.zoom)+1},i,r),e):t.value}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class ts{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){if(void 0!==t.value){if("constant"===t.expression.kind){const n=t.expression.evaluate(e,null,{},i,r);return this._calculate(n,n,n,e)}return this._calculate(t.expression.evaluate(new Un(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Un(Math.floor(e.zoom),e)),t.expression.evaluate(new Un(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,i,r){return r.zoom>r.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:i,to:e}}interpolate(t){return t}}class es{constructor(t){this.specification=t}possiblyEvaluate(t,e,i,r){return!!t.expression.evaluate(e,null,{},i,r)}interpolate(){return!1}}class is{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const i=t[e];i.specification.overridable&&this.overridableProperties.push(e);const r=this.defaultPropertyValues[e]=new $n(i,void 0),n=this.defaultTransitionablePropertyValues[e]=new qn(i);this.defaultTransitioningPropertyValues[e]=n.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=r.possiblyEvaluate({})}}}bn("DataDrivenProperty",Yn),bn("DataConstantProperty",Jn),bn("CrossFadedDataDrivenProperty",Qn),bn("CrossFadedProperty",ts),bn("ColorRampProperty",es);const rs="-transition";class ns extends Z{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Xn(e.layout)),e.paint)){this._transitionablePaint=new Zn(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Kn(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,i={}){null!=e&&this._validate(gn,`layers.${this.id}.layout.${t}`,t,e,i)||("visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e)}getPaintProperty(t){return t.endsWith(rs)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,i={}){if(null!=e&&this._validate(_n,`layers.${this.id}.paint.${t}`,t,e,i))return!1;if(t.endsWith(rs))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const i=this._transitionablePaint._values[t],r="cross-faded-data-driven"===i.property.specification["property-type"],n=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const a=this._transitionablePaint._values[t].value;return a.isDataDriven()||n||r||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,i){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),v(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,i,r,n={}){return(!n||!1!==n.validate)&&yn(this,t.call(pn,{key:e,layerType:this.type,objectKey:i,value:r,styleSpec:G,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Wn&&sr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const ss={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class as{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class os{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function ls(t,e=1){let i=0,r=0;return{members:t.map((t=>{const n=ss[t.type].BYTES_PER_ELEMENT,s=i=cs(i,Math.max(e,n)),a=t.components||1;return r=Math.max(r,n),i+=n*a,{name:t.name,type:t.type,components:a,offset:s}})),size:cs(i,Math.max(r,e)),alignment:e}}function cs(t,e){return Math.ceil(t/e)*e}class hs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.int16[r+0]=e,this.int16[r+1]=i,t}}hs.prototype.bytesPerElement=4,bn("StructArrayLayout2i4",hs);class us extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.int16[n+0]=e,this.int16[n+1]=i,this.int16[n+2]=r,t}}us.prototype.bytesPerElement=6,bn("StructArrayLayout3i6",us);class ds extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=i,this.int16[s+2]=r,this.int16[s+3]=n,t}}ds.prototype.bytesPerElement=8,bn("StructArrayLayout4i8",ds);class ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,this.int16[o+4]=s,this.int16[o+5]=a,t}}ps.prototype.bytesPerElement=12,bn("StructArrayLayout2i4i12",ps);class fs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.uint8[l+4]=r,this.uint8[l+5]=n,this.uint8[l+6]=s,this.uint8[l+7]=a,t}}fs.prototype.bytesPerElement=8,bn("StructArrayLayout2i4ub8",fs);class ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.float32[r+0]=e,this.float32[r+1]=i,t}}ms.prototype.bytesPerElement=8,bn("StructArrayLayout2f8",ms);class _s extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l,c){const h=this.length;return this.resize(h+1),this.emplace(h,t,e,i,r,n,s,a,o,l,c)}emplace(t,e,i,r,n,s,a,o,l,c,h){const u=10*t;return this.uint16[u+0]=e,this.uint16[u+1]=i,this.uint16[u+2]=r,this.uint16[u+3]=n,this.uint16[u+4]=s,this.uint16[u+5]=a,this.uint16[u+6]=o,this.uint16[u+7]=l,this.uint16[u+8]=c,this.uint16[u+9]=h,t}}_s.prototype.bytesPerElement=20,bn("StructArrayLayout10ui20",_s);class gs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l,c,h,u){const d=this.length;return this.resize(d+1),this.emplace(d,t,e,i,r,n,s,a,o,l,c,h,u)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d){const p=12*t;return this.int16[p+0]=e,this.int16[p+1]=i,this.int16[p+2]=r,this.int16[p+3]=n,this.uint16[p+4]=s,this.uint16[p+5]=a,this.uint16[p+6]=o,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,t}}gs.prototype.bytesPerElement=24,bn("StructArrayLayout4i4ui4i24",gs);class ys extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.float32[n+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}ys.prototype.bytesPerElement=12,bn("StructArrayLayout3f12",ys);class xs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}xs.prototype.bytesPerElement=4,bn("StructArrayLayout1ul4",xs);class vs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,i,r,n,s,a,o,l)}emplace(t,e,i,r,n,s,a,o,l,c){const h=10*t,u=5*t;return this.int16[h+0]=e,this.int16[h+1]=i,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=s,this.int16[h+5]=a,this.uint32[u+3]=o,this.uint16[h+8]=l,this.uint16[h+9]=c,t}}vs.prototype.bytesPerElement=20,bn("StructArrayLayout6i1ul2ui20",vs);class bs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=i,this.int16[o+2]=r,this.int16[o+3]=n,this.int16[o+4]=s,this.int16[o+5]=a,t}}bs.prototype.bytesPerElement=12,bn("StructArrayLayout2i2i2i12",bs);class ws extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,i,r,n)}emplace(t,e,i,r,n,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=i,this.float32[a+2]=r,this.int16[o+6]=n,this.int16[o+7]=s,t}}ws.prototype.bytesPerElement=16,bn("StructArrayLayout2f1f2i16",ws);class Ts extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,i,r,n,s)}emplace(t,e,i,r,n,s,a){const o=16*t,l=4*t,c=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=i,this.float32[l+1]=r,this.float32[l+2]=n,this.int16[c+6]=s,this.int16[c+7]=a,t}}Ts.prototype.bytesPerElement=16,bn("StructArrayLayout2ub2f2i16",Ts);class Ss extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[n+0]=e,this.uint16[n+1]=i,this.uint16[n+2]=r,t}}Ss.prototype.bytesPerElement=6,bn("StructArrayLayout3ui6",Ss);class Is extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g){const y=24*t,x=12*t,v=48*t;return this.int16[y+0]=e,this.int16[y+1]=i,this.uint16[y+2]=r,this.uint16[y+3]=n,this.uint32[x+2]=s,this.uint32[x+3]=a,this.uint32[x+4]=o,this.uint16[y+10]=l,this.uint16[y+11]=c,this.uint16[y+12]=h,this.float32[x+7]=u,this.float32[x+8]=d,this.uint8[v+36]=p,this.uint8[v+37]=f,this.uint8[v+38]=m,this.uint32[x+10]=_,this.int16[y+22]=g,t}}Is.prototype.bytesPerElement=48,bn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Is);class Ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A){const M=this.length;return this.resize(M+1),this.emplace(M,t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A)}emplace(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,T,S,I,P,A,M){const k=32*t,C=16*t;return this.int16[k+0]=e,this.int16[k+1]=i,this.int16[k+2]=r,this.int16[k+3]=n,this.int16[k+4]=s,this.int16[k+5]=a,this.int16[k+6]=o,this.int16[k+7]=l,this.uint16[k+8]=c,this.uint16[k+9]=h,this.uint16[k+10]=u,this.uint16[k+11]=d,this.uint16[k+12]=p,this.uint16[k+13]=f,this.uint16[k+14]=m,this.uint16[k+15]=_,this.uint16[k+16]=g,this.uint16[k+17]=y,this.uint16[k+18]=x,this.uint16[k+19]=v,this.uint16[k+20]=b,this.uint16[k+21]=w,this.uint16[k+22]=T,this.uint32[C+12]=S,this.float32[C+13]=I,this.float32[C+14]=P,this.uint16[k+30]=A,this.uint16[k+31]=M,t}}Ps.prototype.bytesPerElement=64,bn("StructArrayLayout8i15ui1ul2f2ui64",Ps);class As extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}As.prototype.bytesPerElement=4,bn("StructArrayLayout1f4",As);class Ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=3*t;return this.uint16[6*t+0]=e,this.float32[n+1]=i,this.float32[n+2]=r,t}}Ms.prototype.bytesPerElement=12,bn("StructArrayLayout1ui2f12",Ms);class ks extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,i){const r=this.length;return this.resize(r+1),this.emplace(r,t,e,i)}emplace(t,e,i,r){const n=4*t;return this.uint32[2*t+0]=e,this.uint16[n+2]=i,this.uint16[n+3]=r,t}}ks.prototype.bytesPerElement=8,bn("StructArrayLayout1ul2ui8",ks);class Cs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const i=this.length;return this.resize(i+1),this.emplace(i,t,e)}emplace(t,e,i){const r=2*t;return this.uint16[r+0]=e,this.uint16[r+1]=i,t}}Cs.prototype.bytesPerElement=4,bn("StructArrayLayout2ui4",Cs);class zs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}zs.prototype.bytesPerElement=2,bn("StructArrayLayout1ui2",zs);class Es extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,i,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,i,r)}emplace(t,e,i,r,n){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=i,this.float32[s+2]=r,this.float32[s+3]=n,t}}Es.prototype.bytesPerElement=16,bn("StructArrayLayout4f16",Es);class Ds extends as{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new s(this.anchorPointX,this.anchorPointY)}}Ds.prototype.size=20;class Ls extends vs{get(t){return new Ds(this,t)}}bn("CollisionBoxArray",Ls);class Rs extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Rs.prototype.size=48;class Bs extends Is{get(t){return new Rs(this,t)}}bn("PlacedSymbolArray",Bs);class Fs extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Fs.prototype.size=64;class Os extends Ps{get(t){return new Fs(this,t)}}bn("SymbolInstanceArray",Os);class Vs extends As{getoffsetX(t){return this.float32[1*t+0]}}bn("GlyphOffsetArray",Vs);class Ns extends us{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}bn("SymbolLineVertexArray",Ns);class js extends as{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}js.prototype.size=12;class Us extends Ms{get(t){return new js(this,t)}}bn("TextAnchorOffsetArray",Us);class $s extends as{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]}}$s.prototype.size=8;class qs extends ks{get(t){return new $s(this,t)}}bn("FeatureIndexArray",qs);class Zs extends hs{}class Gs extends hs{}class Hs extends hs{}class Xs extends ps{}class Ws extends fs{}class Ks extends ms{}class Js extends _s{}class Ys extends gs{}class Qs extends ys{}class ta extends xs{}class ea extends bs{}class ia extends Ts{}class ra extends Ss{}class na extends Cs{}const sa=ls([{name:"a_pos",components:2,type:"Int16"}],4),{members:aa}=sa;class oa{constructor(t=[]){this.segments=t}prepareSegment(t,e,i,r){let n=this.segments[this.segments.length-1];return t>oa.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${oa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!n||n.vertexLength+t>oa.MAX_VERTEX_ARRAY_LENGTH||n.sortKey!==r)&&(n={vertexOffset:e.length,primitiveOffset:i.length,vertexLength:0,primitiveLength:0},void 0!==r&&(n.sortKey=r),this.segments.push(n)),n}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,i,r){return new oa([{vertexOffset:t,primitiveOffset:e,vertexLength:i,primitiveLength:r,vaos:{},sortKey:0}])}}function la(t,e){return 256*(t=m(Math.floor(t),0,255))+m(Math.floor(e),0,255)}oa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,bn("SegmentVector",oa);const ca=ls([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var ha={exports:{}},ua={exports:{}};ua.exports=function(t,e){var i,r,n,s,a,o,l,c;for(r=t.length-(i=3&t.length),n=e,a=3432918353,o=461845907,c=0;c>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|n>>>19))+((5*(n>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,i){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:n^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295}return n^=t.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 da=ua.exports,pa={exports:{}};pa.exports=function(t,e){for(var i,r=t.length,n=e^r,s=0;r>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<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,++s;switch(r){case 3:n^=(255&t.charCodeAt(s+2))<<16;case 2:n^=(255&t.charCodeAt(s+1))<<8;case 1:n=1540483477*(65535&(n^=255&t.charCodeAt(s)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0};var fa=da,ma=pa.exports;ha.exports=fa,ha.exports.murmur3=fa,ha.exports.murmur2=ma;var _a=i(ha.exports);class ga{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,i,r){this.ids.push(ya(t)),this.positions.push(e,i,r)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=ya(t);let i=0,r=this.ids.length-1;for(;i>1;this.ids[t]>=e?r=t:i=t+1}const n=[];for(;this.ids[i]===e;)n.push({index:this.positions[3*i],start:this.positions[3*i+1],end:this.positions[3*i+2]}),i++;return n}static serialize(t,e){const i=new Float64Array(t.ids),r=new Uint32Array(t.positions);return xa(i,r,0,i.length-1),e&&e.push(i.buffer,r.buffer),{ids:i,positions:r}}static deserialize(t){const e=new ga;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function ya(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:_a(String(t))}function xa(t,e,i,r){for(;i>1];let s=i-1,a=r+1;for(;;){do{s++}while(t[s]n);if(s>=a)break;va(t,s,a),va(e,3*s,3*a),va(e,3*s+1,3*a+1),va(e,3*s+2,3*a+2)}a-i`u_${t}`)),this.type=i}setUniform(t,e,i){t.set(i.constantOr(this.value))}getBinding(t,e,i){return"color"===this.type?new Sa(t,e):new wa(t,e)}}class Ma{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,i,r){const n="u_pattern_to"===r?this.patternTo:"u_pattern_from"===r?this.patternFrom:"u_pixel_ratio_to"===r?this.pixelRatioTo:"u_pixel_ratio_from"===r?this.pixelRatioFrom:null;n&&t.set(n)}getBinding(t,e,i){return"u_pattern"===i.substr(0,9)?new Ta(t,e):new wa(t,e)}}class ka{constructor(t,e,i,r){this.expression=t,this.type=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?2:1,offset:0}))),this.paintVertexArray=new r}populatePaintArray(t,e,i,r,n){const s=this.paintVertexArray.length,a=this.expression.evaluate(new Un(0),e,{},r,[],n);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:0},i,r);this._setPaintValue(t,e,n)}_setPaintValue(t,e,i){if("color"===this.type){const r=Pa(i);for(let i=t;i`u_${t}_t`)),this.type=i,this.useIntegerZoom=r,this.zoom=n,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===i?4:2,offset:0}))),this.paintVertexArray=new s}populatePaintArray(t,e,i,r,n){const s=this.expression.evaluate(new Un(this.zoom),e,{},r,[],n),a=this.expression.evaluate(new Un(this.zoom+1),e,{},r,[],n),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a)}updatePaintArray(t,e,i,r){const n=this.expression.evaluate({zoom:this.zoom},i,r),s=this.expression.evaluate({zoom:this.zoom+1},i,r);this._setPaintValue(t,e,n,s)}_setPaintValue(t,e,i,r){if("color"===this.type){const n=Pa(i),s=Pa(r);for(let i=t;i`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const i=this.binders[e];if(i instanceof ka||i instanceof Ca)for(let e=0;e!0){this.programConfigurations={};for(const r of t)this.programConfigurations[r.id]=new Ea(r,e,i);this.needsUpload=!1,this._featureMap=new ga,this._bufferOffset=0}populatePaintArrays(t,e,i,r,n,s){for(const i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,s);void 0!==e.id&&this._featureMap.add(e.id,i,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,i,r){for(const n of i)this.needsUpload=this.programConfigurations[n.id].updatePaintArrays(t,this._featureMap,e,n,r)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function La(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function Ra(t,e,i){const r={color:{source:ms,composite:Es},number:{source:As,composite:ms}},n=function(t){return{"line-pattern":{source:Js,composite:Js},"fill-pattern":{source:Js,composite:Js},"fill-extrusion-pattern":{source:Js,composite:Js}}[t]}(t);return n&&n[i]||r[e][i]}bn("ConstantBinder",Aa),bn("CrossFadedConstantBinder",Ma),bn("SourceExpressionBinder",ka),bn("CrossFadedCompositeBinder",za),bn("CompositeExpressionBinder",Ca),bn("ProgramConfiguration",Ea,{omit:["_buffers"]}),bn("ProgramConfigurationSet",Da);const Ba=8192,Fa=Math.pow(2,14)-1,Oa=-Fa-1;function Va(t){const e=Ba/t.extent,i=t.loadGeometry();for(let t=0;ti.x+1||si.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return i}function Na(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Va(t):[]}}function ja(t,e,i,r,n){t.emplaceBack(2*e+(r+1)/2,2*i+(n+1)/2)}class Ua{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Gs,this.indexArray=new ra,this.segments=new oa,this.programConfigurations=new Da(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){const r=this.layers[0],n=[];let s=null,a=!1;"circle"===r.type&&(s=r.layout.get("circle-sort-key"),a=!s.isConstant());for(const{feature:e,id:r,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Na(e,t);if(!this.layers[0]._featureFilter.filter(new Un(this.zoom),c,i))continue;const h=a?s.evaluate(c,{},i):void 0,u={id:r,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?c.geometry:Va(e),patterns:{},sortKey:h};n.push(u)}a&&n.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of n){const{geometry:n,index:s,sourceLayerIndex:a}=r,o=t[s].feature;this.addFeature(r,n,s,i),e.featureIndex.insert(o,n,s,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,aa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,i,r){for(const i of e)for(const e of i){const i=e.x,r=e.y;if(i<0||i>=Ba||r<0||r>=Ba)continue;const n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=n.vertexLength;ja(this.layoutVertexArray,i,r,-1,-1),ja(this.layoutVertexArray,i,r,1,-1),ja(this.layoutVertexArray,i,r,1,1),ja(this.layoutVertexArray,i,r,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),n.vertexLength+=4,n.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,{},r)}}function $a(t,e){for(let i=0;i1){if(Ha(t,e))return!0;for(let r=0;r1?i:i.sub(e)._mult(n)._add(e))}function Ja(t,e){let i,r,n,s=!1;for(let a=0;ae.y!=n.y>e.y&&e.x<(n.x-r.x)*(e.y-r.y)/(n.y-r.y)+r.x&&(s=!s)}return s}function Ya(t,e){let i=!1;for(let r=0,n=t.length-1;re.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(i=!i)}return i}function Qa(t,e,i){const r=i[0],n=i[2];if(t.xn.x&&e.x>n.x||t.yn.y&&e.y>n.y)return!1;const s=S(t,e,i[0]);return s!==S(t,e,i[1])||s!==S(t,e,i[2])||s!==S(t,e,i[3])}function to(t,e,i){const r=e.paint.get(t).value;return"constant"===r.kind?r.value:i.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function io(t,e,i,r,n){if(!e[0]&&!e[1])return t;const a=s.convert(e)._mult(n);"viewport"===i&&a._rotate(-r);const o=[];for(let e=0;emo(t,e)))}(l,o),d=h?c*a:c;for(const t of r)for(const e of t){const t=h?e:mo(e,o);let i=d;const r=po([],[e.x,e.y,0,1],o);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?i*=r[3]/s.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(i*=s.cameraToCenterDistance/r[3]),qa(u,t,i))return!0}return!1}}function mo(t,e){const i=po([],[t.x,t.y,0,1],e);return new s(i[0]/i[3],i[1]/i[3])}class _o extends Ua{}let go;bn("HeatmapBucket",_o,{omit:["layers"]});var yo={get paint(){return go=go||new is({"heatmap-radius":new Yn(G.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Yn(G.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Jn(G.paint_heatmap["heatmap-intensity"]),"heatmap-color":new es(G.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Jn(G.paint_heatmap["heatmap-opacity"])})}};function xo(t,{width:e,height:i},r,n){if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==e*i*r)throw new RangeError(`mismatched image size. expected: ${n.length} but got: ${e*i*r}`)}else n=new Uint8Array(e*i*r);return t.width=e,t.height=i,t.data=n,t}function vo(t,{width:e,height:i},r){if(e===t.width&&i===t.height)return;const n=xo({},{width:e,height:i},r);bo(t,n,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,i)},r),t.width=e,t.height=i,t.data=n.data}function bo(t,e,i,r,n,s){if(0===n.width||0===n.height)return e;if(n.width>t.width||n.height>t.height||i.x>t.width-n.width||i.y>t.height-n.height)throw new RangeError("out of range source coordinates for image copy");if(n.width>e.width||n.height>e.height||r.x>e.width-n.width||r.y>e.height-n.height)throw new RangeError("out of range destination coordinates for image copy");const a=t.data,o=e.data;if(a===o)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);n.data[i+r+0]=Math.floor(255*a.r/a.a),n.data[i+r+1]=Math.floor(255*a.g/a.a),n.data[i+r+2]=Math.floor(255*a.b/a.a),n.data[i+r+3]=Math.floor(255*a.a)};if(t.clips)for(let e=0,n=0;e80*i){o=1/0,l=1/0;let e=-1/0,r=-1/0;for(let s=i;se&&(e=i),n>r&&(r=n)}c=Math.max(e-o,r-l),c=0!==c?32767/c:0}return Lo(s,a,i,o,l,c,0),a}function Eo(t,e,i,r,n){let s;if(n===function(t,e,i,r){let n=0;for(let s=e,a=i-r;s0)for(let n=e;n=e;n-=r)s=Qo(n/r|0,t[n],t[n+1],s);return s&&Ho(s,s.next)&&(tl(s),s=s.next),s}function Do(t,e){if(!t)return t;e||(e=t);let i,r=t;do{if(i=!1,r.steiner||!Ho(r,r.next)&&0!==Go(r.prev,r,r.next))r=r.next;else{if(tl(r),r=e=r.prev,r===r.next)break;i=!0}}while(i||r!==e);return e}function Lo(t,e,i,r,n,s,a){if(!t)return;!a&&s&&function(t,e,i,r){let n=t;do{0===n.z&&(n.z=Uo(n.x,n.y,e,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){let e,i=1;do{let r,n=t;t=null;let s=null;for(e=0;n;){e++;let a=n,o=0;for(let t=0;t0||l>0&&a;)0!==o&&(0===l||!a||n.z<=a.z)?(r=n,n=n.nextZ,o--):(r=a,a=a.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=a}s.nextZ=null,i*=2}while(e>1)}(n)}(t,r,n,s);let o=t;for(;t.prev!==t.next;){const l=t.prev,c=t.next;if(s?Bo(t,r,n,s):Ro(t))e.push(l.i,t.i,c.i),tl(t),t=c.next,o=c.next;else if((t=c)===o){a?1===a?Lo(t=Fo(Do(t),e),e,i,r,n,s,2):2===a&&Oo(t,e,i,r,n,s):Lo(Do(t),e,i,r,n,s,1);break}}}function Ro(t){const e=t.prev,i=t,r=t.next;if(Go(e,i,r)>=0)return!1;const n=e.x,s=i.x,a=r.x,o=e.y,l=i.y,c=r.y,h=ns?n>a?n:a:s>a?s:a,p=o>l?o>c?o:c:l>c?l:c;let f=r.next;for(;f!==e;){if(f.x>=h&&f.x<=d&&f.y>=u&&f.y<=p&&qo(n,o,s,l,a,c,f.x,f.y)&&Go(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function Bo(t,e,i,r){const n=t.prev,s=t,a=t.next;if(Go(n,s,a)>=0)return!1;const o=n.x,l=s.x,c=a.x,h=n.y,u=s.y,d=a.y,p=ol?o>c?o:c:l>c?l:c,_=h>u?h>d?h:d:u>d?u:d,g=Uo(p,f,e,i,r),y=Uo(m,_,e,i,r);let x=t.prevZ,v=t.nextZ;for(;x&&x.z>=g&&v&&v.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=_&&x!==n&&x!==a&&qo(o,h,l,u,c,d,x.x,x.y)&&Go(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!==a&&qo(o,h,l,u,c,d,v.x,v.y)&&Go(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!==a&&qo(o,h,l,u,c,d,x.x,x.y)&&Go(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!==a&&qo(o,h,l,u,c,d,v.x,v.y)&&Go(v.prev,v,v.next)>=0)return!1;v=v.nextZ}return!0}function Fo(t,e){let i=t;do{const r=i.prev,n=i.next.next;!Ho(r,n)&&Xo(r,i,i.next,n)&&Jo(r,n)&&Jo(n,r)&&(e.push(r.i,i.i,n.i),tl(i),tl(i.next),i=t=n),i=i.next}while(i!==t);return Do(i)}function Oo(t,e,i,r,n,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Zo(a,t)){let o=Yo(a,t);return a=Do(a,a.next),o=Do(o,o.next),Lo(a,e,i,r,n,s,0),void Lo(o,e,i,r,n,s,0)}t=t.next}a=a.next}while(a!==t)}function Vo(t,e){return t.x-e.x}function No(t,e){const i=function(t,e){let i=e;const r=t.x,n=t.y;let s,a=-1/0;do{if(n<=i.y&&n>=i.next.y&&i.next.y!==i.y){const t=i.x+(n-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(t<=r&&t>a&&(a=t,s=i.x=i.x&&i.x>=l&&r!==i.x&&qo(ns.x||i.x===s.x&&jo(s,i)))&&(s=i,h=e)}i=i.next}while(i!==o);return s}(t,e);if(!i)return e;const r=Yo(i,t);return Do(r,r.next),Do(i,i.next)}function jo(t,e){return Go(t.prev,t,e.prev)<0&&Go(e.next,t,t.next)<0}function Uo(t,e,i,r,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-i)*n|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-r)*n|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function $o(t){let e=t,i=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(r-o)>=(i-a)*(e-o)&&(i-a)*(s-o)>=(n-a)*(r-o)}function Zo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&Xo(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&(Jo(t,e)&&Jo(e,t)&&function(t,e){let i=t,r=!1;const n=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&i.next.y!==i.y&&n<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next}while(i!==t);return r}(t,e)&&(Go(t.prev,t,e.prev)||Go(t,e.prev,e))||Ho(t,e)&&Go(t.prev,t,t.next)>0&&Go(e.prev,e,e.next)>0)}function Go(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Ho(t,e){return t.x===e.x&&t.y===e.y}function Xo(t,e,i,r){const n=Ko(Go(t,e,i)),s=Ko(Go(t,e,r)),a=Ko(Go(i,r,t)),o=Ko(Go(i,r,e));return n!==s&&a!==o||!(0!==n||!Wo(t,i,e))||!(0!==s||!Wo(t,r,e))||!(0!==a||!Wo(i,t,r))||!(0!==o||!Wo(i,e,r))}function Wo(t,e,i){return e.x<=Math.max(t.x,i.x)&&e.x>=Math.min(t.x,i.x)&&e.y<=Math.max(t.y,i.y)&&e.y>=Math.min(t.y,i.y)}function Ko(t){return t>0?1:t<0?-1:0}function Jo(t,e){return Go(t.prev,t,t.next)<0?Go(t,e,t.next)>=0&&Go(t,t.prev,e)>=0:Go(t,e,t.prev)<0||Go(t,t.next,e)<0}function Yo(t,e){const i=el(t.i,t.x,t.y),r=el(e.i,e.x,e.y),n=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=n,n.prev=i,r.next=i,i.prev=r,s.next=r,r.prev=s,r}function Qo(t,e,i,r){const n=el(t,e,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 tl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function el(t,e,i){return{i:t,x:e,y:i,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function il(t,e,i){const r=i.patternDependencies;let n=!1;for(const i of e){const e=i.paint.get(`${t}-pattern`);e.isConstant()||(n=!0);const s=e.constantOr(null);s&&(n=!0,r[s.to]=!0,r[s.from]=!0)}return n}function rl(t,e,i,r,n){const s=n.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if("constant"!==e.kind){let t=e.evaluate({zoom:r-1},i,{},n.availableImages),o=e.evaluate({zoom:r},i,{},n.availableImages),l=e.evaluate({zoom:r+1},i,{},n.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,i.patterns[a.id]={min:t,mid:o,max:l}}}return i}class nl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Hs,this.indexArray=new ra,this.indexArray2=new na,this.programConfigurations=new Da(t.layers,t.zoom),this.segments=new oa,this.segments2=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=il("fill",this.layers,e);const r=this.layers[0].layout.get("fill-sort-key"),n=!r.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,h=Na(a,t);if(!this.layers[0]._featureFilter.filter(new Un(this.zoom),h,i))continue;const u=n?r.evaluate(h,{},i,e.availableImages):void 0,d={id:o,properties:a.properties,type:a.type,sourceLayerIndex:c,index:l,geometry:t?h.geometry:Va(a),patterns:{},sortKey:u};s.push(d)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:a}=r;if(this.hasPattern){const t=rl("fill",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Co),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,i,r,n){for(const t of yi(e,500)){let e=0;for(const i of t)e+=i.length;const i=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),r=i.vertexLength,n=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(n.length/2);const i=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),r=i.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(r+e.length-1,r),n.push(e[0].x),n.push(e[0].y);for(let t=1;t>3}if(n--,1===r||2===r)s+=t.readSVarint(),a+=t.readSVarint(),1===r&&(e&&o.push(e),e=[]),e.push(new pl(s,a));else{if(7!==r)throw new Error("unknown command "+r);e&&e.push(e[0].clone())}}return e&&o.push(e),o},ml.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,i=1,r=0,n=0,s=0,a=1/0,o=-1/0,l=1/0,c=-1/0;t.pos>3}if(r--,1===i||2===i)(n+=t.readSVarint())o&&(o=n),(s+=t.readSVarint())c&&(c=s);else if(7!==i)throw new Error("unknown command "+i)}return[a,l,o,c]},ml.prototype.toGeoJSON=function(t,e,i){var r,n,s=this.extent*Math.pow(2,i),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),c=ml.types[this.type];function h(t){for(var e=0;e>3;e=1===r?t.readString():2===r?t.readFloat():3===r?t.readDouble():4===r?t.readVarint64():5===r?t.readVarint():6===r?t.readSVarint():7===r?t.readBoolean():null}return e}(i))}vl.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new yl(this._pbf,e,this.extent,this._keys,this._values)};var wl=xl;function Tl(t,e,i){if(3===t){var r=new wl(i,i.readVarint()+i.pos);r.length&&(e[r.name]=r)}}dl.VectorTile=function(t,e){this.layers=t.readFields(Tl,{},e)},dl.VectorTileFeature=fl,dl.VectorTileLayer=xl;const Sl=dl.VectorTileFeature.types,Il=Math.pow(2,13);function Pl(t,e,i,r,n,s,a,o){t.emplaceBack(e,i,2*Math.floor(r*Il)+a,n*Il*2,s*Il*2,Math.round(o))}class Al{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Xs,this.centroidVertexArray=new Zs,this.indexArray=new ra,this.programConfigurations=new Da(t.layers,t.zoom),this.segments=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.features=[],this.hasPattern=il("fill-extrusion",this.layers,e);for(const{feature:r,id:n,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Na(r,t);if(!this.layers[0]._featureFilter.filter(new Un(this.zoom),o,i))continue;const l={id:n,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Va(r),properties:r.properties,type:r.type,patterns:{}};this.hasPattern?this.features.push(rl("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,i,{}),e.featureIndex.insert(r,l.geometry,s,a,this.index,!0)}}addFeatures(t,e,i){for(const t of this.features){const{geometry:r}=t;this.addFeature(t,r,t.index,e,i)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ul),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,hl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,i,r,n){for(const i of yi(e,500)){const e={x:0,y:0,vertexCount:0};let r=0;for(const t of i)r+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of i){if(0===t.length)continue;if(kl(t))continue;let i=0;for(let r=0;r=1){const a=t[r-1];if(!Ml(s,a)){n.vertexLength+4>oa.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=s.sub(a)._perp()._unit(),r=a.dist(s);i+r>32768&&(i=0),Pl(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,i),Pl(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,i),e.x+=2*s.x,e.y+=2*s.y,e.vertexCount+=2,i+=r,Pl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,i),Pl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,i),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2;const o=n.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),n.vertexLength+=4,n.primitiveLength+=2}}}}if(n.vertexLength+r>oa.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(r,this.layoutVertexArray,this.indexArray)),"Polygon"!==Sl[t.type])continue;const s=[],a=[],o=n.vertexLength;for(const t of i)if(0!==t.length){t!==i[0]&&a.push(s.length/2);for(let i=0;iBa)||t.y===e.y&&(t.y<0||t.y>Ba)}function kl(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Ba))||t.every((t=>t.y<0))||t.every((t=>t.y>Ba))}let Cl;bn("FillExtrusionBucket",Al,{omit:["layers","features"]});var zl={get paint(){return Cl=Cl||new is({"fill-extrusion-opacity":new Jn(G["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Yn(G["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Jn(G["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Jn(G["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Qn(G["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Yn(G["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Yn(G["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Jn(G["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class El extends ns{constructor(t){super(t,zl)}createBucket(t){return new Al(t)}queryRadius(){return eo(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,i,r,n,a,o,l){const c=io(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),a.angle,o),h=this.paint.get("fill-extrusion-height").evaluate(e,i),u=this.paint.get("fill-extrusion-base").evaluate(e,i),d=function(t,e){const i=[];for(const r of t){const t=[r.x,r.y,0,1];po(t,t,e),i.push(new s(t[0]/t[3],t[1]/t[3]))}return i}(c,l),p=function(t,e,i,r){const n=[],a=[],o=r[8]*e,l=r[9]*e,c=r[10]*e,h=r[11]*e,u=r[8]*i,d=r[9]*i,p=r[10]*i,f=r[11]*i;for(const e of t){const t=[],i=[];for(const n of e){const e=n.x,a=n.y,m=r[0]*e+r[4]*a+r[12],_=r[1]*e+r[5]*a+r[13],g=r[2]*e+r[6]*a+r[14],y=r[3]*e+r[7]*a+r[15],x=g+c,v=y+h,b=m+u,w=_+d,T=g+p,S=y+f,I=new s((m+o)/v,(_+l)/v);I.z=x/v,t.push(I);const P=new s(b/S,w/S);P.z=T/S,i.push(P)}n.push(t),a.push(i)}return[n,a]}(r,u,h,l);return function(t,e,i){let r=1/0;Za(i,e)&&(r=Ll(i,e[0]));for(let n=0;nt.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Ws,this.layoutVertexArray2=new Ks,this.indexArray=new ra,this.programConfigurations=new Da(t.layers,t.zoom),this.segments=new oa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,i){this.hasPattern=il("line",this.layers,e);const r=this.layers[0].layout.get("line-sort-key"),n=!r.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Na(e,t);if(!this.layers[0]._featureFilter.filter(new Un(this.zoom),c,i))continue;const h=n?r.evaluate(c,{},i):void 0,u={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?c.geometry:Va(e),patterns:{},sortKey:h};s.push(u)}n&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const r of s){const{geometry:n,index:s,sourceLayerIndex:a}=r;if(this.hasPattern){const t=rl("line",this.layers,r,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(r,n,s,i,{});e.featureIndex.insert(t[s].feature,n,s,a,this.index)}}update(t,e,i){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,i)}addFeatures(t,e,i){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,i)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ol)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Bl),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,i,r,n){const s=this.layers[0].layout,a=s.get("line-join").evaluate(t,{}),o=s.get("line-cap"),l=s.get("line-miter-limit"),c=s.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const i of e)this.addLine(i,t,a,o,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,i,n,r)}addLine(t,e,i,r,n,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(b&&e>l){const t=u.dist(d);if(t>2*c){const e=u.sub(u.sub(d)._mult(c/t)._round());this.updateDistance(d,e),this.addCurrentVertex(e,f,0,0,h),d=e}}const T=d&&p;let S=T?i:a?"butt":r;if(T&&"round"===S&&(xn&&(S="bevel"),"bevel"===S&&(x>2&&(S="flipbevel"),x100)_=m.mult(-1);else{const t=x*f.add(m).mag()/f.sub(m).mag();_._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(u,_,0,0,h),this.addCurrentVertex(u,_.mult(-1),0,0,h)}else if("bevel"===S||"fakeround"===S){const t=-Math.sqrt(x*x-1),e=w?t:0,i=w?0:t;if(d&&this.addCurrentVertex(u,f,e,i,h),"fakeround"===S){const t=Math.round(180*v/Math.PI/20);for(let e=1;e2*c){const e=u.add(p.sub(u)._mult(c/t)._round());this.updateDistance(u,e),this.addCurrentVertex(e,m,0,0,h),u=e}}}}addCurrentVertex(t,e,i,r,n,s=!1){const a=e.y*r-e.x,o=-e.y-e.x*r;this.addHalfVertex(t,e.x+e.y*i,e.y-e.x*i,s,!1,i,n),this.addHalfVertex(t,a,o,s,!0,-r,n),this.distance>jl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,i,r,n,s))}addHalfVertex({x:t,y:e},i,r,n,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(jl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(n?1:0),(e<<1)+(s?1:0),Math.round(63*i)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),s?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}let $l,ql;bn("LineBucket",Ul,{omit:["layers","patternFeatures"]});var Zl={get paint(){return ql=ql||new is({"line-opacity":new Yn(G.paint_line["line-opacity"]),"line-color":new Yn(G.paint_line["line-color"]),"line-translate":new Jn(G.paint_line["line-translate"]),"line-translate-anchor":new Jn(G.paint_line["line-translate-anchor"]),"line-width":new Yn(G.paint_line["line-width"]),"line-gap-width":new Yn(G.paint_line["line-gap-width"]),"line-offset":new Yn(G.paint_line["line-offset"]),"line-blur":new Yn(G.paint_line["line-blur"]),"line-dasharray":new ts(G.paint_line["line-dasharray"]),"line-pattern":new Qn(G.paint_line["line-pattern"]),"line-gradient":new es(G.paint_line["line-gradient"])})},get layout(){return $l=$l||new is({"line-cap":new Jn(G.layout_line["line-cap"]),"line-join":new Yn(G.layout_line["line-join"]),"line-miter-limit":new Jn(G.layout_line["line-miter-limit"]),"line-round-limit":new Jn(G.layout_line["line-round-limit"]),"line-sort-key":new Yn(G.layout_line["line-sort-key"])})}};class Gl extends Yn{possiblyEvaluate(t,e){return e=new Un(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,i,r){return e=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,i,r)}}let Hl;class Xl extends ns{constructor(t){super(t,Zl),this.gradientVersion=0,Hl||(Hl=new Gl(Zl.paint.properties["line-width"].specification),Hl.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if("line-gradient"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Te,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values["line-floorwidth"]=Hl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new Ul(t)}queryRadius(t){const e=t,i=Wl(to("line-width",this,e),to("line-gap-width",this,e)),r=to("line-offset",this,e);return i/2+Math.abs(r)+eo(this.paint.get("line-translate"))}queryIntersectsFeature(t,e,i,r,n,a,o){const l=io(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),a.angle,o),c=o/2*Wl(this.paint.get("line-width").evaluate(e,i),this.paint.get("line-gap-width").evaluate(e,i)),h=this.paint.get("line-offset").evaluate(e,i);return h&&(r=function(t,e){const i=[];for(let r=0;r=3)for(let e=0;e0?e+2*t:t}const Kl=ls([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Jl=ls([{name:"a_projected_pos",components:3,type:"Float32"}],4);ls([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const Yl=ls([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);ls([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Ql=ls([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),tc=ls([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ec(t,e,i){return t.sections.forEach((t=>{t.text=function(t,e,i){const r=e.layout.get("text-transform").evaluate(i,{});return"uppercase"===r?t=t.toLocaleUpperCase():"lowercase"===r&&(t=t.toLocaleLowerCase()),jn.applyArabicShaping&&(t=jn.applyArabicShaping(t)),t}(t.text,e,i)})),t}ls([{name:"triangle",components:3,type:"Uint16"}]),ls([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ls([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),ls([{type:"Float32",name:"offsetX"}]),ls([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),ls([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const ic={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var rc=24,nc=oc,sc=function(t,e,i,r,n){var s,a,o=8*n-r-1,l=(1<>1,h=-7,u=i?n-1:0,d=i?-1:1,p=t[e+u];for(u+=d,s=p&(1<<-h)-1,p>>=-h,h+=o;h>0;s=256*s+t[e+u],u+=d,h-=8);for(a=s&(1<<-h)-1,s>>=-h,h+=r;h>0;a=256*a+t[e+u],u+=d,h-=8);if(0===s)s=1-c;else{if(s===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),s-=c}return(p?-1:1)*a*Math.pow(2,s-r)},ac=function(t,e,i,r,n,s){var a,o,l,c=8*s-n-1,h=(1<>1,d=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,f=r?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=h):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+u>=1?d/l:d*Math.pow(2,1-u))*l>=2&&(a++,l/=2),a+u>=h?(o=0,a=h):a+u>=1?(o=(e*l-1)*Math.pow(2,n),a+=u):(o=e*Math.pow(2,u-1)*Math.pow(2,n),a=0));n>=8;t[i+p]=255&o,p+=f,o/=256,n-=8);for(a=a<0;t[i+p]=255&a,p+=f,a/=256,c-=8);t[i+p-f]|=128*m};function oc(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}oc.Varint=0,oc.Fixed64=1,oc.Bytes=2,oc.Fixed32=5;var lc=4294967296,cc=1/lc,hc="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");function uc(t){return t.type===oc.Bytes?t.readVarint()+t.pos:t.pos+1}function dc(t,e,i){return i?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function pc(t,e,i){var r=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));i.realloc(r);for(var n=i.pos-1;n>=t;n--)i.buf[n+r]=i.buf[n]}function fc(t,e){for(var i=0;i>>8,t[i+2]=e>>>16,t[i+3]=e>>>24}function Ic(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}oc.prototype={destroy:function(){this.buf=null},readFields:function(t,e,i){for(i=i||this.length;this.pos>3,s=this.pos;this.type=7&r,t(n,e,this),this.pos===s&&this.skip(r)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Tc(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Ic(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Tc(this.buf,this.pos)+Tc(this.buf,this.pos+4)*lc;return this.pos+=8,t},readSFixed64:function(){var t=Tc(this.buf,this.pos)+Ic(this.buf,this.pos+4)*lc;return this.pos+=8,t},readFloat:function(){var t=sc(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=sc(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,i,r=this.buf;return e=127&(i=r[this.pos++]),i<128?e:(e|=(127&(i=r[this.pos++]))<<7,i<128?e:(e|=(127&(i=r[this.pos++]))<<14,i<128?e:(e|=(127&(i=r[this.pos++]))<<21,i<128?e:function(t,e,i){var r,n,s=i.buf;if(r=(112&(n=s[i.pos++]))>>4,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<3,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<10,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<17,n<128)return dc(t,r,e);if(r|=(127&(n=s[i.pos++]))<<24,n<128)return dc(t,r,e);if(r|=(1&(n=s[i.pos++]))<<31,n<128)return dc(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(i=r[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&hc?function(t,e,i){return hc.decode(t.subarray(e,i))}(this.buf,e,t):function(t,e,i){for(var r="",n=e;n239?4:l>223?3:l>191?2:1;if(n+h>i)break;1===h?l<128&&(c=l):2===h?128==(192&(s=t[n+1]))&&(c=(31&l)<<6|63&s)<=127&&(c=null):3===h?(a=t[n+2],128==(192&(s=t[n+1]))&&128==(192&a)&&((c=(15&l)<<12|(63&s)<<6|63&a)<=2047||c>=55296&&c<=57343)&&(c=null)):4===h&&(a=t[n+2],o=t[n+3],128==(192&(s=t[n+1]))&&128==(192&a)&&128==(192&o)&&((c=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=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,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==oc.Bytes)return t.push(this.readVarint(e));var i=uc(this);for(t=t||[];this.pos127;);else if(e===oc.Bytes)this.pos=this.readVarint()+this.pos;else if(e===oc.Fixed32)this.pos+=4;else{if(e!==oc.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var i,r;if(t>=0?(i=t%4294967296|0,r=t/4294967296|0):(r=~(-t/4294967296),4294967295^(i=~(-t%4294967296))?i=i+1|0:(i=0,r=r+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,i){i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,t>>>=7,i.buf[i.pos++]=127&t|128,i.buf[i.pos]=127&(t>>>=7)}(i,0,e),function(t,e){var i=(7&t)<<4;e.buf[e.pos++]|=i|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(r,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,i){for(var r,n,s=0;s55295&&r<57344){if(!n){r>56319||s+1===e.length?(t[i++]=239,t[i++]=191,t[i++]=189):n=r;continue}if(r<56320){t[i++]=239,t[i++]=191,t[i++]=189,n=r;continue}r=n-55296<<10|r-56320|65536,n=null}else n&&(t[i++]=239,t[i++]=191,t[i++]=189,n=null);r<128?t[i++]=r:(r<2048?t[i++]=r>>6|192:(r<65536?t[i++]=r>>12|224:(t[i++]=r>>18|240,t[i++]=r>>12&63|128),t[i++]=r>>6&63|128),t[i++]=63&r|128)}return i}(this.buf,t,this.pos);var i=this.pos-e;i>=128&&pc(e,i,this),this.pos=e-1,this.writeVarint(i),this.pos+=i},writeFloat:function(t){this.realloc(4),ac(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),ac(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var i=0;i=128&&pc(i,r,this),this.pos=i-1,this.writeVarint(r),this.pos+=r},writeMessage:function(t,e,i){this.writeTag(t,oc.Bytes),this.writeRawMessage(e,i)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,fc,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,mc,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,yc,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,_c,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,gc,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,xc,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,vc,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,bc,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,wc,e)},writeBytesField:function(t,e){this.writeTag(t,oc.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,oc.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,oc.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,oc.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,oc.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,oc.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,oc.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,oc.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,oc.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,oc.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Pc=i(nc);const Ac=3;function Mc(t,e,i){1===t&&i.readMessage(kc,e)}function kc(t,e,i){if(3===t){const{id:t,bitmap:r,width:n,height:s,left:a,top:o,advance:l}=i.readMessage(Cc,{});e.push({id:t,bitmap:new wo({width:n+2*Ac,height:s+2*Ac},r),metrics:{width:n,height:s,left:a,top:o,advance:l}})}}function Cc(t,e,i){1===t?e.id=i.readVarint():2===t?e.bitmap=i.readBytes():3===t?e.width=i.readVarint():4===t?e.height=i.readVarint():5===t?e.left=i.readSVarint():6===t?e.top=i.readSVarint():7===t&&(e.advance=i.readVarint())}const zc=Ac;function Ec(t){let e=0,i=0;for(const r of t)e+=r.w*r.h,i=Math.max(i,r.w);t.sort(((t,e)=>e.h-t.h));const r=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),i),h:1/0}];let n=0,s=0;for(const e of t)for(let t=r.length-1;t>=0;t--){const i=r[t];if(!(e.w>i.w||e.h>i.h)){if(e.x=i.x,e.y=i.y,s=Math.max(s,e.y+e.h),n=Math.max(n,e.x+e.w),e.w===i.w&&e.h===i.h){const e=r.pop();t=0&&i>=t&&jc[this.text.charCodeAt(i)];i--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const i=new Vc;return i.text=this.text.substring(t,e),i.sectionIndex=this.sectionIndex.slice(t,e),i.sections=this.sections,i}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Oc.forText(t.scale,t.fontStack||e));const i=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Nc(e,i,r,n,s,a,o,l,c,h,u,d,p,f,m){const _=Vc.fromFeature(e,s);let g;d===t.ah.vertical&&_.verticalizePunctuation();const{processBidirectionalText:y,processStyledBidirectionalText:x}=jn;if(y&&1===_.sections.length){g=[];const t=y(_.toString(),Wc(_,h,a,i,n,f));for(const e of t){const t=new Vc;t.text=e,t.sections=_.sections;for(let i=0;i0&&r>w&&(w=r)}else{const t=r[m.fontStack],e=t&&t[g];if(e&&e.rect)T=e.rect,v=e.metrics;else{const t=i[m.fontStack],e=t&&t[g];if(!e)continue;v=e.metrics}y=(s-m.scale)*rc}P?(e.verticalizable=!0,b.push({glyph:g,imageName:S,x:p,y:f+y,vertical:P,scale:m.scale,fontStack:m.fontStack,sectionIndex:_,metrics:v,rect:T}),p+=I*m.scale+h):(b.push({glyph:g,imageName:S,x:p,y:f+y,vertical:P,scale:m.scale,fontStack:m.fontStack,sectionIndex:_,metrics:v,rect:T}),p+=v.advance*m.scale+h)}0!==b.length&&(m=Math.max(p-h,m),Jc(b,0,b.length-1,g,w)),p=0;const T=a*s+w;v.lineOffset=Math.max(w,l),f+=T,_=Math.max(T,_),++y}var x;const v=f-Fc,{horizontalAlign:b,verticalAlign:w}=Kc(o);(function(t,e,i,r,n,s,a,o,l){const c=(e-i)*n;let h=0;h=s!==a?-o*r-Fc:(-r*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=h})(e.positionedLines,g,b,w,m,_,a,v,s.length),e.top+=-w*v,e.bottom=e.top+v,e.left+=-b*m,e.right=e.left+m}(b,i,r,n,g,o,l,c,d,h,p,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(v)&&b}const jc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uc={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},$c={40:!0};function qc(t,e,i,r,n,s){if(e.imageName){const t=r[e.imageName];return t?t.displaySize[0]*e.scale*rc/s+n:0}{const r=i[e.fontStack],s=r&&r[t];return s?s.metrics.advance*e.scale+n:0}}function Zc(t,e,i,r){const n=Math.pow(t-e,2);return r?t=0;let c=0;for(let i=0;ic){const t=Math.ceil(s/c);n*=t/a,a=t}return{x1:r,y1:n,x2:r+s,y2:n+a}}function th(t,e,i,r,n,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e]}const l=e.left*s,c=e.right*s;let h,u,d,p;"width"===i||"both"===i?(p=n[0]+l-r[3],u=n[0]+c+r[1]):(p=n[0]+(l+c-a.displaySize[0])/2,u=p+a.displaySize[0]);const f=e.top*s,m=e.bottom*s;return"height"===i||"both"===i?(h=n[1]+f-r[0],d=n[1]+m+r[2]):(h=n[1]+(f+m-a.displaySize[1])/2,d=h+a.displaySize[1]),{image:a,top:h,right:u,bottom:d,left:p,collisionPadding:o}}const eh=255,ih=128,rh=eh*ih;function nh(t,e){const{expression:i}=e;if("constant"===i.kind)return{kind:"constant",layoutSize:i.evaluate(new Un(t+1))};if("source"===i.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:r}=i;let n=0;for(;nt.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=lo([]),this.placementViewportMatrix=lo([]);const i=this.layers[0]._unevaluatedLayout._values;this.textSizeData=nh(this.zoom,i["text-size"]),this.iconSizeData=nh(this.zoom,i["icon-size"]);const r=this.layers[0].layout,n=r.get("symbol-sort-key"),s=r.get("symbol-z-order");this.canOverlap="never"!==sh(r,"text-overlap","text-allow-overlap")||"never"!==sh(r,"icon-overlap","icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==s&&!n.isConstant(),this.sortFeaturesByY=("viewport-y"===s||"auto"===s&&!this.sortFeaturesByKey)&&this.canOverlap,"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((e=>t.ah[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new uh(new Da(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new uh(new Da(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Vs,this.lineVertexArray=new Ns,this.symbolInstances=new Os,this.textAnchorOffsets=new Us}calculateGlyphDependencies(t,e,i,r,n){for(let s=0;s0)&&("constant"!==a.value.kind||a.value.value.length>0),h="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,u=s.get("symbol-sort-key");if(this.features=[],!c&&!h)return;const d=i.iconDependencies,p=i.glyphDependencies,f=i.availableImages,m=new Un(this.zoom);for(const{feature:i,id:o,index:l,sourceLayerIndex:_}of e){const e=n._featureFilter.needGeometry,g=Na(i,e);if(!n._featureFilter.filter(m,g,r))continue;let y,x;if(e||(g.geometry=Va(i)),c){const t=n.getValueAndResolveTokens("text-field",g,r,f),e=Kt.factory(t),i=this.hasRTLText=this.hasRTLText||hh(e);(!i||"unavailable"===jn.getRTLTextPluginStatus()||i&&jn.isParsed())&&(y=ec(e,n,g))}if(h){const t=n.getValueAndResolveTokens("icon-image",g,r,f);x=t instanceof te?t:te.fromString(t)}if(!y&&!x)continue;const v=this.sortFeaturesByKey?u.evaluate(g,{},r):void 0;if(this.features.push({id:o,text:y,icon:x,index:l,sourceLayerIndex:_,geometry:g.geometry,properties:i.properties,type:ah[i.type],sortKey:v}),x&&(d[x.name]=!0),y){const e=a.evaluate(g,{},r).join(","),i="viewport"!==s.get("text-rotation-alignment")&&"point"!==s.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ah.vertical)>=0;for(const t of y.sections)if(t.image)d[t.image.name]=!0;else{const r=kn(y.toString()),n=t.fontStack||e,s=p[n]=p[n]||{};this.calculateGlyphDependencies(t.text,s,i,this.allowVerticalPlacement,r)}}}"line"===s.get("symbol-placement")&&(this.features=function(t){const e={},i={},r=[];let n=0;function s(e){r.push(t[e]),n++}function a(t,e,n){const s=i[t];return delete i[t],i[e]=s,r[s].geometry[0].pop(),r[s].geometry[0]=r[s].geometry[0].concat(n[0]),s}function o(t,i,n){const s=e[i];return delete e[i],e[t]=s,r[s].geometry[0].shift(),r[s].geometry[0]=n[0].concat(r[s].geometry[0]),s}function l(t,e,i){const r=i?e[0][e[0].length-1]:e[0][0];return`${t}:${r.x}:${r.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,i){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,i),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,i))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const i=this.lineVertexArray.length;if(void 0!==t.segment){let i=t.dist(e[t.segment+1]),r=t.dist(e[t.segment]);const n={};for(let r=t.segment+1;r=0;i--)n[i]={x:e[i].x,y:e[i].y,tileUnitDistanceFromAnchor:r},i>0&&(r+=e[i-1].dist(e[i]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const i=t.placedSymbolArray.get(e),r=i.vertexStartIndex+4*i.numGlyphs;for(let e=i.vertexStartIndex;er[t]-r[e]||n[e]-n[t])),s}addToSortKeyRanges(t,e){const i=this.sortKeyRanges[this.sortKeyRanges.length-1];i&&i.sortKey===e?i.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,i)=>{t>=0&&i.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let fh,mh;bn("SymbolBucket",ph,{omit:["layers","collisionBoxArray","features","compareText"]}),ph.MAX_GLYPHS=65535,ph.addDynamicAttributes=ch;var _h={get paint(){return mh=mh||new is({"icon-opacity":new Yn(G.paint_symbol["icon-opacity"]),"icon-color":new Yn(G.paint_symbol["icon-color"]),"icon-halo-color":new Yn(G.paint_symbol["icon-halo-color"]),"icon-halo-width":new Yn(G.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Yn(G.paint_symbol["icon-halo-blur"]),"icon-translate":new Jn(G.paint_symbol["icon-translate"]),"icon-translate-anchor":new Jn(G.paint_symbol["icon-translate-anchor"]),"text-opacity":new Yn(G.paint_symbol["text-opacity"]),"text-color":new Yn(G.paint_symbol["text-color"],{runtimeType:dt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new Yn(G.paint_symbol["text-halo-color"]),"text-halo-width":new Yn(G.paint_symbol["text-halo-width"]),"text-halo-blur":new Yn(G.paint_symbol["text-halo-blur"]),"text-translate":new Jn(G.paint_symbol["text-translate"]),"text-translate-anchor":new Jn(G.paint_symbol["text-translate-anchor"])})},get layout(){return fh=fh||new is({"symbol-placement":new Jn(G.layout_symbol["symbol-placement"]),"symbol-spacing":new Jn(G.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Jn(G.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Yn(G.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Jn(G.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Jn(G.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Jn(G.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Jn(G.layout_symbol["icon-ignore-placement"]),"icon-optional":new Jn(G.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Jn(G.layout_symbol["icon-rotation-alignment"]),"icon-size":new Yn(G.layout_symbol["icon-size"]),"icon-text-fit":new Jn(G.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Jn(G.layout_symbol["icon-text-fit-padding"]),"icon-image":new Yn(G.layout_symbol["icon-image"]),"icon-rotate":new Yn(G.layout_symbol["icon-rotate"]),"icon-padding":new Yn(G.layout_symbol["icon-padding"]),"icon-keep-upright":new Jn(G.layout_symbol["icon-keep-upright"]),"icon-offset":new Yn(G.layout_symbol["icon-offset"]),"icon-anchor":new Yn(G.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Jn(G.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Jn(G.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Jn(G.layout_symbol["text-rotation-alignment"]),"text-field":new Yn(G.layout_symbol["text-field"]),"text-font":new Yn(G.layout_symbol["text-font"]),"text-size":new Yn(G.layout_symbol["text-size"]),"text-max-width":new Yn(G.layout_symbol["text-max-width"]),"text-line-height":new Jn(G.layout_symbol["text-line-height"]),"text-letter-spacing":new Yn(G.layout_symbol["text-letter-spacing"]),"text-justify":new Yn(G.layout_symbol["text-justify"]),"text-radial-offset":new Yn(G.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Jn(G.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Yn(G.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Yn(G.layout_symbol["text-anchor"]),"text-max-angle":new Jn(G.layout_symbol["text-max-angle"]),"text-writing-mode":new Jn(G.layout_symbol["text-writing-mode"]),"text-rotate":new Yn(G.layout_symbol["text-rotate"]),"text-padding":new Jn(G.layout_symbol["text-padding"]),"text-keep-upright":new Jn(G.layout_symbol["text-keep-upright"]),"text-transform":new Yn(G.layout_symbol["text-transform"]),"text-offset":new Yn(G.layout_symbol["text-offset"]),"text-allow-overlap":new Jn(G.layout_symbol["text-allow-overlap"]),"text-overlap":new Jn(G.layout_symbol["text-overlap"]),"text-ignore-placement":new Jn(G.layout_symbol["text-ignore-placement"]),"text-optional":new Jn(G.layout_symbol["text-optional"])})}};class gh{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}bn("FormatSectionOverride",gh,{omit:["defaultValue"]});class yh extends ns{constructor(t){super(t,_h)}recalculate(t,e){if(super.recalculate(t,e),"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"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const i of t)e.indexOf(i)<0&&e.push(i);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,i,r){const n=this.layout.get(t).evaluate(e,{},i,r),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||yr(s.value)||!n?n:function(t,e){return e.replace(/{([^{}]+)}/g,((e,i)=>t&&i in t?String(t[i]):""))}(e.properties,n)}createBucket(t){return new ph(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of _h.paint.overridableProperties){if(!yh.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),i=new gh(e),r=new gr(i,e.property.specification);let n=null;n="constant"===e.value.kind||"source"===e.value.kind?new vr("source",r):new br("composite",r,e.value.zoomStops),this.paint._values[t]=new Wn(e.property,n,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,i){return!(!this.layout||e.isDataDriven()||i.isDataDriven())&&yh.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const i=t.get("text-field"),r=_h.paint.properties[e];let n=!1;const s=t=>{for(const e of t)if(r.overrides&&r.overrides.hasOverride(e))return void(n=!0)};if("constant"===i.value.kind&&i.value.value instanceof Kt)s(i.value.value.sections);else if("source"===i.value.kind){const t=e=>{n||(e instanceof se&&re(e.value)===_t?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t))},e=i.value;e._styleExpression&&t(e._styleExpression.expression)}return n}}let xh;var vh={get paint(){return xh=xh||new is({"background-color":new Jn(G.paint_background["background-color"]),"background-pattern":new ts(G.paint_background["background-pattern"]),"background-opacity":new Jn(G.paint_background["background-opacity"])})}};class bh extends ns{constructor(t){super(t,vh)}}let wh;var Th={get paint(){return wh=wh||new is({"raster-opacity":new Jn(G.paint_raster["raster-opacity"]),"raster-hue-rotate":new Jn(G.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Jn(G.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Jn(G.paint_raster["raster-brightness-max"]),"raster-saturation":new Jn(G.paint_raster["raster-saturation"]),"raster-contrast":new Jn(G.paint_raster["raster-contrast"]),"raster-resampling":new Jn(G.paint_raster["raster-resampling"]),"raster-fade-duration":new Jn(G.paint_raster["raster-fade-duration"])})}};class Sh extends ns{constructor(t){super(t,Th)}}class Ih extends ns{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Ph{constructor(t){this._methodToThrottle=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Ah=6371008.8;class Mh{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Mh(_(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,i=this.lat*e,r=t.lat*e,n=Math.sin(i)*Math.sin(r)+Math.cos(i)*Math.cos(r)*Math.cos((t.lng-this.lng)*e);return Ah*Math.acos(Math.min(n,1))}static convert(t){if(t instanceof Mh)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Mh(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Mh(Number("lng"in t?t.lng:t.lon),Number(t.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 [, ]")}}const kh=2*Math.PI*Ah;function Ch(t){return kh*Math.cos(t*Math.PI/180)}function zh(t){return(180+t)/360}function Eh(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Dh(t,e){return t/Ch(e)}function Lh(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class Rh{constructor(t,e,i=0){this.x=+t,this.y=+e,this.z=+i}static fromLngLat(t,e=0){const i=Mh.convert(t);return new Rh(zh(i.lng),Eh(i.lat),Dh(e,i.lat))}toLngLat(){return new Mh(360*this.x-180,Lh(this.y))}toAltitude(){return this.z*Ch(Lh(this.y))}meterInMercatorCoordinateUnits(){return 1/kh*(t=Lh(this.y),1/Math.cos(t*Math.PI/180));var t}}function Bh(t,e,i){var r=2*Math.PI*6378137/256/Math.pow(2,i);return[t*r-2*Math.PI*6378137/2,e*r-2*Math.PI*6378137/2]}class Fh{constructor(t,e,i){if(!function(t,e,i){return!(t<0||t>25||i<0||i>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))}(t,e,i))throw new Error(`x=${e}, y=${i}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=i,this.key=Nh(0,t,t,e,i)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,i){const r=(s=this.y,a=this.z,o=Bh(256*(n=this.x),256*(s=Math.pow(2,a)-s-1),a),l=Bh(256*(n+1),256*(s+1),a),o[0]+","+o[1]+","+l[0]+","+l[1]);var n,s,a,o,l;const c=function(t,e,i){let r,n="";for(let s=t;s>0;s--)r=1<1?"@2x":"").replace(/{quadkey}/g,c).replace(/{bbox-epsg-3857}/g,r)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new s((t.x*e-this.x)*Ba,(t.y*e-this.y)*Ba)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Oh{constructor(t,e){this.wrap=t,this.canonical=e,this.key=Nh(t,e.z,e.z,e.x,e.y)}}class Vh{constructor(t,e,i,r,n){if(t= z; overscaledZ = ${t}; z = ${i}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Fh(i,+r,+n),this.key=Nh(e,t,i,r,n)}clone(){return new Vh(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new Vh(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Vh(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const i=this.canonical.z-t;return t>this.canonical.z?Nh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Nh(this.wrap*+e,t,t,this.canonical.x>>i,this.canonical.y>>i)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new Vh(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,i=2*this.canonical.x,r=2*this.canonical.y;return[new Vh(e,this.wrap,e,i,r),new Vh(e,this.wrap,e,i+1,r),new Vh(e,this.wrap,e,i,r+1),new Vh(e,this.wrap,e,i+1,r+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=i),i=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}unpack(t,e,i){return t*this.redFactor+e*this.greenFactor+i*this.blueFactor-this.baseShift}getPixels(){return new To({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,i){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let r=e*this.dim,n=e*this.dim+this.dim,s=i*this.dim,a=i*this.dim+this.dim;switch(e){case-1:r=n-1;break;case 1:n=r+1}switch(i){case-1:s=a-1;break;case 1:a=s+1}const o=-e*this.dim,l=-i*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class $h{constructor(t,e,i,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=i,t._y=r,this.properties=t.properties,this.id=n}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class qh{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new xn(Ba,16,0),this.grid3D=new xn(Ba,16,0),this.featureIndexArray=new qs,this.promoteId=e}insert(t,e,i,r,n,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(i,r,n);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&r[3]>=0&&o.insert(a,r[0],r[1],r[2],r[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new dl.VectorTile(new Pc(this.rawTileData)).layers,this.sourceLayerCoder=new Uh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,i,r){this.loadVTLayers();const n=t.params||{},a=Ba/t.tileSize/t.scale,o=Ar(n.filter),l=t.queryGeometry,c=t.queryPadding*a,h=Gh(l),u=this.grid.query(h.minX-c,h.minY-c,h.maxX+c,h.maxY+c),d=Gh(t.cameraQueryGeometry),p=this.grid3D.query(d.minX-c,d.minY-c,d.maxX+c,d.maxY+c,((e,i,r,n)=>function(t,e,i,r,n){for(const s of t)if(e<=s.x&&i<=s.y&&r>=s.x&&n>=s.y)return!0;const a=[new s(e,i),new s(e,n),new s(r,n),new s(r,i)];if(t.length>2)for(const e of a)if(Ya(t,e))return!0;for(let e=0;e(d||(d=Va(e)),i.queryIntersectsFeature(l,e,r,d,this.z,t.transform,a,t.pixelPosMatrix))))}return f}loadMatchingFeature(t,e,i,r,n,s,a,o,l,c,h){const u=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let i=0;i=0)return!0;return!1}(s,u))return;const d=this.sourceLayerCoder.decode(i),p=this.vtLayers[d].feature(r);if(n.needGeometry){const t=Na(p,!0);if(!n.filter(new Un(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!n.filter(new Un(this.tileID.overscaledZ),p))return;const f=this.getId(p,d);for(let e=0;e{const a=e instanceof Kn?e.get(s):null;return a&&a.evaluate?a.evaluate(i,r,n):a}))}function Gh(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const s of t)e=Math.min(e,s.x),i=Math.min(i,s.y),r=Math.max(r,s.x),n=Math.max(n,s.y);return{minX:e,minY:i,maxX:r,maxY:n}}function Hh(t,e){return e-t}function Xh(t,e,i,r,n){const a=[];for(let o=0;o=r&&h.x>=r||(o.x>=r?o=new s(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round():h.x>=r&&(h=new s(r,o.y+(r-o.x)/(h.x-o.x)*(h.y-o.y))._round()),o.y>=n&&h.y>=n||(o.y>=n?o=new s(o.x+(n-o.y)/(h.y-o.y)*(h.x-o.x),n)._round():h.y>=n&&(h=new s(o.x+(n-o.y)/(h.y-o.y)*(h.x-o.x),n)._round()),c&&o.equals(c[c.length-1])||(c=[o],a.push(c)),c.push(h)))))}}return a}bn("FeatureIndex",qh,{omit:["rawTileData","sourceLayerCoder"]});class Wh extends s{constructor(t,e,i,r){super(t,e),this.angle=i,void 0!==r&&(this.segment=r)}clone(){return new Wh(this.x,this.y,this.angle,this.segment)}}function Kh(t,e,i,r,n){if(void 0===e.segment||0===i)return!0;let s=e,a=e.segment+1,o=0;for(;o>-i/2;){if(a--,a<0)return!1;o-=t[a].dist(s),s=t[a]}o+=t[a].dist(t[a+1]),a++;const l=[];let c=0;for(;or;)c-=l.shift().angleDelta;if(c>n)return!1;a++,o+=e.dist(i)}return!0}function Jh(t){let e=0;for(let i=0;ic){const h=(c-l)/s,u=Ce.number(r.x,n.x,h),d=Ce.number(r.y,n.y,h),p=new Wh(u,d,n.angleTo(r),i);return p._round(),!a||Kh(t,p,o,a,e)?p:void 0}l+=s}}function eu(t,e,i,r,n,s,a,o,l){const c=Yh(r,s,a),h=Qh(r,n),u=h*a,d=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-u=0&&g=0&&y=0&&d+c<=h){const i=new Wh(g,y,m,e);i._round(),r&&!Kh(t,i,s,r,n)||p.push(i)}}u+=f}return o||p.length||a||(p=iu(t,u/2,i,r,n,s,a,!0,l)),p}bn("Anchor",Wh);const ru=Dc;function nu(t,e,i,r){const n=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*ru,c=a.paddedRect.h-2*ru;let h={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const u=a.stretchX||[[0,l]],d=a.stretchY||[[0,c]],p=(t,e)=>t+e[1]-e[0],f=u.reduce(p,0),m=d.reduce(p,0),_=l-f,g=c-m;let y=0,x=f,v=0,b=m,w=0,T=_,S=0,I=g;if(a.content&&r){const e=a.content,i=e[2]-e[0],r=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(h=Qc(t)),y=su(u,0,e[0]),v=su(d,0,e[1]),x=su(u,e[0],e[2]),b=su(d,e[1],e[3]),w=e[0]-y,S=e[1]-v,T=i-x,I=r-b}const P=h.x1,A=h.y1,M=h.x2-P,k=h.y2-A,C=(t,r,n,l)=>{const c=ou(t.stretch-y,x,M,P),h=lu(t.fixed-w,T,t.stretch,f),u=ou(r.stretch-v,b,k,A),d=lu(r.fixed-S,I,r.stretch,m),p=ou(n.stretch-y,x,M,P),_=lu(n.fixed-w,T,n.stretch,f),g=ou(l.stretch-v,b,k,A),C=lu(l.fixed-S,I,l.stretch,m),z=new s(c,u),E=new s(p,u),D=new s(p,g),L=new s(c,g),R=new s(h/o,d/o),B=new s(_/o,C/o),F=e*Math.PI/180;if(F){const t=Math.sin(F),e=Math.cos(F),i=[e,-t,t,e];z._matMult(i),E._matMult(i),L._matMult(i),D._matMult(i)}const O=t.stretch+t.fixed,V=r.stretch+r.fixed;return{tl:z,tr:E,bl:L,br:D,tex:{x:a.paddedRect.x+ru+O,y:a.paddedRect.y+ru+V,w:n.stretch+n.fixed-O,h:l.stretch+l.fixed-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:R,pixelOffsetBR:B,minFontScaleX:T/o/M,minFontScaleY:I/o/k,isSDF:i}};if(r&&(a.stretchX||a.stretchY)){const t=au(u,_,f),e=au(d,g,m);for(let i=0;i0&&(r=Math.max(10,r),this.circleDiameter=r)}else{const c=(null===(u=a.image)||void 0===u?void 0:u.content)&&(a.image.textFitWidth||a.image.textFitHeight)?Qc(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};c.y1=c.y1*o-l[0],c.y2=c.y2*o+l[2],c.x1=c.x1*o-l[3],c.x2=c.x2*o+l[1];const d=a.collisionPadding;if(d&&(c.x1-=d[0]*o,c.y1-=d[1]*o,c.x2+=d[2]*o,c.y2+=d[3]*o),h){const t=new s(c.x1,c.y1),e=new s(c.x2,c.y1),i=new s(c.x1,c.y2),r=new s(c.x2,c.y2),n=h*Math.PI/180;t._rotate(n),e._rotate(n),i._rotate(n),r._rotate(n),c.x1=Math.min(t.x,e.x,i.x,r.x),c.x2=Math.max(t.x,e.x,i.x,r.x),c.y1=Math.min(t.y,e.y,i.y,r.y),c.y2=Math.max(t.y,e.y,i.y,r.y)}t.emplaceBack(e.x,e.y,c.x1,c.y1,c.x2,c.y2,i,r,n)}this.boxEndIndex=t.length}}class hu{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,r=e[t];for(;t>0;){const n=t-1>>1,s=e[n];if(i(r,s)>=0)break;e[t]=s,t=n}e[t]=r}_down(t){const{data:e,compare:i}=this,r=this.length>>1,n=e[t];for(;t=0)break;e[t]=e[r],t=r}e[t]=n}}function uu(t,e=1,i=!1){let r=1/0,n=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y)}const c=Math.min(a-r,o-n);let h=c/2;const u=new hu([],du);if(0===c)return new s(r,n);for(let e=r;ed.d||!d.d)&&(d=r,i&&console.log("found best %d after %d probes",Math.round(1e4*r.d)/1e4,p)),r.max-d.d<=e||(h=r.h/2,u.push(new pu(r.p.x-h,r.p.y-h,h,t)),u.push(new pu(r.p.x+h,r.p.y-h,h,t)),u.push(new pu(r.p.x-h,r.p.y+h,h,t)),u.push(new pu(r.p.x+h,r.p.y+h,h,t)),p+=4)}return i&&(console.log(`num probes: ${p}`),console.log(`best distance: ${d.d}`)),d.p}function du(t,e){return e.max-t.max}function pu(t,e,i,r){this.p=new s(t,e),this.h=i,this.d=function(t,e){let i=!1,r=1/0;for(let n=0;nt.y!=o.y>t.y&&t.x<(o.x-n.x)*(t.y-n.y)/(o.y-n.y)+n.x&&(i=!i),r=Math.min(r,Ka(t,n,o))}}return(i?1:-1)*Math.sqrt(r)}(this.p,r),this.max=this.d+this.h*Math.SQRT2}var fu;t.aq=void 0,(fu=t.aq||(t.aq={}))[fu.center=1]="center",fu[fu.left=2]="left",fu[fu.right=3]="right",fu[fu.top=4]="top",fu[fu.bottom=5]="bottom",fu[fu["top-left"]=6]="top-left",fu[fu["top-right"]=7]="top-right",fu[fu["bottom-left"]=8]="bottom-left",fu[fu["bottom-right"]=9]="bottom-right";const mu=7,_u=Number.POSITIVE_INFINITY;function gu(t,e){return e[1]!==_u?function(t,e,i){let r=0,n=0;switch(e=Math.abs(e),i=Math.abs(i),t){case"top-right":case"top-left":case"top":n=i-mu;break;case"bottom-right":case"bottom-left":case"bottom":n=-i+mu}switch(t){case"top-right":case"bottom-right":case"right":r=-e;break;case"top-left":case"bottom-left":case"left":r=e}return[r,n]}(t,e[0],e[1]):function(t,e){let i=0,r=0;e<0&&(e=0);const n=e/Math.SQRT2;switch(t){case"top-right":case"top-left":r=n-mu;break;case"bottom-right":case"bottom-left":r=-n+mu;break;case"bottom":r=-e+mu;break;case"top":r=e-mu}switch(t){case"top-right":case"bottom-right":i=-n;break;case"top-left":case"bottom-left":i=n;break;case"left":i=e;break;case"right":i=-e}return[i,r]}(t,e[0])}function yu(t,e,i){var r;const n=t.layout,s=null===(r=n.get("text-variable-anchor-offset"))||void 0===r?void 0:r.evaluate(e,{},i);if(s){const t=s.values,e=[];for(let i=0;it*rc));r.startsWith("top")?n[1]-=mu:r.startsWith("bottom")&&(n[1]+=mu),e[i+1]=n}return new Qt(e)}const a=n.get("text-variable-anchor");if(a){let r;r=void 0!==t._unevaluatedLayout.getValue("text-radial-offset")?[n.get("text-radial-offset").evaluate(e,{},i)*rc,_u]:n.get("text-offset").evaluate(e,{},i).map((t=>t*rc));const s=[];for(const t of a)s.push(t,gu(t,r));return new Qt(s)}return null}function xu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function vu(e,i,r,n,s,a,o,l,c,h,u){let d=a.textMaxSize.evaluate(i,{});void 0===d&&(d=o);const p=e.layers[0].layout,f=p.get("icon-offset").evaluate(i,{},u),m=wu(r.horizontal),_=o/24,g=e.tilePixelRatio*_,y=e.tilePixelRatio*d/24,x=e.tilePixelRatio*l,v=e.tilePixelRatio*p.get("symbol-spacing"),b=p.get("text-padding")*e.tilePixelRatio,w=function(t,e,i,r=1){const n=t.get("icon-padding").evaluate(e,{},i),s=n&&n.values;return[s[0]*r,s[1]*r,s[2]*r,s[3]*r]}(p,i,u,e.tilePixelRatio),S=p.get("text-max-angle")/180*Math.PI,I="viewport"!==p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),P="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),A=p.get("symbol-placement"),M=v/2,k=p.get("icon-text-fit");let C;n&&"none"!==k&&(e.allowVerticalPlacement&&r.vertical&&(C=th(n,r.vertical,k,p.get("icon-text-fit-padding"),f,_)),m&&(n=th(n,m,k,p.get("icon-text-fit-padding"),f,_)));const z=(l,d)=>{d.x<0||d.x>=Ba||d.y<0||d.y>=Ba||function(e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x,v,b,w,S,I,P){const A=e.addToLineVertexArray(i,r);let M,k,C,z,E=0,D=0,L=0,R=0,B=-1,F=-1;const O={};let V=_a("");if(e.allowVerticalPlacement&&n.vertical){const t=l.layout.get("text-rotate").evaluate(b,{},I)+90;C=new cu(c,i,h,u,d,n.vertical,p,f,m,t),o&&(z=new cu(c,i,h,u,d,o,g,y,m,t))}if(s){const r=l.layout.get("icon-rotate").evaluate(b,{}),n="none"!==l.layout.get("icon-text-fit"),a=nu(s,r,S,n),p=o?nu(o,r,S,n):void 0;k=new cu(c,i,h,u,d,s,g,y,!1,r),E=4*a.length;const f=e.iconSizeData;let m=null;"source"===f.kind?(m=[ih*l.layout.get("icon-size").evaluate(b,{})],m[0]>rh&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${eh}. Reduce your "icon-size".`)):"composite"===f.kind&&(m=[ih*w.compositeIconSizes[0].evaluate(b,{},I),ih*w.compositeIconSizes[1].evaluate(b,{},I)],(m[0]>rh||m[1]>rh)&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${eh}. Reduce your "icon-size".`)),e.addSymbols(e.icon,a,m,v,x,b,t.ah.none,i,A.lineStartIndex,A.lineLength,-1,I),B=e.icon.placedSymbolArray.length-1,p&&(D=4*p.length,e.addSymbols(e.icon,p,m,v,x,b,t.ah.vertical,i,A.lineStartIndex,A.lineLength,-1,I),F=e.icon.placedSymbolArray.length-1)}const N=Object.keys(n.horizontal);for(const r of N){const s=n.horizontal[r];if(!M){V=_a(s.text);const t=l.layout.get("text-rotate").evaluate(b,{},I);M=new cu(c,i,h,u,d,s,p,f,m,t)}const o=1===s.positionedLines.length;if(L+=bu(e,i,s,a,l,m,b,_,A,n.vertical?t.ah.horizontal:t.ah.horizontalOnly,o?N:[r],O,B,w,I),o)break}n.vertical&&(R+=bu(e,i,n.vertical,a,l,m,b,_,A,t.ah.vertical,["vertical"],O,F,w,I));const j=M?M.boxStartIndex:e.collisionBoxArray.length,U=M?M.boxEndIndex:e.collisionBoxArray.length,$=C?C.boxStartIndex:e.collisionBoxArray.length,q=C?C.boxEndIndex:e.collisionBoxArray.length,Z=k?k.boxStartIndex:e.collisionBoxArray.length,G=k?k.boxEndIndex:e.collisionBoxArray.length,H=z?z.boxStartIndex:e.collisionBoxArray.length,X=z?z.boxEndIndex:e.collisionBoxArray.length;let W=-1;const K=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;W=K(M,W),W=K(C,W),W=K(k,W),W=K(z,W);const J=W>-1?1:0;J&&(W*=P/rc),e.glyphOffsetArray.length>=ph.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);const Y=yu(l,b,I),[Q,tt]=function(e,i){const r=e.length,n=null==i?void 0:i.values;if((null==n?void 0:n.length)>0)for(let i=0;i=0?O.right:-1,O.center>=0?O.center:-1,O.left>=0?O.left:-1,O.vertical||-1,B,F,V,j,U,$,q,Z,G,H,X,h,L,R,E,D,J,0,p,W,Q,tt)}(e,d,l,r,n,s,C,e.layers[0],e.collisionBoxArray,i.index,i.sourceLayerIndex,e.index,g,[b,b,b,b],I,c,x,w,P,f,i,a,h,u,o)};if("line"===A)for(const t of Xh(i.geometry,0,0,Ba,Ba)){const i=eu(t,v,S,r.vertical||m,n,24,y,e.overscaling,Ba);for(const r of i)m&&Tu(e,m.text,M,r)||z(t,r)}else if("line-center"===A){for(const t of i.geometry)if(t.length>1){const e=tu(t,S,r.vertical||m,n,24,y);e&&z(t,e)}}else if("Polygon"===i.type)for(const t of yi(i.geometry,0)){const e=uu(t,16);z(t[0],new Wh(e.x,e.y,0))}else if("LineString"===i.type)for(const t of i.geometry)z(t,new Wh(t[0].x,t[0].y,0));else if("Point"===i.type)for(const t of i.geometry)for(const e of t)z([e],new Wh(e.x,e.y,0))}function bu(t,e,i,r,n,a,o,l,c,h,u,d,p,f,m){const _=function(t,e,i,r,n,a,o,l){const c=r.layout.get("text-rotate").evaluate(a,{})*Math.PI/180,h=[];for(const t of e.positionedLines)for(const r of t.positionedGlyphs){if(!r.rect)continue;const a=r.rect||{};let u=zc+1,d=!0,p=1,f=0;const m=(n||l)&&r.vertical,_=r.metrics.advance*r.scale/2;if(l&&e.verticalizable&&(f=t.lineOffset/2-(r.imageName?-(rc-r.metrics.width*r.scale)/2:(r.scale-1)*rc)),r.imageName){const t=o[r.imageName];d=t.sdf,p=t.pixelRatio,u=Dc/p}const g=n?[r.x+_,r.y]:[0,0];let y=n?[0,0]:[r.x+_+i[0],r.y+i[1]-f],x=[0,0];m&&(x=y,y=[0,0]);const v=r.metrics.isDoubleResolution?2:1,b=(r.metrics.left-u)*r.scale-_+y[0],w=(-r.metrics.top-u)*r.scale+y[1],T=b+a.w/v*r.scale/p,S=w+a.h/v*r.scale/p,I=new s(b,w),P=new s(T,w),A=new s(b,S),M=new s(T,S);if(m){const t=new s(-_,_-Fc),e=-Math.PI/2,i=rc/2-_,n=new s(5-Fc-i,-(r.imageName?i:0)),a=new s(...x);I._rotateAround(e,t)._add(n)._add(a),P._rotateAround(e,t)._add(n)._add(a),A._rotateAround(e,t)._add(n)._add(a),M._rotateAround(e,t)._add(n)._add(a)}if(c){const t=Math.sin(c),e=Math.cos(c),i=[e,-t,t,e];I._matMult(i),P._matMult(i),A._matMult(i),M._matMult(i)}const k=new s(0,0),C=new s(0,0);h.push({tl:I,tr:P,bl:A,br:M,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:r.sectionIndex,isSDF:d,pixelOffsetTL:k,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0})}return h}(0,i,l,n,a,o,r,t.allowVerticalPlacement),g=t.textSizeData;let y=null;"source"===g.kind?(y=[ih*n.layout.get("text-size").evaluate(o,{})],y[0]>rh&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${eh}. Reduce your "text-size".`)):"composite"===g.kind&&(y=[ih*f.compositeTextSizes[0].evaluate(o,{},m),ih*f.compositeTextSizes[1].evaluate(o,{},m)],(y[0]>rh||y[1]>rh)&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${eh}. Reduce your "text-size".`)),t.addSymbols(t.text,_,y,l,a,o,h,e,c.lineStartIndex,c.lineLength,p,m);for(const e of u)d[e]=t.text.placedSymbolArray.length-1;return 4*_.length}function wu(t){for(const e in t)return t[e];return null}function Tu(t,e,i,r){const n=t.compareText;if(e in n){const t=n[e];for(let e=t.length-1;e>=0;e--)if(r.dist(t[e])>4;if(1!==r)throw new Error(`Got v${r} data when expected v1.`);const n=Su[15&i];if(!n)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new Iu(a,s,n,t)}constructor(t,e=64,i=Float64Array,r){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const n=Su.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%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,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+n]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=e,i}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Pu(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,i,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:s,nodeSize:a}=this,o=[0,n.length-1,0],l=[];for(;o.length;){const c=o.pop()||0,h=o.pop()||0,u=o.pop()||0;if(h-u<=a){for(let a=u;a<=h;a++){const o=s[2*a],c=s[2*a+1];o>=t&&o<=i&&c>=e&&c<=r&&l.push(n[a])}continue}const d=u+h>>1,p=s[2*d],f=s[2*d+1];p>=t&&p<=i&&f>=e&&f<=r&&l.push(n[d]),(0===c?t<=p:e<=f)&&(o.push(u),o.push(d-1),o.push(1-c)),(0===c?i>=p:r>=f)&&(o.push(d+1),o.push(h),o.push(1-c))}return l}within(t,e,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:r,coords:n,nodeSize:s}=this,a=[0,r.length-1,0],o=[],l=i*i;for(;a.length;){const c=a.pop()||0,h=a.pop()||0,u=a.pop()||0;if(h-u<=s){for(let i=u;i<=h;i++)Cu(n[2*i],n[2*i+1],t,e)<=l&&o.push(r[i]);continue}const d=u+h>>1,p=n[2*d],f=n[2*d+1];Cu(p,f,t,e)<=l&&o.push(r[d]),(0===c?t-i<=p:e-i<=f)&&(a.push(u),a.push(d-1),a.push(1-c)),(0===c?t+i>=p:e+i>=f)&&(a.push(d+1),a.push(h),a.push(1-c))}return o}}function Pu(t,e,i,r,n,s){if(n-r<=i)return;const a=r+n>>1;Au(t,e,a,r,n,s),Pu(t,e,i,r,a-1,1-s),Pu(t,e,i,a+1,n,1-s)}function Au(t,e,i,r,n,s){for(;n>r;){if(n-r>600){const a=n-r+1,o=i-r+1,l=Math.log(a),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(a-c)/a)*(o-a/2<0?-1:1);Au(t,e,i,Math.max(r,Math.floor(i-o*c/a+h)),Math.min(n,Math.floor(i+(a-o)*c/a+h)),s)}const a=e[2*i+s];let o=r,l=n;for(Mu(t,e,r,i),e[2*n+s]>a&&Mu(t,e,r,n);oa;)l--}e[2*r+s]===a?Mu(t,e,r,l):(l++,Mu(t,e,l,n)),l<=i&&(r=l+1),i<=l&&(n=l-1)}}function Mu(t,e,i,r){ku(t,i,r),ku(e,2*i,2*r),ku(e,2*i+1,2*r+1)}function ku(t,e,i){const r=t[e];t[e]=t[i],t[i]=r}function Cu(t,e,i,r){const n=t-i,s=e-r;return n*n+s*s}var zu;t.bf=void 0,(zu=t.bf||(t.bf={})).create="create",zu.load="load",zu.fullLoad="fullLoad";let Eu=null,Du=[];const Lu=1e3/60,Ru="loadTime",Bu="fullLoadTime",Fu={mark(t){performance.mark(t)},frame(t){const e=t;null!=Eu&&Du.push(e-Eu),Eu=e},clearMetrics(){Eu=null,Du=[],performance.clearMeasures(Ru),performance.clearMeasures(Bu);for(const e in t.bf)performance.clearMarks(t.bf[e])},getPerformanceMetrics(){performance.measure(Ru,t.bf.create,t.bf.load),performance.measure(Bu,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName(Ru)[0].duration,i=performance.getEntriesByName(Bu)[0].duration,r=Du.length,n=1/(Du.reduce(((t,e)=>t+e),0)/r/1e3),s=Du.filter((t=>t>Lu)).reduce(((t,e)=>t+(e-Lu)/Lu),0);return{loadTime:e,fullLoadTime:i,fps:n,percentDroppedFrames:s/(r+s)*100,totalFrames:r}}};t.$=class extends ds{},t.A=oo,t.B=mn,t.C=function(t){if(null==P){const e=t.navigator?t.navigator.userAgent:null;P=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return P},t.D=Jn,t.E=Z,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Ph((()=>this.process())),this.subscription=function(t,e,i){return t.addEventListener(e,i,!1),{unsubscribe:()=>{t.removeEventListener(e,i,!1)}}}(this.target,"message",(t=>this.receive(t))),this.globalScope=I(self)?t:window}registerMessageHandler(t,e){this.messageHandlers[t]=e}sendAsync(t,e){return new Promise(((i,r)=>{const n=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[n]={resolve:i,reject:r},e&&e.signal.addEventListener("abort",(()=>{delete this.resolveRejects[n];const e={id:n,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e)}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:n,sourceMapId:this.mapId,origin:location.origin,data:In(t.data,s)});this.target.postMessage(a,{transfer:s})}))}receive(t){const e=t.data,i=e.id;if(!("file://"!==e.origin&&"file://"!==location.origin&&"resource://android"!==e.origin&&"resource://android"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(""===e.type){delete this.tasks[i];const t=this.abortControllers[i];return delete this.abortControllers[i],void(t&&t.abort())}if(I(self)||e.mustQueue)return this.tasks[i]=e,this.taskQueue.push(i),void this.invoker.trigger();this.processTask(i,e)}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,i){return e(this,void 0,void 0,(function*(){if(""===i.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(i.error?e.reject(Pn(i.error)):e.resolve(Pn(i.data)))}if(!this.messageHandlers[i.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${i.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const e=Pn(i.data),r=new AbortController;this.abortControllers[t]=r;try{const n=yield this.messageHandlers[i.type](i.sourceMapId,e,r);this.completeTask(t,null,n)}catch(e){this.completeTask(t,e)}}))}completeTask(t,e,i){const r=[];delete this.abortControllers[t];const n={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:e?In(e):null,data:In(i,r)};this.target.postMessage(n,{transfer:r})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},t.G=B,t.H=function(){var t=new oo(16);return oo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Lc,t.J=function(t,e,i){var r,n,s,a,o,l,c,h,u,d,p,f,m=i[0],_=i[1],g=i[2];return e===t?(t[12]=e[0]*m+e[4]*_+e[8]*g+e[12],t[13]=e[1]*m+e[5]*_+e[9]*g+e[13],t[14]=e[2]*m+e[6]*_+e[10]*g+e[14],t[15]=e[3]*m+e[7]*_+e[11]*g+e[15]):(n=e[1],s=e[2],a=e[3],o=e[4],l=e[5],c=e[6],h=e[7],u=e[8],d=e[9],p=e[10],f=e[11],t[0]=r=e[0],t[1]=n,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=c,t[7]=h,t[8]=u,t[9]=d,t[10]=p,t[11]=f,t[12]=r*m+o*_+u*g+e[12],t[13]=n*m+l*_+d*g+e[13],t[14]=s*m+c*_+p*g+e[14],t[15]=a*m+h*_+f*g+e[15]),t},t.K=function(t,e,i){var r=i[0],n=i[1],s=i[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=co,t.M=function(t,e){const i={};for(let r=0;r{const e=window.document.createElement("video");return e.muted=!0,new Promise((i=>{e.onloadstart=()=>{i(e)};for(const i of t){const t=window.document.createElement("source");N(i)||(e.crossOrigin="Anonymous"),t.src=i,e.appendChild(t)}}))},t.a4=function(){return y++},t.a5=Ls,t.a6=ph,t.a7=Ar,t.a8=Na,t.a9=$h,t.aA=function(t){if("custom"===t.type)return new Ih(t);switch(t.type){case"background":return new bh(t);case"circle":return new fo(t);case"fill":return new ll(t);case"fill-extrusion":return new El(t);case"heatmap":return new Io(t);case"hillshade":return new Mo(t);case"line":return new Xl(t);case"raster":return new Sh(t);case"symbol":return new yh(t)}},t.aB=b,t.aC=function(t,e){if(!t)return[{command:"setStyle",args:[e]}];let i=[];try{if(!W(t.version,e.version))return[{command:"setStyle",args:[e]}];W(t.center,e.center)||i.push({command:"setCenter",args:[e.center]}),W(t.zoom,e.zoom)||i.push({command:"setZoom",args:[e.zoom]}),W(t.bearing,e.bearing)||i.push({command:"setBearing",args:[e.bearing]}),W(t.pitch,e.pitch)||i.push({command:"setPitch",args:[e.pitch]}),W(t.sprite,e.sprite)||i.push({command:"setSprite",args:[e.sprite]}),W(t.glyphs,e.glyphs)||i.push({command:"setGlyphs",args:[e.glyphs]}),W(t.transition,e.transition)||i.push({command:"setTransition",args:[e.transition]}),W(t.light,e.light)||i.push({command:"setLight",args:[e.light]}),W(t.terrain,e.terrain)||i.push({command:"setTerrain",args:[e.terrain]}),W(t.sky,e.sky)||i.push({command:"setSky",args:[e.sky]}),W(t.projection,e.projection)||i.push({command:"setProjection",args:[e.projection]});const r={},n=[];!function(t,e,i,r){let n;for(n in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,n)&&(Object.prototype.hasOwnProperty.call(e,n)||Y(n,i,r));for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&(Object.prototype.hasOwnProperty.call(t,n)?W(t[n],e[n])||("geojson"===t[n].type&&"geojson"===e[n].type&&tt(t,e,n)?K(i,{command:"setGeoJSONSourceData",args:[n,e[n].data]}):Q(n,e,i,r)):J(n,e,i))}(t.sources,e.sources,n,r);const s=[];t.layers&&t.layers.forEach((t=>{"source"in t&&r[t.source]?i.push({command:"removeLayer",args:[t.id]}):s.push(t)})),i=i.concat(n),function(t,e,i){e=e||[];const r=(t=t||[]).map(it),n=e.map(it),s=t.reduce(rt,{}),a=e.reduce(rt,{}),o=r.slice(),l=Object.create(null);let c,h,u,d,p;for(let t=0,e=0;t@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,i,r,n)=>{const s=r||n;return e[i]=!s||s.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e},t.ab=function(t,e){const i=[];for(const r in t)r in e||i.push(r);return i},t.ac=m,t.ad=function(t,e,i){var r=Math.sin(i),n=Math.cos(i),s=e[0],a=e[1],o=e[2],l=e[3],c=e[4],h=e[5],u=e[6],d=e[7];return e!==t&&(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[0]=s*n+c*r,t[1]=a*n+h*r,t[2]=o*n+u*r,t[3]=l*n+d*r,t[4]=c*n-s*r,t[5]=h*n-a*r,t[6]=u*n-o*r,t[7]=d*n-l*r,t},t.ae=function(t){var e=new oo(16);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},t.af=po,t.ag=function(t,e){let i=0,r=0;if("constant"===t.kind)r=t.layoutSize;else if("source"!==t.kind){const{interpolationType:n,minZoom:s,maxZoom:a}=t,o=n?m(ze.interpolationFactor(n,e,s,a),0,1):0;"camera"===t.kind?r=Ce.number(t.minSize,t.maxSize,o):i=o}return{uSizeT:i,uSize:r}},t.ai=function(t,{uSize:e,uSizeT:i},{lowerSize:r,upperSize:n}){return"source"===t.kind?r/ih:"composite"===t.kind?Ce.number(r/ih,n/ih,i):e},t.aj=ch,t.ak=function(t,e,i,r){const n=e.y-t.y,a=e.x-t.x,o=r.y-i.y,l=r.x-i.x,c=o*a-l*n;if(0===c)return null;const h=(l*(t.y-i.y)-o*(t.x-i.x))/c;return new s(t.x+h*a,t.y+h*n)},t.al=Xh,t.am=$a,t.an=lo,t.ao=function(t){let e=1/0,i=1/0,r=-1/0,n=-1/0;for(const s of t)e=Math.min(e,s.x),i=Math.min(i,s.y),r=Math.max(r,s.x),n=Math.max(n,s.y);return[e,i,r,n]},t.ap=rc,t.ar=sh,t.as=function(t,e){var i=e[0],r=e[1],n=e[2],s=e[3],a=e[4],o=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=i*o-r*a,x=i*l-n*a,v=i*c-s*a,b=r*l-n*o,w=r*c-s*o,T=n*c-s*l,S=h*m-u*f,I=h*_-d*f,P=h*g-p*f,A=u*_-d*m,M=u*g-p*m,k=d*g-p*_,C=y*k-x*M+v*A+b*P-w*I+T*S;return C?(t[0]=(o*k-l*M+c*A)*(C=1/C),t[1]=(n*M-r*k-s*A)*C,t[2]=(m*T-_*w+g*b)*C,t[3]=(d*w-u*T-p*b)*C,t[4]=(l*P-a*k-c*I)*C,t[5]=(i*k-n*P+s*I)*C,t[6]=(_*v-f*T-g*x)*C,t[7]=(h*T-d*v+p*x)*C,t[8]=(a*M-o*P+c*S)*C,t[9]=(r*P-i*M-s*S)*C,t[10]=(f*w-m*v+g*y)*C,t[11]=(u*v-h*w-p*y)*C,t[12]=(o*I-a*A-l*S)*C,t[13]=(i*A-r*I+n*S)*C,t[14]=(m*x-f*b-_*y)*C,t[15]=(h*b-u*x+d*y)*C,t):null},t.at=xu,t.au=Kc,t.av=Iu,t.aw=function(){const t={},e=G.$version;for(const i in G.$root){const r=G.$root[i];if(r.required){let n=null;n="version"===i?e:"array"===r.type?[]:{},null!=n&&(t[i]=n)}}return t},t.ax=An,t.ay=O,t.az=function(t){t=t.slice();const e=Object.create(null);for(let i=0;i25||r<0||r>=1||i<0||i>=1)},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends us{},t.bd=Ah,t.be=Fu,t.bg=F,t.bh=function(t,e){L.REGISTERED_PROTOCOLS[t]=e},t.bi=function(t){delete L.REGISTERED_PROTOCOLS[t]},t.bj=function(t,e){const i={};for(let r=0;rt*rc))}let x=o?"center":r.get("text-justify").evaluate(n,{},e.canonical);const v="point"===r.get("symbol-placement")?r.get("text-max-width").evaluate(n,{},e.canonical)*rc:1/0,b=()=>{e.bucket.allowVerticalPlacement&&kn(s)&&(f.vertical=Nc(m,e.glyphMap,e.glyphPositions,e.imagePositions,h,v,a,_,"left",p,g,t.ah.vertical,!0,d,u))};if(!o&&y){const i=new Set;if("auto"===x)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=g,t.f=t=>new Promise(((e,i)=>{const r=new Image;r.onload=()=>{e(r),URL.revokeObjectURL(r.src),r.onload=null,window.requestAnimationFrame((()=>{r.src=M}))},r.onerror=()=>i(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 n=new Blob([new Uint8Array(t)],{type:"image/png"});r.src=t.byteLength?URL.createObjectURL(n):M})),t.g=R,t.h=(t,e)=>V(g(t,{type:"json"}),e),t.i=I,t.j=q,t.k=$,t.l=(t,e)=>V(g(t,{type:"arrayBuffer"}),e),t.m=V,t.n=function(t){return new Pc(t).readFields(Mc,[])},t.o=wo,t.p=Ec,t.q=is,t.r=fn,t.s=N,t.t=yn,t.u=pn,t.v=G,t.w=T,t.x=function([t,e,i]){return e+=90,e*=Math.PI/180,i*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(i),y:t*Math.sin(e)*Math.sin(i),z:t*Math.cos(i)}},t.y=Ce,t.z=Un})),i("worker",["./shared"],(function(t){class e{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,i){for(const i of e){this._layerConfigs[i.id]=i;const e=this._layers[i.id]=t.aA(i);e._featureFilter=t.a7(e.filter),this.keyCache[i.id]&&delete this.keyCache[i.id]}for(const t of i)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const r=t.bj(Object.values(this._layerConfigs),this.keyCache);for(const t of r){const e=t.map((t=>this._layers[t.id])),i=e[0];if("none"===i.visibility)continue;const r=i.source||"";let n=this.familiesBySource[r];n||(n=this.familiesBySource[r]={});const s=i.sourceLayer||"_geojsonTileLayer";let a=n[s];a||(a=n[s]=[]),a.push(e)}}}class i{constructor(e){const i={},r=[];for(const t in e){const n=e[t],s=i[t]={};for(const t in n){const e=n[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const i={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};r.push(i),s[t]={rect:i,metrics:e.metrics}}}const{w:n,h:s}=t.p(r),a=new t.o({width:n||1,height:s||1});for(const r in e){const n=e[r];for(const e in n){const s=n[+e];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const o=i[r][e].rect;t.o.copy(s.bitmap,a,{x:0,y:0},{x:o.x+1,y:o.y+1},s.bitmap)}}this.image=a,this.positions=i}}t.bk("GlyphAtlas",i);class r{constructor(e){this.tileID=new t.S(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}parse(e,r,s,a){return t._(this,void 0,void 0,(function*(){this.status="parsing",this.data=e,this.collisionBoxArray=new t.a5;const o=new t.bl(Object.keys(e.layers).sort()),l=new t.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},h={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:s},u=r.familiesBySource[this.source];for(const i in u){const r=e.layers[i];if(!r)continue;1===r.version&&t.w(`Vector tile source "${this.source}" layer "${i}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const a=o.encode(i),d=[];for(let t=0;t=i.maxzoom||"none"!==i.visibility&&(n(e,this.zoom,s),(c[i.id]=i.createBucket({index:l.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:a,sourceID:this.source})).populate(d,h,this.tileID.canonical),l.bucketLayerIDs.push(e.map((t=>t.id))))}}const d=t.aF(h.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(d).length){const t=new AbortController;this.inFlightDependencies.push(t),p=a.sendAsync({type:"GG",data:{stacks:d,source:this.source,tileID:this.tileID,type:"glyphs"}},t)}const f=Object.keys(h.iconDependencies);let m=Promise.resolve({});if(f.length){const t=new AbortController;this.inFlightDependencies.push(t),m=a.sendAsync({type:"GI",data:{icons:f,source:this.source,tileID:this.tileID,type:"icons"}},t)}const _=Object.keys(h.patternDependencies);let g=Promise.resolve({});if(_.length){const t=new AbortController;this.inFlightDependencies.push(t),g=a.sendAsync({type:"GI",data:{icons:_,source:this.source,tileID:this.tileID,type:"patterns"}},t)}const[y,x,v]=yield Promise.all([p,m,g]),b=new i(y),w=new t.bn(x,v);for(const e in c){const i=c[e];i instanceof t.a6?(n(i.layers,this.zoom,s),t.bo({bucket:i,glyphMap:y,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):i.hasPattern&&(i instanceof t.bp||i instanceof t.bq||i instanceof t.br)&&(n(i.layers,this.zoom,s),i.addFeatures(h,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((t=>!t.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?y:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function n(e,i,r){const n=new t.z(i);for(const t of e)t.recalculate(n,r)}class s{constructor(t,e,i){this.actor=t,this.layerIndex=e,this.availableImages=i,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(e,i){return t._(this,void 0,void 0,(function*(){const r=yield t.l(e.request,i);try{return{vectorTile:new t.bs.VectorTile(new t.bt(r.data)),rawData:r.data,cacheControl:r.cacheControl,expires:r.expires}}catch(t){const i=new Uint8Array(r.data);let n=`Unable to parse the tile at ${e.request.url}, `;throw n+=31===i[0]&&139===i[1]?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${t.message}`,new Error(n)}}))}loadTile(e){return t._(this,void 0,void 0,(function*(){const i=e.uid,n=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.bu(e.request),s=new r(e);this.loading[i]=s;const a=new AbortController;s.abort=a;try{const r=yield this.loadVectorTile(e,a);if(delete this.loading[i],!r)return null;const o=r.rawData,l={};r.expires&&(l.expires=r.expires),r.cacheControl&&(l.cacheControl=r.cacheControl);const c={};if(n){const t=n.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}s.vectorTile=r.vectorTile;const h=s.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[i]=s,this.fetching[i]={rawTileData:o,cacheControl:l,resourceTiming:c};try{const e=yield h;return t.e({rawTileData:o.slice(0)},e,l,c)}finally{delete this.fetching[i]}}catch(t){throw delete this.loading[i],s.status="done",this.loaded[i]=s,t}}))}reloadTile(e){return t._(this,void 0,void 0,(function*(){const i=e.uid;if(!this.loaded||!this.loaded[i])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const r=this.loaded[i];if(r.showCollisionBoxes=e.showCollisionBoxes,"parsing"===r.status){const e=yield r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor);let n;if(this.fetching[i]){const{rawTileData:r,cacheControl:s,resourceTiming:a}=this.fetching[i];delete this.fetching[i],n=t.e({rawTileData:r.slice(0)},e,s,a)}else n=e;return n}if("done"===r.status&&r.vectorTile)return r.parse(r.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){const t=this.loading,i=e.uid;t&&t[i]&&t[i].abort&&(t[i].abort.abort(),delete t[i])}))}removeTile(e){return t._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[e.uid]&&delete this.loaded[e.uid]}))}}class a{constructor(){this.loaded={}}loadTile(e){return t._(this,void 0,void 0,(function*(){const{uid:i,encoding:r,rawImageData:n,redFactor:s,greenFactor:a,blueFactor:o,baseShift:l}=e,c=n.width+2,h=n.height+2,u=t.b(n)?new t.R({width:c,height:h},yield t.bv(n,-1,-1,c,h)):n,d=new t.bw(i,u,r,s,a,o,l);return this.loaded=this.loaded||{},this.loaded[i]=d,d}))}removeTile(t){const e=this.loaded,i=t.uid;e&&e[i]&&delete e[i]}}function o(t,e){if(0!==t.length){l(t[0],e);for(var i=1;i=Math.abs(o)?i-l+o:o-l+i,i=l}i+r>=0!=!!e&&t.reverse()}var c=t.bx((function t(e,i){var r,n=e&&e.type;if("FeatureCollection"===n)for(r=0;r>31}function I(t,e){for(var i=t.loadGeometry(),r=t.type,n=0,s=0,a=i.length,o=0;ot},k=Math.fround||(C=new Float32Array(1),t=>(C[0]=+t,C[0]));var C;const z=3,E=5,D=6;class L{constructor(t){this.options=Object.assign(Object.create(M),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:i,maxZoom:r}=this.options;e&&console.time("total time");const n=`prepare ${t.length} points`;e&&console.time(n),this.points=t;const s=[];for(let e=0;e=i;t--){const i=+Date.now();a=this.trees[t]=this._createTree(this._cluster(a,t)),e&&console.log("z%d: %d clusters in %dms",t,a.numItems,+Date.now()-i)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let i=((t[0]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,t[1]));let n=180===t[2]?180:((t[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)i=-180,n=180;else if(i>n){const t=this.getClusters([i,r,180,s],e),a=this.getClusters([-180,r,n,s],e);return t.concat(a)}const a=this.trees[this._limitZoom(e)],o=a.range(F(i),O(s),F(n),O(r)),l=a.data,c=[];for(const t of o){const e=this.stride*t;c.push(l[e+E]>1?R(l,e,this.clusterProps):this.points[l[e+z]])}return c}getChildren(t){const e=this._getOriginId(t),i=this._getOriginZoom(t),r="No cluster with the specified id.",n=this.trees[i];if(!n)throw new Error(r);const s=n.data;if(e*this.stride>=s.length)throw new Error(r);const a=this.options.radius/(this.options.extent*Math.pow(2,i-1)),o=n.within(s[e*this.stride],s[e*this.stride+1],a),l=[];for(const e of o){const i=e*this.stride;s[i+4]===t&&l.push(s[i+E]>1?R(s,i,this.clusterProps):this.points[s[i+z]])}if(0===l.length)throw new Error(r);return l}getLeaves(t,e,i){const r=[];return this._appendLeaves(r,t,e=e||10,i=i||0,0),r}getTile(t,e,i){const r=this.trees[this._limitZoom(t)],n=Math.pow(2,t),{extent:s,radius:a}=this.options,o=a/s,l=(i-o)/n,c=(i+1+o)/n,h={features:[]};return this._addTileFeatures(r.range((e-o)/n,l,(e+1+o)/n,c),r.data,e,i,n,h),0===e&&this._addTileFeatures(r.range(1-o/n,l,1,c),r.data,n,i,n,h),e===n-1&&this._addTileFeatures(r.range(0,l,o/n,c),r.data,-1,i,n,h),h.features.length?h:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const i=this.getChildren(t);if(e++,1!==i.length)break;t=i[0].properties.cluster_id}return e}_appendLeaves(t,e,i,r,n){const s=this.getChildren(e);for(const e of s){const s=e.properties;if(s&&s.cluster?n+s.point_count<=r?n+=s.point_count:n=this._appendLeaves(t,s.cluster_id,i,r,n):n1;let l,c,h;if(o)l=B(e,t,this.clusterProps),c=e[t],h=e[t+1];else{const i=this.points[e[t+z]];l=i.properties;const[r,n]=i.geometry.coordinates;c=F(r),h=O(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=o||this.options.generateId?e[t+z]:this.points[e[t+z]].id,void 0!==d&&(u.id=d),s.features.push(u)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:i,extent:r,reduce:n,minPoints:s}=this.options,a=i/(r*Math.pow(2,e)),o=t.data,l=[],c=this.stride;for(let i=0;ie&&(p+=o[i+E])}if(p>d&&p>=s){let t,s=r*d,a=h*d,f=-1;const m=(i/c<<5)+(e+1)+this.points.length;for(const r of u){const l=r*c;if(o[l+2]<=e)continue;o[l+2]=e;const h=o[l+E];s+=o[l]*h,a+=o[l+1]*h,o[l+4]=m,n&&(t||(t=this._map(o,i,!0),f=this.clusterProps.length,this.clusterProps.push(t)),n(t,this._map(o,l)))}o[i+4]=m,l.push(s/p,a/p,1/0,m,-1,p),n&&l.push(f)}else{for(let t=0;t1)for(const t of u){const i=t*c;if(!(o[i+2]<=e)){o[i+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,i){if(t[e+E]>1){const r=this.clusterProps[t[e+D]];return i?Object.assign({},r):r}const r=this.points[t[e+z]].properties,n=this.options.map(r);return i&&n===r?Object.assign({},n):n}}function R(t,e,i){return{type:"Feature",id:t[e+z],properties:B(t,e,i),geometry:{type:"Point",coordinates:[(r=t[e],360*(r-.5)),V(t[e+1])]}};var r}function B(t,e,i){const r=t[e+E],n=r>=1e4?`${Math.round(r/1e3)}k`:r>=1e3?Math.round(r/100)/10+"k":r,s=t[e+D],a=-1===s?{}:Object.assign({},i[s]);return Object.assign(a,{cluster:!0,cluster_id:t[e+z],point_count:r,point_count_abbreviated:n})}function F(t){return t/360+.5}function O(t){const e=Math.sin(t*Math.PI/180),i=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return i<0?0:i>1?1:i}function V(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function N(t,e,i,r){let n=r;const s=e+(i-e>>1);let a,o=i-e;const l=t[e],c=t[e+1],h=t[i],u=t[i+1];for(let r=e+3;rn)a=r,n=e;else if(e===n){const t=Math.abs(r-s);tr&&(a-e>3&&N(t,e,a,r),t[a+2]=n,i-a>3&&N(t,a,i,r))}function j(t,e,i,r,n,s){let a=n-i,o=s-r;if(0!==a||0!==o){const l=((t-i)*a+(e-r)*o)/(a*a+o*o);l>1?(i=n,r=s):l>0&&(i+=a*l,r+=o*l)}return a=t-i,o=e-r,a*a+o*o}function U(t,e,i,r){const n={id:null==t?null:t,type:e,geometry:i,tags:r,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===e||"MultiPoint"===e||"LineString"===e)$(n,i);else if("Polygon"===e)$(n,i[0]);else if("MultiLineString"===e)for(const t of i)$(n,t);else if("MultiPolygon"===e)for(const t of i)$(n,t[0]);return n}function $(t,e){for(let i=0;i0&&(a+=r?(n*l-o*s)/2:Math.sqrt(Math.pow(o-n,2)+Math.pow(l-s,2))),n=o,s=l}const o=e.length-3;e[2]=1,N(e,0,o,i),e[o+2]=1,e.size=Math.abs(a),e.start=0,e.end=e.size}function H(t,e,i,r){for(let n=0;n1?1:i}function K(t,e,i,r,n,s,a,o){if(r/=e,s>=(i/=e)&&a=r)return null;const l=[];for(const e of t){const t=e.geometry;let s=e.type;const a=0===n?e.minX:e.minY,c=0===n?e.maxX:e.maxY;if(a>=i&&c=r)continue;let h=[];if("Point"===s||"MultiPoint"===s)J(t,h,i,r,n);else if("LineString"===s)Y(t,h,i,r,n,!1,o.lineMetrics);else if("MultiLineString"===s)tt(t,h,i,r,n,!1);else if("Polygon"===s)tt(t,h,i,r,n,!0);else if("MultiPolygon"===s)for(const e of t){const t=[];tt(e,t,i,r,n,!0),t.length&&h.push(t)}if(h.length){if(o.lineMetrics&&"LineString"===s){for(const t of h)l.push(U(e.id,s,t,e.tags));continue}"LineString"!==s&&"MultiLineString"!==s||(1===h.length?(s="LineString",h=h[0]):s="MultiLineString"),"Point"!==s&&"MultiPoint"!==s||(s=3===h.length?"Point":"MultiPoint"),l.push(U(e.id,s,h,e.tags))}}return l.length?l:null}function J(t,e,i,r,n){for(let s=0;s=i&&a<=r&&et(e,t[s],t[s+1],t[s+2])}}function Y(t,e,i,r,n,s,a){let o=Q(t);const l=0===n?it:rt;let c,h,u=t.start;for(let d=0;di&&(h=l(o,p,f,_,g,i),a&&(o.start=u+c*h)):y>r?x=i&&(h=l(o,p,f,_,g,i),v=!0),x>r&&y<=r&&(h=l(o,p,f,_,g,r),v=!0),!s&&v&&(a&&(o.end=u+c*h),e.push(o),o=Q(t)),a&&(u+=c)}let d=t.length-3;const p=t[d],f=t[d+1],m=0===n?p:f;m>=i&&m<=r&&et(o,p,f,t[d+2]),d=o.length-3,s&&d>=3&&(o[d]!==o[0]||o[d+1]!==o[1])&&et(o,o[0],o[1],o[2]),o.length&&e.push(o)}function Q(t){const e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function tt(t,e,i,r,n,s){for(const a of t)Y(a,e,i,r,n,s,!1)}function et(t,e,i,r){t.push(e,i,r)}function it(t,e,i,r,n,s){const a=(s-e)/(r-e);return et(t,s,i+(n-i)*a,1),a}function rt(t,e,i,r,n,s){const a=(s-i)/(n-i);return et(t,e+(r-e)*a,s,1),a}function nt(t,e){const i=[];for(let r=0;r0&&e.size<(n?a:r))return void(i.numPoints+=e.length/3);const o=[];for(let t=0;ta)&&(i.numSimplified++,o.push(e[t],e[t+1])),i.numPoints++;n&&function(t,e){let i=0;for(let e=0,r=t.length,n=r-2;e0===e)for(let e=0,i=t.length;e24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");let r=function(t,e){const i=[];if("FeatureCollection"===t.type)for(let r=0;r1&&console.time("creation"),d=this.tiles[u]=lt(t,e,i,r,l),this.tileCoords.push({z:e,x:i,y:r}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,i,r,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd("creation"));const t=`z${e}`;this.stats[t]=(this.stats[t]||0)+1,this.total++}if(d.source=t,null==n){if(e===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else{if(e===l.maxZoom||e===n)continue;if(null!=n){const t=n-e;if(i!==s>>t||r!==a>>t)continue}}if(d.source=null,0===t.length)continue;c>1&&console.time("clipping");const p=.5*l.buffer/l.extent,f=.5-p,m=.5+p,_=1+p;let g=null,y=null,x=null,v=null,b=K(t,h,i-p,i+m,0,d.minX,d.maxX,l),w=K(t,h,i+f,i+_,0,d.minX,d.maxX,l);t=null,b&&(g=K(b,h,r-p,r+m,1,d.minY,d.maxY,l),y=K(b,h,r+f,r+_,1,d.minY,d.maxY,l),b=null),w&&(x=K(w,h,r-p,r+m,1,d.minY,d.maxY,l),v=K(w,h,r+f,r+_,1,d.minY,d.maxY,l),w=null),c>1&&console.timeEnd("clipping"),o.push(g||[],e+1,2*i,2*r),o.push(y||[],e+1,2*i,2*r+1),o.push(x||[],e+1,2*i+1,2*r),o.push(v||[],e+1,2*i+1,2*r+1)}}getTile(t,e,i){t=+t,e=+e,i=+i;const r=this.options,{extent:n,debug:s}=r;if(t<0||t>24)return null;const a=1<1&&console.log("drilling down to z%d-%d-%d",t,e,i);let l,c=t,h=e,u=i;for(;!l&&c>0;)c--,h>>=1,u>>=1,l=this.tiles[pt(c,h,u)];return l&&l.source?(s>1&&(console.log("found parent tile z%d-%d-%d",c,h,u),console.time("drilling down")),this.splitTile(l.source,c,h,u,t,e,i),s>1&&console.timeEnd("drilling down"),this.tiles[o]?at(this.tiles[o],n):null):null}}function pt(t,e,i){return 32*((1<{a.properties=t;const e={};for(const t of o)e[t]=r[t].evaluate(s,a);return e},e.reduce=(t,e)=>{a.properties=e;for(const e of o)s.accumulated=t[e],t[e]=n[e].evaluate(s,a)},e}(e)).load((yield this._pendingData).features):(n=yield this._pendingData,new dt(n,e.geojsonVtOptions)),this.loaded={};const i={};if(r){const t=r.finish();t&&(i.resourceTiming={},i.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}return i}catch(e){if(delete this._pendingRequest,t.bA(e))return{abandoned:!0};throw e}var n}))}getData(){return t._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(t){const e=this.loaded;return e&&e[t.uid]?super.reloadTile(t):this.loadTile(t)}loadAndProcessGeoJSON(e,i){return t._(this,void 0,void 0,(function*(){let r=yield this.loadGeoJSON(e,i);if(delete this._pendingRequest,"object"!=typeof r)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(c(r,!0),e.filter){const i=t.bB(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===i.result)throw new Error(i.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const n=r.features.filter((t=>i.value.evaluate({zoom:0},t)));r={type:"FeatureCollection",features:n}}return r}))}loadGeoJSON(e,i){return t._(this,void 0,void 0,(function*(){const{promoteId:r}=e;if(e.request){const n=yield t.h(e.request,i);return this._dataUpdateable=mt(n.data,r)?_t(n.data,r):void 0,n.data}if("string"==typeof e.data)try{const t=JSON.parse(e.data);return this._dataUpdateable=mt(t,r)?_t(t,r):void 0,t}catch(t){throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}if(!e.dataDiff)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${e.source}`);return function(t,e,i){var r,n,s,a;if(e.removeAll&&t.clear(),e.remove)for(const i of e.remove)t.delete(i);if(e.add)for(const r of e.add){const e=ft(r,i);null!=e&&t.set(e,r)}if(e.update)for(const i of e.update){let e=t.get(i.id);if(null==e)continue;const o=!i.removeAllProperties&&((null===(r=i.removeProperties)||void 0===r?void 0:r.length)>0||(null===(n=i.addOrUpdateProperties)||void 0===n?void 0:n.length)>0);if((i.newGeometry||i.removeAllProperties||o)&&(e=Object.assign({},e),t.set(i.id,e),o&&(e.properties=Object.assign({},e.properties))),i.newGeometry&&(e.geometry=i.newGeometry),i.removeAllProperties)e.properties={};else if((null===(s=i.removeProperties)||void 0===s?void 0:s.length)>0)for(const t of i.removeProperties)Object.prototype.hasOwnProperty.call(e.properties,t)&&delete e.properties[t];if((null===(a=i.addOrUpdateProperties)||void 0===a?void 0:a.length)>0)for(const{key:t,value:r}of i.addOrUpdateProperties)e.properties[t]=r}}(this._dataUpdateable,e.dataDiff,r),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(e){return t._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(t){return this._geoJSONIndex.getClusterExpansionZoom(t.clusterId)}getClusterChildren(t){return this._geoJSONIndex.getChildren(t.clusterId)}getClusterLeaves(t){return this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset)}}class yt{constructor(e){this.self=e,this.actor=new t.F(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(t,e)=>{if(this.externalWorkerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=e},this.self.addProtocol=t.bh,this.self.removeProtocol=t.bi,this.self.registerRTLTextPlugin=e=>{if(t.bC.isParsed())throw new Error("RTL text plugin already registered.");t.bC.setMethods(e)},this.actor.registerMessageHandler("LDT",((t,e)=>this._getDEMWorkerSource(t,e.source).loadTile(e))),this.actor.registerMessageHandler("RDT",((e,i)=>t._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(e,i.source).removeTile(i)})))),this.actor.registerMessageHandler("GCEZ",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterExpansionZoom(i)})))),this.actor.registerMessageHandler("GCC",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterChildren(i)})))),this.actor.registerMessageHandler("GCL",((e,i)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,i.type,i.source).getClusterLeaves(i)})))),this.actor.registerMessageHandler("LD",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadData(e))),this.actor.registerMessageHandler("GD",((t,e)=>this._getWorkerSource(t,e.type,e.source).getData())),this.actor.registerMessageHandler("LT",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadTile(e))),this.actor.registerMessageHandler("RT",((t,e)=>this._getWorkerSource(t,e.type,e.source).reloadTile(e))),this.actor.registerMessageHandler("AT",((t,e)=>this._getWorkerSource(t,e.type,e.source).abortTile(e))),this.actor.registerMessageHandler("RMT",((t,e)=>this._getWorkerSource(t,e.type,e.source).removeTile(e))),this.actor.registerMessageHandler("RS",((e,i)=>t._(this,void 0,void 0,(function*(){if(!this.workerSources[e]||!this.workerSources[e][i.type]||!this.workerSources[e][i.type][i.source])return;const t=this.workerSources[e][i.type][i.source];delete this.workerSources[e][i.type][i.source],void 0!==t.removeSource&&t.removeSource(i)})))),this.actor.registerMessageHandler("RM",(e=>t._(this,void 0,void 0,(function*(){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e]})))),this.actor.registerMessageHandler("SR",((e,i)=>t._(this,void 0,void 0,(function*(){this.referrer=i})))),this.actor.registerMessageHandler("SRPS",((t,e)=>this._syncRTLPluginState(t,e))),this.actor.registerMessageHandler("IS",((e,i)=>t._(this,void 0,void 0,(function*(){this.self.importScripts(i)})))),this.actor.registerMessageHandler("SI",((t,e)=>this._setImages(t,e))),this.actor.registerMessageHandler("UL",((e,i)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).update(i.layers,i.removedIds)})))),this.actor.registerMessageHandler("SL",((e,i)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).replace(i)}))))}_setImages(e,i){return t._(this,void 0,void 0,(function*(){this.availableImages[e]=i;for(const t in this.workerSources[e]){const r=this.workerSources[e][t];for(const t in r)r[t].availableImages=i}}))}_syncRTLPluginState(e,i){return t._(this,void 0,void 0,(function*(){if(t.bC.isParsed())return t.bC.getState();if("loading"!==i.pluginStatus)return t.bC.setState(i),i;const e=i.pluginURL;if(this.self.importScripts(e),t.bC.isParsed()){const i={pluginStatus:"loaded",pluginURL:e};return t.bC.setState(i),i}throw t.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${e}`)}))}_getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}_getLayerIndex(t){let i=this.layerIndexes[t];return i||(i=this.layerIndexes[t]=new e),i}_getWorkerSource(t,e,i){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][i]){const r={sendAsync:(e,i)=>(e.targetMapId=t,this.actor.sendAsync(e,i))};switch(e){case"vector":this.workerSources[t][e][i]=new s(r,this._getLayerIndex(t),this._getAvailableImages(t));break;case"geojson":this.workerSources[t][e][i]=new gt(r,this._getLayerIndex(t),this._getAvailableImages(t));break;default:this.workerSources[t][e][i]=new this.externalWorkerSourceTypes[e](r,this._getLayerIndex(t),this._getAvailableImages(t))}}return this.workerSources[t][e][i]}_getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new a),this.demWorkerSources[t][e]}}return t.i(self)&&(self.worker=new yt(self)),yt})),i("index",["exports","./shared"],(function(t,e){var i="4.6.0";let r,n;const s={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,r)=>{const n=requestAnimationFrame(i);t.signal.addEventListener("abort",(()=>{cancelAnimationFrame(n),r(e.c())}))})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement("canvas"),i=e.getContext("2d",{willReadFrequently:!0});if(!i)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(r||(r=document.createElement("a")),r.href=t,r.href),hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==n&&(n=matchMedia("(prefers-reduced-motion: reduce)")),n.matches)}};class a{static testProp(t){if(!a.docStyle)return t[0];for(let e=0;e{window.removeEventListener("click",a.suppressClickInternal,!0)}),0)}static getScale(t){const e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,r){const n=i.boundingClientRect;return new e.P((r.clientX-n.left)/i.x-t.clientLeft,(r.clientY-n.top)/i.y-t.clientTop)}static mousePos(t,e){const i=a.getScale(t);return a.getPoint(t,i,e)}static touchPos(t,e){const i=[],r=a.getScale(t);for(let n=0;n{l&&d(l),l=null,u=!0},c.onerror=()=>{h=!0,l=null},c.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(t){let i,r,n,s;t.resetRequestQueue=()=>{i=[],r=0,n=0,s={}},t.addThrottleControl=t=>{const e=n++;return s[e]=t,e},t.removeThrottleControl=t=>{delete s[t],l()},t.getImage=(t,r,n=!0)=>new Promise(((s,a)=>{o.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),e.e(t,{type:"image"}),i.push({abortController:r,requestParameters:t,supportImageRefresh:n,state:"queued",onError:t=>{a(t)},onSuccess:t=>{s(t)}}),l()}));const a=t=>e._(this,void 0,void 0,(function*(){t.state="running";const{requestParameters:i,supportImageRefresh:n,onError:s,onSuccess:a,abortController:o}=t,h=!1===n&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&"accept"===e),!0));r++;const u=h?c(i,o):e.m(i,o);try{const i=yield u;delete t.abortController,t.state="completed",i.data instanceof HTMLImageElement||e.b(i.data)?a(i):i.data&&a({data:yield(d=i.data,"function"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires})}catch(e){delete t.abortController,s(e)}finally{r--,l()}var d})),l=()=>{const t=(()=>{for(const t of Object.keys(s))if(s[t]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=r;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:a(t)}},c=(t,i)=>new Promise(((r,n)=>{const s=new Image,a=t.url,o=t.credentials;o&&"include"===o?s.crossOrigin="use-credentials":(o&&"same-origin"===o||!e.s(a))&&(s.crossOrigin="anonymous"),i.signal.addEventListener("abort",(()=>{s.src="",n(e.c())})),s.fetchPriority="high",s.onload=()=>{s.onerror=s.onload=null,r({data:s})},s.onerror=()=>{s.onerror=s.onload=null,i.signal.aborted||n(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."))},s.src=a}))}(p||(p={})),p.resetRequestQueue();class f{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var _,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};_=new e.A(3),e.A!=Float32Array&&(_[0]=0,_[1]=0,_[2]=0);var y=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if("string"==typeof t)e.push({id:"default",url:t});else if(t&&t.length>0){const i=[];for(const{id:r,url:n}of t){const t=`${r}${n}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:r,url:n}))}}return e}function v(t,e,i){const r=t.split("?");return r[0]+=`${e}${i}`,r.join("?")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0)}();class b{constructor(t,e,i,r){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,r)}update(t,i,r){const{width:n,height:s}=t,a=!(this.size&&this.size[0]===n&&this.size[1]===s||r),{context:o}=this,{gl:l}=o;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),a)this.size=[n,s],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,n,s,0,this.format,l.UNSIGNED_BYTE,t.data);else{const{x:i,y:a}=r||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,a,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,a,n,s,l.RGBA,l.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(t,e,i){const{context:r}=this,{gl:n}=r;n.bindTexture(n.TEXTURE_2D,this.texture),i!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function w(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[]}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e)}_validate(t,i){let r=!0;const n=i.data||i.spriteData;return this._validateStretch(i.stretchX,n&&n.width)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchX" value`))),r=!1),this._validateStretch(i.stretchY,n&&n.height)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchY" value`))),r=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "content" value`))),r=!1),r}_validateStretch(t,e){if(!t)return!0;let i=0;for(const r of t){if(r[0]{let r=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(r=!1);this.isLoaded()||r?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e})}))}_getImagesForIds(t){const i={};for(const r of t){let t=this.getImage(r);t||(this.fire(new e.k("styleimagemissing",{id:r})),t=this.getImage(r)),t?i[r]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image "${r}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return{width:t,height:e}}getPattern(t){const i=this.patterns[t],r=this.getImage(t);if(!r)return null;if(i&&i.position.version===r.version)return i.position;if(i)i.position.version=r.version;else{const i={w:r.data.width+2,h:r.data.height+2,x:0,y:0},n=new e.I(i,r);this.patterns[t]={bin:i,position:n}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:r}=e.p(t),n=this.atlasImage;n.resize({width:i||1,height:r||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],r=i.x+1,s=i.y+1,a=this.getImage(t).data,o=a.width,l=a.height;e.R.copy(a,n,{x:0,y:0},{x:r,y:s},{width:o,height:l}),e.R.copy(a,n,{x:0,y:l-1},{x:r,y:s-1},{width:o,height:1}),e.R.copy(a,n,{x:0,y:0},{x:r,y:s+l},{width:o,height:1}),e.R.copy(a,n,{x:o-1,y:0},{x:r-1,y:s},{width:1,height:l}),e.R.copy(a,n,{x:0,y:0},{x:r+o,y:s},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: "${i}" was not found`),w(t)&&this.updateImage(i,t)}}}const S=1e20;function I(t,e,i,r,n,s,a,o,l){for(let c=e;c-1);l++,s[l]=o,a[l]=c,a[l+1]=S}for(let o=0,l=0;o65535)throw new Error("glyphs > 65535 not supported");if(e.ranges[n])return{stack:t,id:i,glyph:r};if(!this.url)throw new Error("glyphsUrl is not set");if(!e.requests[n]){const i=A.loadGlyphRange(t,n,this.url,this.requestManager);e.requests[n]=i}const s=yield e.requests[n];for(const t in s)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=s[+t]);return e.ranges[n]=!0,{stack:t,id:i,glyph:s[i]||null}}))}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&/\p{Ideo}|\p{sc=Hang}|\p{sc=Hira}|\p{sc=Kana}/u.test(String.fromCodePoint(t))}_tinySDF(t,i,r){const n=this.localIdeographFontFamily;if(!n)return;if(!this._doesCharSupportLocalGlyph(r))return;let s=t.tinySDF;if(!s){let e="400";/bold/i.test(i)?e="900":/medium/i.test(i)?e="500":/light/i.test(i)&&(e="200"),s=t.tinySDF=new A.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:n,fontWeight:e})}const a=s.draw(String.fromCharCode(r));return{id:r,bitmap:new e.o({width:a.width||60,height:a.height||60},a.data),metrics:{width:a.glyphWidth/2||24,height:a.glyphHeight/2||24,left:a.glyphLeft/2+.5||0,top:a.glyphTop/2-27.5||-8,advance:a.glyphAdvance/2||24,isDoubleResolution:!0}}}}A.loadGlyphRange=function(t,i,r,n){return e._(this,void 0,void 0,(function*(){const s=256*i,a=s+255,o=n.transformRequest(r.replace("{fontstack}",t).replace("{range}",`${s}-${a}`),"Glyphs"),l=yield e.l(o,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${s}-${a}`);const c={};for(const t of e.n(l.data))c[t.id]=t;return c}))},A.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:r=.25,fontFamily:n="sans-serif",fontWeight:s="normal",fontStyle:a="normal"}={}){this.buffer=e,this.cutoff=r,this.radius=i;const o=this.size=t+4*e,l=this._createCanvas(o),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${a} ${s} ${t}px ${n}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Uint16Array(o)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:r,actualBoundingBoxLeft:n,actualBoundingBoxRight:s}=this.ctx.measureText(t),a=Math.ceil(i),o=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(s-n))),l=Math.min(this.size-this.buffer,a+Math.ceil(r)),c=o+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:o,glyphHeight:l,glyphTop:a,glyphLeft:0,glyphAdvance:e};if(0===o||0===l)return p;const{ctx:f,buffer:m,gridInner:_,gridOuter:g}=this;f.clearRect(m,m,o,l),f.fillText(t,m,m+a);const y=f.getImageData(m,m,o,l);g.fill(S,0,u),_.fill(0,0,u);for(let t=0;t0?t*t:0,_[r]=t<0?t*t:0}}I(g,0,0,c,h,c,this.f,this.v,this.z),I(_,m,m,o,l,c,this.f,this.v,this.z);for(let t=0;t1&&(a=t[++s]);const l=Math.abs(o-a.left),c=Math.abs(o-a.right),h=Math.min(l,c);let u;const d=e/i*(r+1);if(a.isDash){const t=r-Math.abs(d);u=Math.sqrt(h*h+t*t)}else u=r-Math.sqrt(h*h+d*d);this.data[n+o]=Math.max(0,Math.min(255,u+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],r=t[e+1];i.zeroLength?t.splice(e,1):r&&r.isDash===i.isDash&&(r.left=i.left,t.splice(e,1))}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const r=this.width*this.nextRow;let n=0,s=t[n];for(let e=0;e1&&(s=t[++n]);const i=Math.abs(e-s.left),a=Math.abs(e-s.right),o=Math.min(i,a);this.data[r+e]=Math.max(0,Math.min(255,(s.isDash?o:-o)+128))}}addDash(t,i){const r=i?7:0,n=2*r+1;if(this.nextRow+n>this.height)return e.w("LineAtlas out of space"),null;let s=0;for(let e=0;e{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[L]}numActive(){return Object.keys(this.active).length}}const B=Math.floor(s.hardwareConcurrency/2);let F,O;function V(){return F||(F=new R),F}R.workerCount=e.C(globalThis)?Math.max(Math.min(B,3),1):1;class N{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const r=this.workerPool.acquire(i);for(let t=0;t{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e)}}function j(){return O||(O=new N(V(),e.G),O.registerMessageHandler("GR",((t,i,r)=>e.m(i,r)))),O}function U(t,i){const r=e.H();return e.J(r,r,[1,1,0]),e.K(r,r,[.5*t.width,.5*t.height,1]),e.L(r,r,t.calculatePosMatrix(i.toUnwrapped()))}function $(t,e,i,r,n,s){const a=function(t,e,i){if(t)for(const r of t){const t=e[r];if(t&&t.source===i&&"fill-extrusion"===t.type)return!0}else for(const t in e){const r=e[t];if(r.source===i&&"fill-extrusion"===r.type)return!0}return!1}(n&&n.layers,e,t.id),o=s.maxPitchScaleFactor(),l=t.tilesIn(r,o,a);l.sort(q);const c=[];for(const r of l)c.push({wrappedTileID:r.tileID.wrapped().key,queryResults:r.tile.queryRenderedFeatures(e,i,t._state,r.queryGeometry,r.cameraQueryGeometry,r.scale,n,s,o,U(t.transform,r.tileID))});const h=function(t){const e={},i={};for(const r of t){const t=r.queryResults,n=r.wrappedTileID,s=i[n]=i[n]||{};for(const i in t){const r=t[i],n=s[i]=s[i]||{},a=e[i]=e[i]||[];for(const t of r)n[t.featureIndex]||(n[t.featureIndex]=!0,a.push(t))}}return e}(c);for(const e in h)h[e].forEach((e=>{const i=e.feature,r=t.getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=r}));return h}function q(t,e){const i=t.tileID,r=e.tileID;return i.overscaledZ-r.overscaledZ||i.canonical.y-r.canonical.y||i.wrap-r.wrap||i.canonical.x-r.canonical.x}function Z(t,i,r){return e._(this,void 0,void 0,(function*(){let n=t;if(t.url?n=(yield e.h(i.transformRequest(t.url,"Source"),r)).data:yield s.frameAsync(r),!n)return null;const a=e.M(e.e(n,t),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in n&&n.vector_layers&&(a.vectorLayerIds=n.vector_layers.map((t=>t.id))),a}))}class G{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const i=this._sw,r=this._ne;let n,s;if(t instanceof e.N)n=t,s=t;else{if(!(t instanceof G))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(G.convert(t)):this.extend(e.N.convert(t)):t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(e.N.convert(t)):this;if(n=t._sw,s=t._ne,!n||!s)return this}return i||r?(i.lng=Math.min(n.lng,i.lng),i.lat=Math.min(n.lat,i.lat),r.lng=Math.max(s.lng,r.lng),r.lat=Math.max(s.lat,r.lat)):(this._sw=new e.N(n.lng,n.lat),this._ne=new e.N(s.lng,s.lat)),this}getCenter(){return new e.N((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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(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(t){const{lng:i,lat:r}=e.N.convert(t);let n=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(n=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=r&&r<=this._ne.lat&&n}static convert(t){return t instanceof G?t:t?new G(t):t}static fromLngLat(t,i=0){const r=360*i/40075017,n=r/Math.cos(Math.PI/180*t.lat);return new G(new e.N(t.lng-n,t.lat-r),new e.N(t.lng+n,t.lat+r))}}class H{constructor(t,e,i){this.bounds=G.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),r=Math.floor(e.O(this.bounds.getWest())*i),n=Math.floor(e.Q(this.bounds.getNorth())*i),s=Math.ceil(e.O(this.bounds.getEast())*i),a=Math.ceil(e.Q(this.bounds.getSouth())*i);return t.x>=r&&t.x=n&&t.y{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let r="RT";if(t.actor&&"expired"!==t.state){if("loading"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i}}))}else t.actor=this.dispatcher.getActor(),r="LT";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:r,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e)}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null)}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject)}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class W 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.M(i,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const t=yield Z(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new H(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t))}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}serialize(){return e.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield p.getImage(this.map._requestManager.transformRequest(e,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,r=e.gl,n=i.data;t.texture=this.map.painter.getTileTexture(n.width),t.texture?t.texture.update(n,{useMipmap:!0}):(t.texture=new b(e,n,r.RGBA,{useMipmap:!0}),t.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE,r.LINEAR_MIPMAP_NEAREST)),t.state="loaded"}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)}))}hasTransition(){return!1}}class K extends W{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",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r=this.map._requestManager.transformRequest(i,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield p.getImage(r,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(i&&i.data){const r=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const n=e.b(r)&&e.U()?r:yield this.readImageNow(r),s={type:this.type,uid:t.uid,source:this.id,rawImageData:n,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||"expired"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:"LDT",data:s});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if("undefined"!=typeof VideoFrame&&e.V()){const i=t.width+2,r=t.height+2;try{return new e.R({width:i,height:r},yield e.W(t,-1,-1,i,r))}catch(t){}}return s.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,r=Math.pow(2,i.z),n=(i.x-1+r)%r,s=0===i.x?t.wrap-1:t.wrap,a=(i.x+1+r)%r,o=i.x+1===r?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,s,i.z,n,i.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,o,i.z,a,i.y).key]={backfilled:!1},i.y>0&&(l[new e.S(t.overscaledZ,s,i.z,n,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,o,i.z,a,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(n,{resourceTiming:r}),this.fire(new e.k("data",Object.assign(Object.assign({},n),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},n),{sourceDataType:"content"})))}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(t))}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?"RT":"LT";t.actor=this.actor;const i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const r=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(r,this.map.painter,"RT"===e)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var Y=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Q extends e.E{constructor(t,e,i,r){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(r),this.options=e}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading())}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t))}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const i=t.map(e.Z.fromLngLat);this.tileID=function(t){let i=1/0,r=1/0,n=-1/0,s=-1/0;for(const e of t)i=Math.min(i,e.x),r=Math.min(r,e.y),n=Math.max(n,e.x),s=Math.max(s,e.y);const a=Math.max(n-i,s-r),o=Math.max(0,Math.floor(-Math.log(a)/Math.LN2)),l=Math.pow(2,o);return new e.a1(o,Math.floor((i+n)/2*l),Math.floor((r+s)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const r=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(r[0].x,r[0].y,0,0),this._boundsArray.emplaceBack(r[1].x,r[1].y,e.X,0),this._boundsArray.emplaceBack(r[3].x,r[3].y,0,e.X),this._boundsArray.emplaceBack(r[2].x,r[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let r=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,r=!0)}r&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class tt extends Q{constructor(t,e,i,r){super(t,e,i,r),this.roundZoom=!0,this.type="video",this.options=e}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,"Source").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new e.j(t))}}))}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.j(new e.a2(`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(t){this.map||(this.map=t,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.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),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 b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let r=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,r=!0)}r&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class et extends Q{constructor(t,i,r,n){super(t,i,r,n),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "coordinates"'))),i.animate&&"boolean"!=typeof i.animate&&this.fire(new e.j(new e.a2(`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.j(new e.a2(`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.j(new e.a2(`sources.${t}`,null,'missing required property "canvas"'))),this.options=i,this.animate=void 0===i.animate||i.animate}load(){return e._(this,void 0,void 0,(function*(){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.j(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(t){this.map=t,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,r=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,r.RGBA,{premultiply:!0});let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const it={},rt=t=>{switch(t){case"geojson":return J;case"image":return Q;case"raster":return W;case"raster-dem":return K;case"vector":return X;case"video":return tt;case"canvas":return et}return it[t]},nt="RTLPluginLoaded";class st extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=j()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status="error",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=s.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if("unavailable"===this.status){if(!e)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(nt))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let at=null;function ot(){return at||(at=new st),at}class lt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){r.layers=t,r.stateDependentLayerIds&&(r.stateDependentLayers=r.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=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.a6){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.a6&&i.hasRTLText){this.hasRTLText=!0,ot().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,i,r,n,s,a,o,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:s,tileSize:this.tileSize,pixelPosMatrix:c,transform:o,params:a,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const r=this.latestFeatureIndex;if(!r||!r.rawTileData)return;const n=r.loadVTLayers(),s=i&&i.sourceLayer?i.sourceLayer:"",a=n._geojsonTileLayer||n[s];if(!a)return;const o=e.a7(i&&i.filter),{z:l,x:c,y:h}=this.tileID.canonical,u={z:l,x:c,y:h};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,n)}),i)),this.data[r].push(n),this.order.push(r),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,r=void 0===e?0:this.data[i].indexOf(e),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(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const i in this.data)for(const r of this.data[i])t(r.value)||e.push(r);for(const t of e)this.remove(t.value.tileID,t)}}class ht{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(t,e,i){if(null===this.deletedStates[t])return;const r=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][r]&&(this.deletedStates[t][r]=this.deletedStates[t][r]||{},this.deletedStates[t][r][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][r])for(i in this.deletedStates[t][r]={},this.stateChanges[t][r])this.deletedStates[t][r][i]=null;else this.deletedStates[t][r]=null;else this.deletedStates[t]=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(t,e){t.setFeatureState(this.state,e)}coalesceChanges(t,i){const r={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const r in this.stateChanges[t])this.state[t][r]||(this.state[t][r]={}),e.e(this.state[t][r],this.stateChanges[t][r]),i[r]=this.state[t][r];r[t]=i}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e]}r[t]=r[t]||{},e.e(r[t],i)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(const e in t)t[e].setFeatureState(r,i)}}class ut extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on("data",(t=>this._dataHandler(t))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,i,r)=>{const n=new(rt(e.type))(t,e,i,r);if(n.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${n.id}`);return n})(t,e,i,this),this._tiles={},this._cache=new ct(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ht,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,i,r){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,r)}catch(i){t.state="errored",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain)}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k("dataabort",{tile:t,coord:t.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(dt).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const r=t.tileID,n=i.tileID,s=new e.P(r.canonical.x,r.canonical.y)._rotate(this.transform.angle),a=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle);return r.overscaledZ-n.overscaledZ||a.y-s.y||a.x-s.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(dt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&("loading"!==e.state&&(e.state=i),yield this._loadTile(e,t,i))}))}_tileLoaded(t,i,r){t.timeAdded=s.now(),"expired"===r&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:t,coord:t.tileID}))}_backfillDEM(t){const e=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)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,r),t.neighboringTiles&&t.neighboringTiles[s]&&(t.neighboringTiles[s].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,r){for(const n in this._tiles){let s=this._tiles[n];if(r[n]||!s.hasData()||s.tileID.overscaledZ<=e||s.tileID.overscaledZ>i)continue;let a=s.tileID;for(;s&&s.tileID.overscaledZ>e+1;){const t=s.tileID.scaledTo(s.tileID.overscaledZ-1);s=this._tiles[t.key],s&&s.hasData()&&(a=t)}let o=a;for(;o.overscaledZ>e;)if(o=o.scaledTo(o.overscaledZ-1),t[o.key]){r[a.key]=a;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),r=this._getLoadedTile(e);if(r)return r}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,r=Math.ceil(t.height/this._source.tileSize)+1,n=Math.floor(i*r*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),s="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,n):n;this._cache.setMaxSize(s)}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const r=this._tiles[i];r.tileID=r.tileID.unwrapTo(r.tileID.wrap+e),t[r.tileID.key]=r}this._tiles=t;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])}}_updateCoveredAndRetainedTiles(t,e,i,r,n,a){const o={},l={},c=Object.keys(t),h=s.now();for(const i of c){const r=t[i],n=this._tiles[i];if(!n||0!==n.fadeEndTime&&n.fadeEndTime<=h)continue;const s=this.findLoadedParent(r,e),a=this.findLoadedSibling(r),c=s||a||null;c&&(this._addTile(c.tileID),o[c.tileID.key]=c.tileID),l[i]=r}this._retainLoadedChildren(l,r,i,t);for(const e in o)t[e]||(this._coveredTiles[e]=!0,t[e]=o[e]);if(a){const e={},i={};for(const t of n)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const r in i){const n=i[r].children(this._source.maxzoom);this._tiles[n[0].key]&&this._tiles[n[1].key]&&this._tiles[n[2].key]&&this._tiles[n[3].key]&&(e[n[0].key]=t[n[0].key]=n[0],e[n[1].key]=t[n[1].key]=n[1],e[n[2].key]=t[n[2].key]=n[2],e[n[3].key]=t[n[3].key]=n[3],delete i[r])}for(const r in i){const n=i[r],s=this.findLoadedParent(n,this._source.minzoom),a=this.findLoadedSibling(n),o=s||a||null;if(o){e[o.tileID.key]=t[o.tileID.key]=o.tileID;for(const t in e)e[t].isChildOf(o.tileID)&&delete e[t]}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0)}}update(t,i){if(!this._sourceLoaded||this._paused)return;let r;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?r=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(r=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(r=r.filter((t=>this._source.hasTile(t))))):r=[];const n=t.coveringZoomLevel(this._source),s=Math.max(n-ut.maxOverzooming,this._source.minzoom),a=Math.max(n+ut.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of r)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const r=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[r.key]=r}r=r.concat(Object.values(t))}const o=0===r.length&&!this._updated&&this._didEmitContent;this._updated=!0,o&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const l=this._updateRetainedTiles(r,n);pt(this._source.type)&&this._updateCoveredAndRetainedTiles(l,s,a,n,r,i);for(const t in l)this._tiles[t].clearFadeHold();const c=e.ab(this._tiles,l);for(const t of c){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){var i;const r={},n={},s=Math.max(e-ut.maxOverzooming,this._source.minzoom),a=Math.max(e+ut.maxUnderzooming,this._source.minzoom),o={};for(const i of t){const t=this._addTile(i);r[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=a.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){r[t.key]=t;continue}}else{const t=a.children(this._source.maxzoom);if(r[t[0].key]&&r[t[1].key]&&r[t[2].key]&&r[t[3].key])continue}let o=t.wasRequested();for(let e=a.overscaledZ-1;e>=s;--e){const s=a.scaledTo(e);if(n[s.key])break;if(n[s.key]=!0,t=this.getTile(s),!t&&o&&(t=this._addTile(s)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||o)&&(r[s.key]=s),o=t.wasRequested(),e)break}}}return r}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,r=this._tiles[t].tileID;for(;r.overscaledZ>0;){if(r.key in this._loadedParentTiles){i=this._loadedParentTiles[r.key];break}e.push(r.key);const t=r.scaledTo(r.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;r=t}for(const t of e)this._loadedParentTiles[t]=i}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i}}_addTile(t){let i=this._tiles[t.key];if(i)return 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=i;return i||(i=new lt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,r||this._source.fire(new e.k("dataloading",{tile:i,coord:i.tileID,dataType:"source"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),i))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}_dataHandler(t){const e=t.sourceDataType;"source"===t.dataType&&"metadata"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,i,r){const n=[],s=this.transform;if(!s)return n;const a=r?s.getCameraQueryGeometry(t):t,o=t.map((t=>s.pointCoordinate(t,this.terrain))),l=a.map((t=>s.pointCoordinate(t,this.terrain))),c=this.getIds();let h=1/0,u=1/0,d=-1/0,p=-1/0;for(const t of l)h=Math.min(h,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),p=Math.max(p,t.y);for(let t=0;t=0&&_[1].y+m>=0){const t=o.map((t=>a.getTilePoint(t))),e=l.map((t=>a.getTilePoint(t)));n.push({tile:r,tileID:a,queryGeometry:t,cameraQueryGeometry:e,scale:f})}}return n}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(pt(this._source.type)){const t=s.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return!0}return!1}setFeatureState(t,e,i){this._state.updateState(t=t||"_geojsonTileLayer",e,i)}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||"_geojsonTileLayer",e,i)}getFeatureState(t,e){return this._state.getState(t=t||"_geojsonTileLayer",e)}setDependencies(t,e,i){const r=this._tiles[t];r&&r.setDependencies(e,i)}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,"reloading");this._cache.filter((i=>!i.hasDependency(t,e)))}}function dt(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),r=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||r-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function pt(t){return"raster"===t||"image"===t||"video"===t}ut.maxOverzooming=10,ut.maxUnderzooming=3;class ft{constructor(t,e){this.reset(t,e)}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(n-a)/o:0;return this.points[s].mult(1-l).add(this.points[i].mult(l))}}function mt(t,e){let i=!0;return"always"===t||"never"!==t&&"never"!==e||(i=!1),i}class _t{constructor(t,e,i){const r=this.boxCells=[],n=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||r<0||e>this.height)return[];const o=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=r){if(n)return[{key:null,x1:t,y1:e,x2:i,y2:r}];for(let t=0;t0}hitTestCircle(t,e,i,r,n){const s=t-i,a=t+i,o=e-i,l=e+i;if(a<0||s>this.width||l<0||o>this.height)return!1;const c=[];return this._forEachCell(s,o,a,l,this._queryCellCircle,c,{hitTest:!0,overlapMode:r,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},n),c.length>0}_queryCell(t,e,i,r,n,s,a,o){const{seenUids:l,hitTest:c,overlapMode:h}=a,u=this.boxCells[n];if(null!==u){const n=this.bboxes;for(const a of u)if(!l.box[a]){l.box[a]=!0;const u=4*a,d=this.boxKeys[a];if(t<=n[u+2]&&e<=n[u+3]&&i>=n[u+0]&&r>=n[u+1]&&(!o||o(d))&&(!c||!mt(h,d.overlapMode))&&(s.push({key:d,x1:n[u],y1:n[u+1],x2:n[u+2],y2:n[u+3]}),c))return!0}}const d=this.circleCells[n];if(null!==d){const n=this.circles;for(const a of d)if(!l.circle[a]){l.circle[a]=!0;const u=3*a,d=this.circleKeys[a];if(this._circleAndRectCollide(n[u],n[u+1],n[u+2],t,e,i,r)&&(!o||o(d))&&(!c||!mt(h,d.overlapMode))){const t=n[u],e=n[u+1],i=n[u+2];if(s.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),c)return!0}}}return!1}_queryCellCircle(t,e,i,r,n,s,a,o){const{circle:l,seenUids:c,overlapMode:h}=a,u=this.boxCells[n];if(null!==u){const t=this.bboxes;for(const e of u)if(!c.box[e]){c.box[e]=!0;const i=4*e,r=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!o||o(r))&&!mt(h,r.overlapMode))return s.push(!0),!0}}const d=this.circleCells[n];if(null!==d){const t=this.circles;for(const e of d)if(!c.circle[e]){c.circle[e]=!0;const i=3*e,r=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!o||o(r))&&!mt(h,r.overlapMode))return s.push(!0),!0}}}_forEachCell(t,e,i,r,n,s,a,o){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),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,t,e,i,r,this.xCellCount*l+d,s,a,o))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,r,n,s){const a=r-t,o=n-e,l=i+s;return l*l>a*a+o*o}_circleAndRectCollide(t,e,i,r,n,s,a){const o=(s-r)/2,l=Math.abs(t-(r+o));if(l>o+i)return!1;const c=(a-n)/2,h=Math.abs(e-(n+c));if(h>c+i)return!1;if(l<=o||h<=c)return!0;const u=l-o,d=h-c;return u*u+d*d<=i*i}}function gt(t,i,r,n,s){const a=e.H();return i?(e.K(a,a,[1/s,1/s,1]),r||e.ad(a,a,n.angle)):e.L(a,n.labelPlaneMatrix,t),a}function yt(t,i,r,n,s){if(i){const i=e.ae(t);return e.K(i,i,[s,s,1]),r||e.ad(i,i,-n.angle),i}return n.glCoordMatrix}function xt(t,i,r){let n;r?(n=[t.x,t.y,r(t.x,t.y),1],e.af(n,n,i)):(n=[t.x,t.y,0,1],function(t,e,i){const r=e[0],n=e[1];t[0]=i[0]*r+i[4]*n+i[12],t[1]=i[1]*r+i[5]*n+i[13],t[3]=i[3]*r+i[7]*n+i[15]}(n,n,i));const s=n[3];return{point:new e.P(n[0]/s,n[1]/s),signedDistanceFromCamera:s,isOccluded:!1}}function vt(t,e){return.5+t/e*.5}function bt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function wt(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m){const _=n?t.textSizeData:t.iconSizeData,g=e.ag(_,r.transform.zoom),y=[256/r.width*2+1,256/r.height*2+1],x=n?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const v=t.lineVertexArray,b=n?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=r.transform.width/r.transform.height;let T=!1;for(let n=0;nMath.abs(r.x-i.x)*n?{useVertical:!0}:(t===e.ah.vertical?i.yr.x)?{needsFlipping:!0}:null}function It(t,i,r,n,s,a,o,l,c,h,u){const d=r/24,p=i.lineOffsetX*d,f=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,r=i.lineStartIndex,a=i.lineStartIndex+i.lineLength,c=Tt(d,l,p,f,n,i,u,t);if(!c)return{notEnoughRoom:!0};const _=xt(c.first.point,o,t.getElevation).point,g=xt(c.last.point,o,t.getElevation).point;if(s&&!n){const t=St(i.writingMode,_,g,h);if(t)return t}m=[c.first];for(let s=i.glyphStartIndex+1;s0?o.point:function(t,e,i,r,n,s){return Pt(t,e,i,1,n,s)}(t.tileAnchorPoint,s,r,0,a,t),c=St(i.writingMode,r,l,h);if(c)return c}const r=zt(d*l.getoffsetX(i.glyphStartIndex),p,f,n,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!r||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[r]}for(const t of m)e.aj(c,t.point,t.angle);return{}}function Pt(t,e,i,r,n,s){const a=t.add(t.sub(e)._unit()),o=void 0!==n?xt(a,n,s.getElevation).point:Mt(a.x,a.y,s).point,l=i.sub(o);return i.add(l._mult(r/l.mag()))}function At(t,i,r){const n=i.projectionCache;if(n.projections[t])return n.projections[t];const s=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),a=Mt(s.x,s.y,i);if(a.signedDistanceFromCamera>0)return n.projections[t]=a.point,n.anyProjectionOccluded=n.anyProjectionOccluded||a.isOccluded,a.point;const o=t-r.direction;return function(t,e,i,r,n){return Pt(t,e,i,r,void 0,n)}(0===r.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(o),i.lineVertexArray.gety(o)),s,r.previousVertex,r.absOffsetX-r.distanceFromAnchor+1,i)}function Mt(t,i,r){const n=t+r.translation[0],s=i+r.translation[1];let a;return!r.pitchWithMap&&r.projection.useSpecialProjectionForSymbols?(a=r.projection.projectTileCoordinates(n,s,r.unwrappedTileID,r.getElevation),a.point.x=(.5*a.point.x+.5)*r.width,a.point.y=(.5*-a.point.y+.5)*r.height):(a=xt(new e.P(n,s),r.labelPlaneMatrix,r.getElevation),a.isOccluded=!1),a}function kt(t,e,i){return t._unit()._perp()._mult(e*i)}function Ct(t,i,r,n,s,a,o,l,c){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const h=r.add(i);if(t+c.direction=s)return l.projectionCache.offsets[t]=h,h;const u=At(t+c.direction,l,c),d=kt(u.sub(r),o,c.direction),p=r.add(d),f=u.add(d);return l.projectionCache.offsets[t]=e.ak(a,h,p,f)||h,l.projectionCache.offsets[t]}function zt(t,e,i,r,n,s,a,o,l){const c=r?t-e:t+e;let h=c>0?1:-1,u=0;r&&(h*=-1,u=Math.PI),h<0&&(u+=Math.PI);let d,p=h>0?s+n:s+n+1;o.projectionCache.cachedAnchorPoint?d=o.projectionCache.cachedAnchorPoint:(d=Mt(o.tileAnchorPoint.x,o.tileAnchorPoint.y,o).point,o.projectionCache.cachedAnchorPoint=d);let f,m,_=d,g=d,y=0,x=0;const v=Math.abs(c),b=[];let w;for(;y+x<=v;){if(p+=h,p=a)return null;y+=x,g=_,m=f;const t={absOffsetX:v,direction:h,distanceFromAnchor:y,previousVertex:g};if(_=At(p,o,t),0===i)b.push(g),w=_.sub(g);else{let e;const r=_.sub(g);e=0===r.mag()?kt(At(p+h,o,t).sub(_),i,h):kt(r,i,h),m||(m=g.add(e)),f=Ct(p,e,_,s,a,m,i,o,t),b.push(m),w=f.sub(m)}x=w.mag()}const T=w._mult((v-y)/x)._add(m||g),S=u+Math.atan2(_.y-g.y,_.x-g.x);return b.push(T),{point:T,angle:l?S:0,path:b}}const Et=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Dt(t,e){for(let i=0;i=1;t--)l.push(a.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=r.x&&i.x<=n.x&&t.y>=r.y&&i.y<=n.y?[l]:i.xn.x||i.yn.y?[]:e.al([l],r.x,r.y,n.x,n.y)}for(const e of m){s.reset(e,.25*i);let r=0;r=s.length<=.5*i?1:Math.ceil(s.paddedLength/u)+1;for(let e=0;ext(t,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const i=[];let r=1/0,n=1/0,s=-1/0,a=-1/0;for(const o of t){const t=new e.P(o.x+Lt,o.y+Lt);r=Math.min(r,t.x),n=Math.min(n,t.y),s=Math.max(s,t.x),a=Math.max(a,t.y),i.push(t)}const o=this.grid.query(r,n,s,a).concat(this.ignoredGrid.query(r,n,s,a)),l={},c={};for(const t of o){const r=t.key;if(void 0===l[r.bucketInstanceId]&&(l[r.bucketInstanceId]={}),l[r.bucketInstanceId][r.featureIndex])continue;const n=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.am(i,n)&&(l[r.bucketInstanceId][r.featureIndex]=!0,void 0===c[r.bucketInstanceId]&&(c[r.bucketInstanceId]=[]),c[r.bucketInstanceId].push(r.featureIndex))}return c}insertCollisionBox(t,e,i,r,n,s){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:r,featureIndex:n,collisionGroupID:s,overlapMode:e},t[0],t[1],t[2],t[3])}insertCollisionCircles(t,e,i,r,n,s){const a=i?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:s,overlapMode:e};for(let e=0;e=this.screenRightBoundary||rthis.screenBottomBoundary}isInsideGrid(t,e,i,r){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(r,t.x,t.y,n,c)));I=t.some((t=>!t.isOccluded)),S=t.map((t=>t.point))}else I=!0;return{box:e.ao(S),allPointsOccluded:!I}}}function Bt(t,i,r){return i*(e.X/(t.tileSize*Math.pow(2,r-t.tileID.overscaledZ)))}class Ft{constructor(t,e,i,r){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):r&&i?1:0,this.placed=i}isHidden(){return 0===this.opacity&&!this.placed}}class Ot{constructor(t,e,i,r,n){this.text=new Ft(t?t.text:null,e,i,n),this.icon=new Ft(t?t.icon:null,e,r,n)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i}}class Nt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class jt{constructor(t,e,i,r,n){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=r,this.tileID=n}}class Ut{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e}}return this.collisionGroups[t]}}function $t(t,i,r,n,s){const{horizontalAlign:a,verticalAlign:o}=e.au(t);return new e.P(-(a-.5)*i+n[0]*s,-(o-.5)*r+n[1]*s)}class qt{constructor(t,e,i,r,n,s){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Rt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=r,this.retainedQueryData={},this.collisionGroups=new Ut(n),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=s,s&&(s.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,r)=>e.getElevation(t,i,r):null}getBucketParts(t,i,r,n){const s=r.getBucket(i),a=r.latestFeatureIndex;if(!s||!a||i.id!==s.layerIds[0])return;const o=r.collisionBoxArray,l=s.layers[0].layout,c=s.layers[0].paint,h=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/e.X,d=r.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(d),f="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),_=Bt(r,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,r,c.get("text-translate"),c.get("text-translate-anchor")),y=this.collisionIndex.mapProjection.translatePosition(this.transform,r,c.get("icon-translate"),c.get("icon-translate-anchor")),x=gt(p,f,m,this.transform,_);let v=null;if(f){const t=yt(p,f,m,this.transform,_);v=e.L([],this.transform.labelPlaneMatrix,t)}this.retainedQueryData[s.bucketInstanceId]=new jt(s.bucketInstanceId,a,s.sourceLayerIndex,s.index,r.tileID);const b={bucket:s,layout:l,translationText:g,translationIcon:y,posMatrix:p,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:v,scale:h,textPixelRatio:u,holdingForFade:r.holdingForFade(),collisionBoxArray:o,partiallyEvaluatedTextSize:e.ag(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(n)for(const e of s.sortKeyRanges){const{sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n}=e;t.push({sortKey:i,symbolInstanceStart:r,symbolInstanceEnd:n,parameters:b})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:b})}attemptAnchorPlacement(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g,y,x){const v=e.aq[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=$t(v,r,n,b,s),T=this.collisionIndex.placeCollisionBox(i,d,l,c,h,o,a,_,u.predicate,x,w);if((!y||this.collisionIndex.placeCollisionBox(y,d,l,c,h,o,a,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(t=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:r,height:n,anchor:v,textBoxScale:s,prevAnchor:t},this.markUsedJustification(f,v,p,m),f.allowVerticalPlacement&&(this.markUsedOrientation(f,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,r){const{bucket:n,layout:s,translationText:a,translationIcon:o,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:h,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:p,collisionBoxArray:f,partiallyEvaluatedTextSize:m,collisionGroup:_}=t.parameters,g=s.get("text-optional"),y=s.get("icon-optional"),x=e.ar(s,"text-overlap","text-allow-overlap"),v="always"===x,b=e.ar(s,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===s.get("text-rotation-alignment"),S="map"===s.get("text-pitch-alignment"),I="none"!==s.get("icon-text-fit"),P="viewport-y"===s.get("symbol-z-order"),A=v&&(w||!n.hasIconData()||y),M=w&&(v||!n.hasTextData()||g);!n.collisionArrays&&f&&n.deserializeCollisionBoxes(f);const k=this._getTerrainElevationFunc(this.retainedQueryData[n.bucketInstanceId].tileID),C=(t,f,w)=>{var P,C;if(i[t.crossTileID])return;if(p)return void(this.placements[t.crossTileID]=new Vt(!1,!1,!1));let z=!1,E=!1,D=!0,L=null,R={box:null,placeable:!1,offscreen:null},B={box:null,placeable:!1,offscreen:null},F=null,O=null,V=null,N=0,j=0,U=0;f.textFeatureIndex?N=f.textFeatureIndex:t.useRuntimeCollisionCircles&&(N=t.featureIndex),f.verticalTextFeatureIndex&&(j=f.verticalTextFeatureIndex);const $=f.textBox;if($){const i=i=>{let r=e.ah.horizontal;if(n.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,r=e,this.markUsedOrientation(n,r,t))}return r},s=(i,r)=>{if(n.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&f.verticalTextBox){for(const t of n.writingModes)if(t===e.ah.vertical?(R=r(),B=R):R=i(),R&&R.placeable)break}else R=i()},h=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===h){const r=(e,i)=>{const r=this.collisionIndex.placeCollisionBox(e,x,d,l,c,S,T,a,_.predicate,k);return r&&r.placeable&&(this.markUsedOrientation(n,i,t),this.placedOrientations[t.crossTileID]=i),r};s((()=>r($,e.ah.horizontal)),(()=>{const i=f.verticalTextBox;return n.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?r(i,e.ah.vertical):{box:null,offscreen:null}})),i(R&&R.placeable)}else{let p=e.aq[null===(C=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===C?void 0:C.anchor];const m=(i,s,f)=>{const m=i.x2-i.x1,g=i.y2-i.y1,y=t.textBoxScale,v=I&&"never"===b?s:null;let w=null,P="never"===x?1:2,A="never";p&&P++;for(let e=0;em($,f.iconBox,e.ah.horizontal)),(()=>{const i=f.verticalTextBox;return n.allowVerticalPlacement&&(!R||!R.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,f.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}})),R&&(z=R.placeable,D=R.offscreen);const g=i(R&&R.placeable);if(!z&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(n,e.anchor,t,g))}}}if(F=R,z=F&&F.placeable,D=F&&F.offscreen,t.useRuntimeCollisionCircles){const i=n.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),o=e.ai(n.textSizeData,m,i),d=s.get("text-padding");O=this.collisionIndex.placeCollisionCircles(x,i,n.lineVertexArray,n.glyphOffsetArray,o,l,c,h,u,r,S,_.predicate,t.collisionCircleDiameter,d,a,k),O.circles.length&&O.collisionDetected&&!r&&e.w("Collisions detected, but collision boxes are not shown"),z=v||O.circles.length>0&&!O.collisionDetected,D=D&&O.offscreen}if(f.iconFeatureIndex&&(U=f.iconFeatureIndex),f.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,c,S,T,o,_.predicate,k,I&&L?L:void 0);B&&B.placeable&&f.verticalIconBox?(V=t(f.verticalIconBox),E=V.placeable):(V=t(f.iconBox),E=V.placeable),D=D&&V.offscreen}const q=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,Z=y||0===t.numIconVertices;q||Z?Z?q||(E=E&&z):z=E&&z:E=z=E&&z;const G=E&&V.placeable;if(z&&F.placeable&&this.collisionIndex.insertCollisionBox(F.box,x,s.get("text-ignore-placement"),n.bucketInstanceId,B&&B.placeable&&j?j:N,_.ID),G&&this.collisionIndex.insertCollisionBox(V.box,b,s.get("icon-ignore-placement"),n.bucketInstanceId,U,_.ID),O&&z&&this.collisionIndex.insertCollisionCircles(O.circles,x,s.get("text-ignore-placement"),n.bucketInstanceId,N,_.ID),r&&this.storeCollisionData(n.bucketInstanceId,w,f,F,V,O),0===t.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===n.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[t.crossTileID]=new Vt(z||A,E||M,D||n.justReloaded),i[t.crossTileID]=!0};if(P){if(0!==t.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");const e=n.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];C(n.symbolInstances.get(i),n.collisionArrays[i],i)}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=s>=0&&e!==s?0:r.crossTileID)}markUsedOrientation(t,i,r){const n=i===e.ah.horizontal||i===e.ah.horizontalOnly?i:0,s=i===e.ah.vertical?i:0,a=[r.leftJustifiedTextSymbolIndex,r.centerJustifiedTextSymbolIndex,r.rightJustifiedTextSymbolIndex];for(const e of a)t.text.placedSymbolArray.get(e).placedOrientation=n;r.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(r.verticalPlacedTextSymbolIndex).placedOrientation=s)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const r=e?e.symbolFadeChange(t):1,n=e?e.opacities:{},s=e?e.variableOffsets:{},a=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],s=n[t];s?(this.opacities[t]=new Ot(s,r,e.text,e.icon),i=i||e.text!==s.text.placed||e.icon!==s.icon.placed):(this.opacities[t]=new Ot(null,r,e.text,e.icon,e.skipFade),i=i||e.text||e.icon)}for(const t in n){const e=n[t];if(!this.opacities[t]){const n=new Ot(e,r,!1,!1);n.isHidden()||(this.opacities[t]=n,i=i||e.text.placed||e.icon.placed)}}for(const t in s)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=s[t]);for(const t in a)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=a[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");i?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const i={};for(const r of e){const e=r.getBucket(t);e&&r.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,r.tileID,i,r.collisionBoxArray)}}updateBucketOpacities(t,i,r,n){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const s=t.layers[0],a=s.layout,o=new Ot(null,0,!1,!1,!0),l=a.get("text-allow-overlap"),c=a.get("icon-allow-overlap"),h=s._unevaluatedLayout.hasValue("text-variable-anchor")||s._unevaluatedLayout.hasValue("text-variable-anchor-offset"),u="map"===a.get("text-rotation-alignment"),d="map"===a.get("text-pitch-alignment"),p="none"!==a.get("icon-text-fit"),f=new Ot(null,0,l&&(c||!t.hasIconData()||a.get("icon-optional")),c&&(l||!t.hasTextData()||a.get("text-optional")),!0);!t.collisionArrays&&n&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(n);const m=(t,e,i)=>{for(let r=0;r0,y=this.placedOrientations[n.crossTileID],x=y===e.ah.vertical,v=y===e.ah.horizontal||y===e.ah.horizontalOnly;if(s>0||a>0){const e=Qt(c.text);m(t.text,s,x?te:e),m(t.text,a,v?te:e);const i=c.text.isHidden();[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0)})),n.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).hidden=i||v?1:0);const r=this.variableOffsets[n.crossTileID];r&&this.markUsedJustification(t,r.anchor,n,y);const o=this.placedOrientations[n.crossTileID];o&&(this.markUsedJustification(t,"left",n,o),this.markUsedOrientation(t,o,n))}if(g){const e=Qt(c.icon),i=!(p&&n.verticalPlacedIconSymbolIndex&&x);n.placedIconSymbolIndex>=0&&(m(t.icon,n.numIconVertices,i?e:te),t.icon.placedSymbolArray.get(n.placedIconSymbolIndex).hidden=c.icon.isHidden()),n.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,n.numVerticalIconVertices,i?te:e),t.icon.placedSymbolArray.get(n.verticalPlacedIconSymbolIndex).hidden=c.icon.isHidden())}const b=_&&_.has(i)?_.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const r=t.collisionArrays[i];if(r){let i=new e.P(0,0);if(r.textBox||r.verticalTextBox){let e=!0;if(h){const t=this.variableOffsets[l];t?(i=$t(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1}if(r.textBox||r.verticalTextBox){let n;r.textBox&&(n=x),r.verticalTextBox&&(n=v),Zt(t.textCollisionBox.collisionVertexArray,c.text.placed,!e||n,b.text,i.x,i.y)}}if(r.iconBox||r.verticalIconBox){const e=Boolean(!v&&r.verticalIconBox);let n;r.iconBox&&(n=e),r.verticalIconBox&&(n=!e),Zt(t.iconCollisionBox.collisionVertexArray,c.icon.placed,n,b.icon,p?i.x:0,p?i.y:0)}}}}if(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.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(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(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Zt(t,e,i,r,n,s){r&&0!==r.length||(r=[0,0,0,0]);const a=r[0]-Lt,o=r[1]-Lt,l=r[2]-Lt,c=r[3]-Lt;t.emplaceBack(e?1:0,i?1:0,n||0,s||0,a,o),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,l,o),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,l,c),t.emplaceBack(e?1:0,i?1:0,n||0,s||0,a,c)}const Gt=Math.pow(2,25),Ht=Math.pow(2,24),Xt=Math.pow(2,17),Wt=Math.pow(2,16),Kt=Math.pow(2,9),Jt=Math.pow(2,8),Yt=Math.pow(2,1);function Qt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Gt+e*Ht+i*Xt+e*Wt+i*Kt+e*Jt+i*Yt+e}const te=0;function ee(){return{isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(t,e,i,r){throw new Error("Not implemented.")},translatePosition:(t,e,i,r)=>function(t,e,i,r,n=!1){if(!i[0]&&!i[1])return[0,0];const s=n?"map"===r?t.angle:0:"viewport"===r?-t.angle:0;if(s){const t=Math.sin(s),e=Math.cos(s);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e]}return[n?i[0]:Bt(e,i[0],t.zoom),n?i[1]:Bt(e,i[1],t.zoom)]}(t,e,i,r),getCircleRadiusCorrection:t=>1}}class ie{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,i,r,n){const s=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&s.now()-r>2;for(;this._currentPlacementIndex>=0;){const r=e[t[this._currentPlacementIndex]],s=this.placement.collisionIndex.transform.zoom;if("symbol"===r.type&&(!r.minzoom||r.minzoom<=s)&&(!r.maxzoom||r.maxzoom>s)){if(this._inProgressLayer||(this._inProgressLayer=new ie(r)),this._inProgressLayer.continuePlacement(i[r.source],this.placement,this._showCollisionBoxes,r,n))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const ne=512/e.X/2;class se{constructor(t,i,r){this.tileID=t,this.bucketInstanceId=r,this._symbolsByKey={};const n=new Map;for(let t=0;t({x:Math.floor(t.anchorX*ne),y:Math.floor(t.anchorY*ne)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(r.positions.length>128){const t=new e.av(r.positions.length,16,Uint16Array);for(const{x:e,y:i}of r.positions)t.add(e,i);t.finish(),delete r.positions,r.index=t}this._symbolsByKey[t]=r}}getScaledCoordinates(t,i){const{x:r,y:n,z:s}=this.tileID.canonical,{x:a,y:o,z:l}=i.canonical,c=ne/Math.pow(2,l-s),h=(o*e.X+t.anchorY)*c,u=n*e.X*ne;return{x:Math.floor((a*e.X+t.anchorX)*c-r*e.X*ne),y:Math.floor(h-u)}}findMatches(t,e,i){const r=this.tileID.canonical.zt))}}class ae{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class oe{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],r={};for(const t in i){const n=i[t];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+e),r[n.tileID.key]=n}this.indexes[t]=r}this.lng=t}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let t=0;tt.overscaledZ)for(const i in n){const s=n[i];s.tileID.isChildOf(t)&&s.findMatches(e.symbolInstances,t,r)}else{const s=n[t.scaledTo(Number(i)).key];s&&s.findMatches(e.symbolInstances,t,r)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const ce=(t,i)=>e.t(t,i&&i.filter((t=>"source.canvas"!==t.identifier))),he=e.aw();class ue extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;"vector"!==e&&"geojson"!==e||this.sourceCaches[t].reload()}},this.map=t,this.dispatcher=new N(V(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler("GI",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new A(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new D(256,512),this.crossTileSymbolIndex=new le,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.ay()),ot().on(nt,this._rtlPluginLoaded),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e)}}))}loadURL(t,i={},r){this.fire(new e.k("dataloading",{dataType:"style"})),i.validate="boolean"!=typeof i.validate||i.validate;const n=this.map._requestManager.transformRequest(t,"Style");this._loadStyleRequest=new AbortController;const s=this._loadStyleRequest;e.h(n,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,r)})).catch((t=>{this._loadStyleRequest=null,t&&!s.signal.aborted&&this.fire(new e.j(t))}))}loadJSON(t,i={},r){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,s.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,r)})).catch((()=>{}))}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(he,{validate:!1})}_load(t,i,r){var n;const s=i.transformStyle?i.transformStyle(r,t):t;if(!i.validate||!ce(this,e.u(s))){this._loaded=!0,this.stylesheet=s;for(const t in s.sources)this.addSource(t,s.sources[t],{validate:!1});s.sprite?this._loadSprite(s.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(s.glyphs),this._createLayers(),this.light=new C(this.stylesheet.light),this.sky=new E(this.stylesheet.sky),this.map.setTerrain(null!==(n=this.stylesheet.terrain)&&void 0!==n?n:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){const t=e.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aA(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t}}_loadSprite(t,i=!1,r=void 0){let n;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,r,n){return e._(this,void 0,void 0,(function*(){const a=x(t),o=r>1?"@2x":"",l={},c={};for(const{id:t,url:r}of a){const s=i.transformRequest(v(r,o,".json"),"SpriteJSON");l[t]=e.h(s,n);const a=i.transformRequest(v(r,o,".png"),"SpriteImage");c[t]=p.getImage(a,n)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const r in t){e[r]={};const n=s.getImageCanvasContext((yield i[r]).data),a=(yield t[r]).data;for(const t in a){const{width:i,height:s,x:o,y:l,sdf:c,pixelRatio:h,stretchX:u,stretchY:d,content:p,textFitWidth:f,textFitHeight:m}=a[t];e[r][t]={data:null,pixelRatio:h,sdf:c,stretchX:u,stretchY:d,content:p,textFitWidth:f,textFitHeight:m,spriteData:{width:i,height:s,x:o,y:l,context:n}}}}return e}))}(l,c)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const r=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of r)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const r in t[e]){const n="default"===e?r:`${e}:${r}`;this._spritesImagesIds[e].push(n),n in this.imageManager.images?this.imageManager.updateImage(n,t[e][r],!1):this.imageManager.addImage(n,t[e][r]),i&&(this._changedImages[n]=!0)}}})).catch((t=>{this._spriteRequest=null,n=t,this.fire(new e.j(n))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),r&&r(n)}))}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const r=t.sourceLayer;if(!r)return;const n=i.getSource();("geojson"===n.type||n.vectorLayerIds&&-1===n.vectorLayerIds.indexOf(r))&&this.fire(new e.j(new Error(`Source layer "${r}" does not exist on source "${n.id}" as specified by style layer "${t.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(t,i=!1){const r=this._serializedAllLayers();if(!t||0===t.length)return Object.values(i?e.aB(r):r);const n=[];for(const s of t)if(r[s]){const t=i?e.aB(r[s]):r[s];n.push(t)}return n}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];"custom"!==e.type&&(t[i]=e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.sky&&this.sky.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if("reload"===e)this._reloadSource(t);else{if("clear"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const r={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];r[t]=e.used,e.used=!1}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0)}for(const t in r){const i=this.sourceCaches[t];!!r[t]!=!!i.used&&i.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:t}))}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t,!1),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,i={}){var r;this._checkLoaded();const n=this.serialize();if(t=i.transformStyle?i.transformStyle(n,t):t,(null===(r=i.validate)||void 0===r||r)&&ce(this,e.u(t)))return!1;(t=e.aB(t)).layers=e.az(t.layers);const s=e.aC(n,t),a=this._getOperationsToPerform(s);if(a.unimplemented.length>0)throw new Error(`Unimplemented: ${a.unimplemented.join(", ")}.`);if(0===a.operations.length)return!1;for(const t of a.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const r of t)switch(r.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":e.push((()=>this.addLayer.apply(this,r.args)));break;case"removeLayer":e.push((()=>this.removeLayer.apply(this,r.args)));break;case"setPaintProperty":e.push((()=>this.setPaintProperty.apply(this,r.args)));break;case"setLayoutProperty":e.push((()=>this.setLayoutProperty.apply(this,r.args)));break;case"setFilter":e.push((()=>this.setFilter.apply(this,r.args)));break;case"addSource":e.push((()=>this.addSource.apply(this,r.args)));break;case"removeSource":e.push((()=>this.removeSource.apply(this,r.args)));break;case"setLayerZoomRange":e.push((()=>this.setLayerZoomRange.apply(this,r.args)));break;case"setLight":e.push((()=>this.setLight.apply(this,r.args)));break;case"setGeoJSONSourceData":e.push((()=>this.setGeoJSONSourceData.apply(this,r.args)));break;case"setGlyphs":e.push((()=>this.setGlyphs.apply(this,r.args)));break;case"setSprite":e.push((()=>this.setSprite.apply(this,r.args)));break;case"setSky":e.push((()=>this.setSky.apply(this,r.args)));break;case"setTerrain":e.push((()=>this.map.setTerrain.apply(this,r.args)));break;case"setTransition":e.push((()=>{}));break;default:i.push(r.command)}return{operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,r={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source "${t}" already exists.`);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(e.u.source,`sources.${t}`,i,null,r))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const n=this.sourceCaches[t]=new ut(t,i,this.dispatcher);n.style=this,n.setEventedParent(this,(()=>({isSourceLoaded:n.loaded(),source:n.serialize(),sourceId:t}))),n.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source "${t}" cannot be removed while layer "${i}" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if("geojson"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,r={}){this._checkLoaded();const n=t.id;if(this.getLayer(n))return void this.fire(new e.j(new Error(`Layer "${n}" already exists on this map.`)));let s;if("custom"===t.type){if(ce(this,e.aD(t)))return;s=e.aA(t)}else{if("source"in t&&"object"==typeof t.source&&(this.addSource(n,t.source),t=e.aB(t),t=e.e(t,{source:n})),this._validate(e.u.layer,`layers.${n}`,t,{arrayIndex:-1},r))return;s=e.aA(t),this._validateLayer(s),s.setEventedParent(this,{layer:{id:n}})}const a=i?this._order.indexOf(i):this._order.length;if(i&&-1===a)this.fire(new e.j(new Error(`Cannot add layer "${n}" before non-existing layer "${i}".`)));else{if(this._order.splice(a,0,n),this._layerOrderChanged=!0,this._layers[n]=s,this._removedLayers[n]&&s.source&&"custom"!==s.type){const t=this._removedLayers[n];delete this._removedLayers[n],t.type!==s.type?this._updatedSources[s.source]="clear":(this._updatedSources[s.source]="reload",this.sourceCaches[s.source].pause())}this._updateLayer(s),s.onAdd&&s.onAdd(this.map)}}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const r=this._order.indexOf(t);this._order.splice(r,1);const n=i?this._order.indexOf(i):this._order.length;i&&-1===n?this.fire(new e.j(new Error(`Cannot move layer "${t}" before non-existing layer "${i}".`))):(this._order.splice(n,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${t}".`)));i.setEventedParent(null);const r=this._order.indexOf(t);this._order.splice(r,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,r){this._checkLoaded();const n=this.getLayer(t);n?n.minzoom===i&&n.maxzoom===r||(null!=i&&(n.minzoom=i),null!=r&&(n.maxzoom=r),this._updateLayer(n)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,i,r={}){this._checkLoaded();const n=this.getLayer(t);if(n){if(!e.aE(n.filter,i))return null==i?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(e.u.filter,`layers.${n.id}.filter`,i,null,r)||(n.filter=e.aB(i),this._updateLayer(n)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return e.aB(this.getLayer(t).filter)}setLayoutProperty(t,i,r,n={}){this._checkLoaded();const s=this.getLayer(t);s?e.aE(s.getLayoutProperty(i),r)||(s.setLayoutProperty(i,r,n),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,i){const r=this.getLayer(t);if(r)return r.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,i,r,n={}){this._checkLoaded();const s=this.getLayer(t);s?e.aE(s.getPaintProperty(i),r)||(s.setPaintProperty(i,r,n)&&this._updateLayer(s),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const r=t.source,n=t.sourceLayer,s=this.sourceCaches[r];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)));const a=s.getSource().type;"geojson"===a&&n?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==a||n?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),s.setFeatureState(n,t.id,i)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,i){this._checkLoaded();const r=t.source,n=this.sourceCaches[r];if(void 0===n)return void this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)));const s=n.getSource().type,a="vector"===s?t.sourceLayer:void 0;"vector"!==s||a?i&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):n.removeFeatureState(a,t.id,i):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const i=t.source,r=t.sourceLayer,n=this.sourceCaches[i];if(void 0!==n)return"vector"!==n.getSource().type||r?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),n.getFeatureState(r,t.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aF(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order,!0),r=this.map.getTerrain()||void 0,n=this.stylesheet;return e.aG({version:n.version,name:n.name,metadata:n.metadata,light:n.light,sky:n.sky,center:n.center,zoom:n.zoom,bearing:n.bearing,pitch:n.pitch,sprite:n.sprite,glyphs:n.glyphs,transition:n.transition,sources:t,layers:i,terrain:r},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,i={},r=[];for(let n=this._order.length-1;n>=0;n--){const s=this._order[n];if(e(s)){i[s]=n;for(const e of t){const t=e[s];if(t)for(const e of t)r.push(e)}}}r.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const n=[];for(let s=this._order.length-1;s>=0;s--){const a=this._order[s];if(e(a))for(let t=r.length-1;t>=0;t--){const e=r[t].feature;if(i[e.layer.id]{const r=i.featureSortOrder;if(r){const i=r.indexOf(t.featureIndex);return r.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of n)e.push(t)}}for(const e in o)o[e].forEach((r=>{const n=r.feature,s=i[t[e].source].getFeatureState(n.layer["source-layer"],n.id);n.source=n.layer.source,n.layer["source-layer"]&&(n.sourceLayer=n.layer["source-layer"]),n.state=s}));return o}(this._layers,a,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.u.filter,"querySourceFeatures.filter",i.filter,null,i);const r=this.sourceCaches[t];return r?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),r=[],n={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const r=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng);a=a||r}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((n=n||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(s.now(),t.zoom))&&(this.pauseablePlacement=new re(t,this.map.terrain,this._order,n,e,i,r,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(s.now()),o=!0),a&&this.pauseablePlacement.placement.setStale()),o||a)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(s.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[""]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.u.glyphs,"glyphs",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,i,r={},n){this._checkLoaded();const s=[{id:t,url:i}],a=[...x(this.stylesheet.sprite),...s];this._validate(e.u.sprite,"sprite",a,null,r)||(this.stylesheet.sprite=a,this._loadSprite(s,!0,n))}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},r){this._checkLoaded(),t&&this._validate(e.u.sprite,"sprite",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,r):(this._unloadSprite(),r&&r(null)))}}var de=e.Y([{name:"a_pos",type:"Int16",components:2}]);const pe={prelude:fe("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\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(unpack_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;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:fe("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:fe("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:fe("varying vec3 v_data;varying 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\nvoid 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(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying 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\nvoid 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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:fe("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:fe("uniform highp float u_intensity;varying 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);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying 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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:fe("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:fe("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:fe("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying 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);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying 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;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;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(0.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:fe("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:fe("#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_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute 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);}"),fillOutline:fe("varying 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\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying 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;}"),fillOutlinePattern:fe("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:fe("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:fe("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform 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;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:fe("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:fe("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying 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:fe("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(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);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:fe("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\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);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\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\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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\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;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),lineGradient:fe("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\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\nvoid main() {\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\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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_width2=vec2(outset,inset);}"),linePattern:fe("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\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_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\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_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:fe("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\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);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\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 floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\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 floorwidth\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\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#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:fe("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:fe("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_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 bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:fe("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying 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\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\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 inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_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_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:fe("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying 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\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\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=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;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\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\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\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:fe("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:fe("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:fe("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:fe("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function fe(t,e){const i=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,r=e.match(/attribute ([\w]+) ([\w]+)/g),n=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),s=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=s?s.concat(n):n,o={};return{fragmentSource:t=t.replace(i,((t,e,i,r,n)=>(o[n]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${n}\n ${i} ${r} ${n} = u_${n};\n#endif\n`))),vertexSource:e=e.replace(i,((t,e,i,r,n)=>{const s="float"===r?"vec2":"vec4",a=n.match(/color/)?"color":s;return o[n]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\nvarying ${i} ${r} ${n};\n#else\nuniform ${i} ${r} u_${n};\n#endif\n`:"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"===e?`\n#ifndef HAS_UNIFORM_u_${n}\nuniform lowp float u_${n}_t;\nattribute ${i} ${s} a_${n};\n#else\nuniform ${i} ${r} u_${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:r,staticUniforms:a}}class me{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,i,r,n,s,a,o,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==r.length;for(let t=0;!c&&t({u_matrix:t,u_texture:0,u_ele_delta:i,u_fog_matrix:r,u_fog_color:n?n.properties.get("fog-color"):e.aM.white,u_fog_ground_blend:n?n.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:n?n.calculateFogBlendOpacity(s):0,u_horizon_color:n?n.properties.get("horizon-color"):e.aM.white,u_horizon_fog_blend:n?n.properties.get("horizon-fog-blend"):1});function ge(t){const e=[];for(let i=0;i({u_depth:new e.aH(t,i.u_depth),u_terrain:new e.aH(t,i.u_terrain),u_terrain_dim:new e.aI(t,i.u_terrain_dim),u_terrain_matrix:new e.aJ(t,i.u_terrain_matrix),u_terrain_unpack:new e.aK(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aI(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=r?r.getUniforms(t,b):[]}draw(t,e,i,r,n,s,a,o,l,c,h,u,d,p,f,m,_,g){const y=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(r),t.setColorMode(n),t.setCullFace(s),o){t.activeTexture.set(y.TEXTURE2),y.bindTexture(y.TEXTURE_2D,o.depthTexture),t.activeTexture.set(y.TEXTURE3),y.bindTexture(y.TEXTURE_2D,o.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(o[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(a[t]);f&&f.setUniforms(t,this.binderUniforms,d,{zoom:p});let x=0;switch(e){case y.LINES:x=2;break;case y.TRIANGLES:x=3;break;case y.LINE_STRIP:x=1}for(const i of u.get()){const r=i.vaos||(i.vaos={});(r[l]||(r[l]=new me)).bind(t,this,c,f?f.getPaintVertexBuffers():[],h,i.vertexOffset,m,_,g),y.drawElements(e,i.primitiveLength*x,y.UNSIGNED_SHORT,i.primitiveOffset*x*2)}}}function xe(t,e,i){const r=1/Bt(i,1,e.transform.tileZoom),n=Math.pow(2,i.tileID.overscaledZ),s=i.tileSize*Math.pow(2,e.transform.tileZoom)/n,a=s*(i.tileID.canonical.x+i.tileID.wrap*n),o=s*i.tileID.canonical.y;return{u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[r,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[a>>16,o>>16],u_pixel_coord_lower:[65535&a,65535&o]}}const ve=(t,i,r,n)=>{const s=i.style.light,a=s.properties.get("position"),o=[a.x,a.y,a.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();"viewport"===s.properties.get("anchor")&&function(t,e){var i=Math.sin(e),r=Math.cos(e);t[0]=r,t[1]=i,t[2]=0,t[3]=-i,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1}(l,-i.transform.angle),function(t,e,i){var r=e[0],n=e[1],s=e[2];t[0]=r*i[0]+n*i[3]+s*i[6],t[1]=r*i[1]+n*i[4]+s*i[7],t[2]=r*i[2]+n*i[5]+s*i[8]}(o,o,l);const c=s.properties.get("color");return{u_matrix:t,u_lightpos:o,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+r,u_opacity:n}},be=(t,i,r,n,s,a,o)=>e.e(ve(t,i,r,n),xe(a,i,o),{u_height_factor:-Math.pow(2,s.overscaledZ)/o.tileSize/8}),we=t=>({u_matrix:t}),Te=(t,i,r,n)=>e.e(we(t),xe(r,i,n)),Se=(t,e)=>({u_matrix:t,u_world:e}),Ie=(t,i,r,n,s)=>e.e(Te(t,i,r,n),{u_world:s}),Pe=(t,e,i,r)=>{const n=t.transform;let s,a;if("map"===r.paint.get("circle-pitch-alignment")){const t=Bt(i,1,n.zoom);s=!0,a=[t,t]}else s=!1,a=n.pixelsToGLUnits;return{u_camera_to_center_distance:n.cameraToCenterDistance,u_scale_with_map:+("map"===r.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,i,r.paint.get("circle-translate"),r.paint.get("circle-translate-anchor")),u_pitch_with_map:+s,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:a}},Ae=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),Me=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ke=t=>({u_matrix:t}),Ce=(t,e,i,r)=>({u_matrix:t,u_extrude_scale:Bt(e,1,i),u_intensity:r});function ze(t,i){const r=Math.pow(2,i.canonical.z),n=i.canonical.y;return[new e.Z(0,n/r).toLngLat().lat,new e.Z(0,(n+1)/r).toLngLat().lat]}const Ee=(t,e,i,r)=>{const n=t.transform;return{u_matrix:Fe(t,e,i,r),u_ratio:1/Bt(e,1,n.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/n.pixelsToGLUnits[0],1/n.pixelsToGLUnits[1]]}},De=(t,i,r,n,s)=>e.e(Ee(t,i,r,s),{u_image:0,u_image_height:n}),Le=(t,e,i,r,n)=>{const s=t.transform,a=Be(e,s);return{u_matrix:Fe(t,e,i,n),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[a,r.fromScale,r.toScale],u_fade:r.t,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Re=(t,i,r,n,s,a)=>{const o=t.lineAtlas,l=Be(i,t.transform),c="round"===r.layout.get("line-cap"),h=o.getDash(n.from,c),u=o.getDash(n.to,c),d=h.width*s.fromScale,p=u.width*s.toScale;return e.e(Ee(t,i,r,a),{u_patternscale_a:[l/d,-h.height/2],u_patternscale_b:[l/p,-u.height/2],u_sdfgamma:o.width/(256*Math.min(d,p)*t.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:u.y,u_mix:s.t})};function Be(t,e){return 1/Bt(t,1,e.tileZoom)}function Fe(t,e,i,r){return t.translatePosMatrix(r?r.posMatrix:e.tileID.posMatrix,e,i.paint.get("line-translate"),i.paint.get("line-translate-anchor"))}const Oe=(t,e,i,r,n)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:r.mix,u_opacity:r.opacity*n.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:n.paint.get("raster-brightness-min"),u_brightness_high:n.paint.get("raster-brightness-max"),u_saturation_factor:(a=n.paint.get("raster-saturation"),a>0?1-1/(1.001-a):-a),u_contrast_factor:(s=n.paint.get("raster-contrast"),s>0?1/(1-s):1+s),u_spin_weights:Ve(n.paint.get("raster-hue-rotate"))};var s,a};function Ve(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return[(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Ne=(t,e,i,r,n,s,a,o,l,c,h,u,d,p)=>{const f=a.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:f.cameraToCenterDistance,u_pitch:f.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:f.width/f.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:o,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+u,u_pitch_with_map:+r,u_is_along_line:n,u_is_variable_anchor:s,u_texsize:d,u_texture:0,u_translation:h,u_pitched_scale:p}},je=(t,i,r,n,s,a,o,l,c,h,u,d,p,f,m)=>{const _=o.transform;return e.e(Ne(t,i,r,n,s,a,o,l,c,h,u,d,p,m),{u_gamma_scale:n?Math.cos(_._pitch)*_.cameraToCenterDistance:1,u_device_pixel_ratio:o.pixelRatio,u_is_halo:+f})},Ue=(t,i,r,n,s,a,o,l,c,h,u,d,p,f)=>e.e(je(t,i,r,n,s,a,o,l,c,h,u,!0,d,!0,f),{u_texsize_icon:p,u_texture_icon:1}),$e=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),qe=(t,i,r,n,s,a)=>e.e(function(t,e,i,r){const n=i.imageManager.getPattern(t.from.toString()),s=i.imageManager.getPattern(t.to.toString()),{width:a,height:o}=i.imageManager.getPixelSize(),l=Math.pow(2,r.tileID.overscaledZ),c=r.tileSize*Math.pow(2,i.transform.tileZoom)/l,h=c*(r.tileID.canonical.x+r.tileID.wrap*l),u=c*r.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:n.tl,u_pattern_br_a:n.br,u_pattern_tl_b:s.tl,u_pattern_br_b:s.br,u_texsize:[a,o],u_mix:e.t,u_pattern_size_a:n.displaySize,u_pattern_size_b:s.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Bt(r,1,i.transform.tileZoom),u_pixel_coord_upper:[h>>16,u>>16],u_pixel_coord_lower:[65535&h,65535&u]}}(n,a,r,s),{u_matrix:t,u_opacity:i}),Ze={fillExtrusion:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_opacity:new e.aI(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_height_factor:new e.aI(t,i.u_height_factor),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade),u_opacity:new e.aI(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aH(t,i.u_scale_with_map),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_extrude_scale:new e.aO(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_matrix:new e.aJ(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_pixel_extrude_scale:new e.aO(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_inv_matrix:new e.aJ(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_viewport_size:new e.aO(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aL(t,i.u_color),u_matrix:new e.aJ(t,i.u_matrix),u_overlay:new e.aH(t,i.u_overlay),u_overlay_scale:new e.aI(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aI(t,i.u_extrude_scale),u_intensity:new e.aI(t,i.u_intensity),u_matrix:new e.aJ(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_color_ramp:new e.aH(t,i.u_color_ramp),u_opacity:new e.aI(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_latrange:new e.aO(t,i.u_latrange),u_light:new e.aO(t,i.u_light),u_shadow:new e.aL(t,i.u_shadow),u_highlight:new e.aL(t,i.u_highlight),u_accent:new e.aL(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_dimension:new e.aO(t,i.u_dimension),u_zoom:new e.aI(t,i.u_zoom),u_unpack:new e.aK(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_image:new e.aH(t,i.u_image),u_image_height:new e.aI(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texsize:new e.aO(t,i.u_texsize),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_image:new e.aH(t,i.u_image),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_patternscale_a:new e.aO(t,i.u_patternscale_a),u_patternscale_b:new e.aO(t,i.u_patternscale_b),u_sdfgamma:new e.aI(t,i.u_sdfgamma),u_image:new e.aH(t,i.u_image),u_tex_y_a:new e.aI(t,i.u_tex_y_a),u_tex_y_b:new e.aI(t,i.u_tex_y_b),u_mix:new e.aI(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_tl_parent:new e.aO(t,i.u_tl_parent),u_scale_parent:new e.aI(t,i.u_scale_parent),u_buffer_scale:new e.aI(t,i.u_buffer_scale),u_fade_t:new e.aI(t,i.u_fade_t),u_opacity:new e.aI(t,i.u_opacity),u_image0:new e.aH(t,i.u_image0),u_image1:new e.aH(t,i.u_image1),u_brightness_low:new e.aI(t,i.u_brightness_low),u_brightness_high:new e.aI(t,i.u_brightness_high),u_saturation_factor:new e.aI(t,i.u_saturation_factor),u_contrast_factor:new e.aI(t,i.u_contrast_factor),u_spin_weights:new e.aN(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texsize_icon:new e.aO(t,i.u_texsize_icon),u_texture:new e.aH(t,i.u_texture),u_texture_icon:new e.aH(t,i.u_texture_icon),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_color:new e.aL(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_image:new e.aH(t,i.u_image),u_pattern_tl_a:new e.aO(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aO(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aO(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aO(t,i.u_pattern_br_b),u_texsize:new e.aO(t,i.u_texsize),u_mix:new e.aI(t,i.u_mix),u_pattern_size_a:new e.aO(t,i.u_pattern_size_a),u_pattern_size_b:new e.aO(t,i.u_pattern_size_b),u_scale_a:new e.aI(t,i.u_scale_a),u_scale_b:new e.aI(t,i.u_scale_b),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_ele_delta:new e.aI(t,i.u_ele_delta),u_fog_matrix:new e.aJ(t,i.u_fog_matrix),u_fog_color:new e.aL(t,i.u_fog_color),u_fog_ground_blend:new e.aI(t,i.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aI(t,i.u_fog_ground_blend_opacity),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon_fog_blend:new e.aI(t,i.u_horizon_fog_blend)}),terrainDepth:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ele_delta:new e.aI(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_terrain_coords_id:new e.aI(t,i.u_terrain_coords_id),u_ele_delta:new e.aI(t,i.u_ele_delta)}),sky:(t,i)=>({u_sky_color:new e.aL(t,i.u_sky_color),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon:new e.aI(t,i.u_horizon),u_sky_horizon_blend:new e.aI(t,i.u_sky_horizon_blend)})};class Ge{constructor(t,e,i){this.context=t;const r=t.gl;this.buffer=r.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const He={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class Xe{constructor(t,e,i,r){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=r,this.context=t;const n=t.gl;this.buffer=n.createBuffer(),t.bindVertexBuffer.set(this.buffer),n.bufferData(n.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let i=0;i0){const i=e.H();e.aQ(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aQ(i,i,m.placementViewportMatrix),c.push({circleArray:g,circleOffset:u,transform:f.posMatrix,invTransform:i,coord:f}),h+=g.length/4,u=h}_&&l.draw(a,o.LINES,Bi.disabled,Oi.disabled,t.colorModeForRenderPass(),Vi.disabled,{u_matrix:f.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(f),r.id,_.layoutVertexBuffer,_.indexBuffer,_.segments,null,t.transform.zoom,null,null,_.collisionVertexBuffer)}var d;if(!s||!c.length)return;const p=t.useProgram("collisionCircle"),f=new e.aR;f.resize(4*h),f._trim();let m=0;for(const t of c)for(let e=0;e=0&&(y[x.associatedIconIndex]={shiftedAnchor:C,angle:z})}else Dt(x.numGlyphs,_)}if(h){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i="map"===r.layout.get("text-rotation-alignment");wt(c,l.posMatrix,t,s,N,U,y,h,i,_,l.toUnwrapped(),m.width,m.height,$,e)}const G=l.posMatrix,H=s&&I||Z,X=x||H?Ui:N,W=j,K=p&&0!==r.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1);let J;J=p?c.iconsInText?Ue(S.kind,C,v,y,x,H,t,G,X,W,$,E,B,A):je(S.kind,C,v,y,x,H,t,G,X,W,$,s,E,!0,A):Ne(S.kind,C,v,y,x,H,t,G,X,W,$,s,E,A);const Y={program:k,buffers:u,uniformValues:J,atlasTexture:D,atlasTextureIcon:F,atlasInterpolation:L,atlasInterpolationIcon:R,isSDF:p,hasHalo:K};if(w&&c.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.a0([i]),sortKey:i.sortKey,state:Y,terrainData:z})}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:z})}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(p.activeTexture.set(f.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,f.CLAMP_TO_EDGE),i.atlasTextureIcon&&(p.activeTexture.set(f.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),i.isSDF){const n=i.uniformValues;i.hasHalo&&(n.u_is_halo=1,Xi(i.buffers,e.segments,r,t,i.program,S,u,d,n,e.terrainData)),n.u_is_halo=0}Xi(i.buffers,e.segments,r,t,i.program,S,u,d,i.uniformValues,e.terrainData)}}function Xi(t,e,i,r,n,s,a,o,l,c){const h=r.context;n.draw(h,h.gl.TRIANGLES,s,a,o,Vi.disabled,l,c,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,r.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Wi(t,e,i,r,n){if(!i||!r||!r.imageAtlas)return;const s=r.imageAtlas.patternPositions;let a=s[i.to.toString()],o=s[i.from.toString()];if(!a&&o&&(a=o),!o&&a&&(o=a),!a||!o){const t=n.getPaintProperty(e);a=s[t],o=s[t]}a&&o&&t.setConstantPatternPositions(a,o)}function Ki(t,e,i,r,n,s,a){const o=t.context.gl,l="fill-pattern",c=i.paint.get(l),h=c&&c.constantOr(1),u=i.getCrossfadeParameters();let d,p,f,m,_;a?(p=h&&!i.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",d=o.LINES):(p=h?"fillPattern":"fill",d=o.TRIANGLES);const g=c.constantOr(null);for(const c of r){const r=e.getTile(c);if(h&&!r.patternsLoaded())continue;const y=r.getBucket(i);if(!y)continue;const x=y.programConfigurations.get(i.id),v=t.useProgram(p,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c);h&&(t.context.activeTexture.set(o.TEXTURE0),r.imageAtlasTexture.bind(o.LINEAR,o.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Wi(x,l,g,r,i);const w=b?c:null,T=t.translatePosMatrix(w?w.posMatrix:c.posMatrix,r,i.paint.get("fill-translate"),i.paint.get("fill-translate-anchor"));if(a){m=y.indexBuffer2,_=y.segments2;const e=[o.drawingBufferWidth,o.drawingBufferHeight];f="fillOutlinePattern"===p&&h?Ie(T,t,u,r,e):Se(T,e)}else m=y.indexBuffer,_=y.segments,f=h?Te(T,t,u,r):we(T);v.draw(t.context,d,n,t.stencilModeForClipping(c),s,Vi.disabled,f,b,i.id,y.layoutVertexBuffer,m,_,i.paint,t.transform.zoom,x)}}function Ji(t,e,i,r,n,s,a){const o=t.context,l=o.gl,c="fill-extrusion-pattern",h=i.paint.get(c),u=h.constantOr(1),d=i.getCrossfadeParameters(),p=i.paint.get("fill-extrusion-opacity"),f=h.constantOr(null);for(const h of r){const r=e.getTile(h),m=r.getBucket(i);if(!m)continue;const _=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h),g=m.programConfigurations.get(i.id),y=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",g);u&&(t.context.activeTexture.set(l.TEXTURE0),r.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Wi(g,c,f,r,i);const x=t.translatePosMatrix(h.posMatrix,r,i.paint.get("fill-extrusion-translate"),i.paint.get("fill-extrusion-translate-anchor")),v=i.paint.get("fill-extrusion-vertical-gradient"),b=u?be(x,t,v,p,h,d,r):ve(x,t,v,p);y.draw(o,o.gl.TRIANGLES,n,s,a,Vi.backCCW,b,_,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer)}}function Yi(t,e,i,r,n,s,a){const o=t.context,l=o.gl,c=i.fbo;if(!c)return;const h=t.useProgram("hillshade"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);o.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,c.colorAttachment.get()),h.draw(o,l.TRIANGLES,n,s,a,Vi.disabled,((t,e,i,r)=>{const n=i.paint.get("hillshade-shadow-color"),s=i.paint.get("hillshade-highlight-color"),a=i.paint.get("hillshade-accent-color");let o=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle);const l=!t.options.moving;return{u_matrix:r?r.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:ze(0,e.tileID),u_light:[i.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:s,u_accent:a}})(t,i,r,u?e:null),u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}function Qi(t,i,r,n,s,a){const o=t.context,l=o.gl,c=i.dem;if(c&&c.data){const h=c.dim,u=c.stride,d=c.getPixels();if(o.activeTexture.set(l.TEXTURE1),o.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else i.demTexture=new b(o,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);o.activeTexture.set(l.TEXTURE0);let p=i.fbo;if(!p){const t=new b(o,{width:h,height:h,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),p=i.fbo=o.createFramebuffer(h,h,!0,!1),p.colorAttachment.set(t.texture)}o.bindFramebuffer.set(p.framebuffer),o.viewport.set([0,0,h,h]),t.useProgram("hillshadePrepare").draw(o,l.TRIANGLES,n,s,a,Vi.disabled,((t,i)=>{const r=i.stride,n=e.H();return e.aP(n,0,e.X,-e.X,0,0,1),e.J(n,n,[0,-e.X,0]),{u_matrix:n,u_image:1,u_dimension:[r,r],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,c),null,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1}}function tr(t,i,r,n,a,o){const l=n.paint.get("raster-fade-duration");if(!o&&l>0){const n=s.now(),o=(n-t.timeAdded)/l,c=i?(n-i.timeAdded)/l:-1,h=r.getSource(),u=a.coveringZoomLevel({tileSize:h.tileSize,roundZoom:h.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),p=d&&t.refreshedUponExpiration?1:e.ac(d?o:1-c,0,1);return t.refreshedUponExpiration&&o>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const er=new e.aM(1,0,0,1),ir=new e.aM(0,1,0,1),rr=new e.aM(0,0,1,1),nr=new e.aM(1,0,1,1),sr=new e.aM(0,1,1,1);function ar(t,e,i,r){lr(t,0,e+i/2,t.transform.width,i,r)}function or(t,e,i,r){lr(t,e-i/2,0,i,t.transform.height,r)}function lr(t,e,i,r,n,s){const a=t.context,o=a.gl;o.enable(o.SCISSOR_TEST),o.scissor(e*t.pixelRatio,i*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio),a.clear({color:s}),o.disable(o.SCISSOR_TEST)}function cr(t,i,r){const n=t.context,s=n.gl,a=r.posMatrix,o=t.useProgram("debug"),l=Bi.disabled,c=Oi.disabled,h=t.colorModeForRenderPass(),u="$debug",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(r);n.activeTexture.set(s.TEXTURE0);const p=i.getTileByID(r.key).latestRawTileData,f=Math.floor((p&&p.byteLength||0)/1024),m=i.getTile(r).tileSize,_=512/Math.min(m,512)*(r.overscaledZ/t.transform.zoom)*.5;let g=r.canonical.toString();r.overscaledZ!==r.canonical.z&&(g+=` => ${r.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,r=t.context.gl,n=t.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(e,5,5),n.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}(t,`${g} ${f}kB`),o.draw(n,s.TRIANGLES,l,c,Li.alphaBlended,Vi.disabled,Me(a,e.aM.transparent,_),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),o.draw(n,s.LINE_STRIP,l,c,h,Vi.disabled,Me(a,e.aM.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments)}function hr(t,e,i){const r=t.context,n=r.gl,s=t.colorModeForRenderPass(),a=new Bi(n.LEQUAL,Bi.ReadWrite,t.depthRangeFor3D),o=t.useProgram("terrain"),l=e.getTerrainMesh();r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height]);for(const c of i){const i=t.renderToTexture.getTexture(c),h=e.getTerrainData(c.tileID);r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,i.texture);const u=t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),d=e.getMeshFrameDelta(t.transform.zoom),p=t.transform.calculateFogMatrix(c.tileID.toUnwrapped()),f=_e(u,d,p,t.style.sky,t.transform.pitch);o.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,f,h,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class ur{constructor(t,e,i){this.vertexBuffer=t,this.indexBuffer=e,this.segments=i}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class dr{constructor(t,i){this.context=new Ri(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ut.maxUnderzooming+ut.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new le}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize()}setup(){const t=this.context,i=new e.aW;i.emplaceBack(0,0),i.emplaceBack(e.X,0),i.emplaceBack(0,e.X),i.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(i,de.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const r=new e.aW;r.emplaceBack(0,0),r.emplaceBack(e.X,0),r.emplaceBack(0,e.X),r.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(r,de.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const n=new e.$;n.emplaceBack(0,0,0,0),n.emplaceBack(e.X,0,e.X,0),n.emplaceBack(0,e.X,0,e.X),n.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(n,Y.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const s=new e.aW;s.emplaceBack(0,0),s.emplaceBack(1,0),s.emplaceBack(0,1),s.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(s,de.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aY;a.emplaceBack(0),a.emplaceBack(1),a.emplaceBack(3),a.emplaceBack(2),a.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(a);const o=new e.aX;o.emplaceBack(0,1,2),o.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(o);const l=this.context.gl;this.stencilClearMode=new Oi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const r=e.H();e.aP(r,0,this.width,this.height,0,0,1),e.K(r,r,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(t,i.TRIANGLES,Bi.disabled,this.stencilClearMode,Li.disabled,Vi.disabled,ke(r),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,r=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(Li.disabled),i.setDepthMode(Bi.disabled);const n=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,s=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);n.draw(i,r.TRIANGLES,Bi.disabled,new Oi({func:r.ALWAYS,mask:0},e,255,r.KEEP,r.KEEP,r.REPLACE),Li.disabled,Vi.disabled,ke(t.posMatrix),s,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Oi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Oi({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.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 t={};for(let i=0;i({u_sky_color:t.properties.get("sky-color"),u_horizon_color:t.properties.get("horizon-color"),u_horizon:(e.height/2+e.getHorizon())*i,u_sky_horizon_blend:t.properties.get("sky-horizon-blend")*e.height/2*i}))(i,t.style.map.transform,t.pixelRatio),a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=Oi.disabled,l=t.colorModeForRenderPass(),c=t.useProgram("sky");if(!i.mesh){const t=new e.aW;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const n=new e.aX;n.emplaceBack(0,1,2),n.emplaceBack(0,2,3),i.mesh=new ur(r.createVertexBuffer(t,de.members),r.createIndexBuffer(n),e.a0.simpleSegment(0,0,t.length,n.length))}c.draw(r,n.TRIANGLES,a,o,l,Vi.disabled,s,void 0,"sky",i.mesh.vertexBuffer,i.mesh.indexBuffer,i.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=r.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[r[this.currentLayer]],e=n[t.source],i=a[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),n=r.filter((t=>"vector"===t.getSource().type)),s=r.filter((t=>"vector"!==t.getSource().type)),a=t=>{(!i||i.getSource().maxzooma(t))),i||s.forEach((t=>a(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let r=0;r0),n&&(e.a$(i,r),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const r=t.context,n=r.gl,s=Li.unblended,a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),c=t.useProgram("terrainDepth");r.bindFramebuffer.set(i.getFramebuffer("depth").framebuffer),r.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),r.clear({color:e.aM.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),h={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,h,l,"terrain",o.vertexBuffer,o.indexBuffer,o.segments)}r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain),function(t,i){const r=t.context,n=r.gl,s=Li.unblended,a=new Bi(n.LEQUAL,Bi.ReadWrite,[0,1]),o=i.getTerrainMesh(),l=i.getCoordsTexture(),c=i.sourceCache.getRenderableTiles(),h=t.useProgram("terrainCoords");r.bindFramebuffer.set(i.getFramebuffer("coords").framebuffer),r.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),r.clear({color:e.aM.transparent,depth:1}),i.coordsIndex=[];for(const e of c){const c=i.getTerrainData(e.tileID);r.activeTexture.set(n.TEXTURE0),n.bindTexture(n.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(r,n.TRIANGLES,a,Oi.disabled,s,Vi.backCCW,u,c,"terrain",o.vertexBuffer,o.indexBuffer,o.segments),i.coordsIndex.push(e.tileID.key)}r.bindFramebuffer.set(null),r.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain))}renderLayer(t,i,r,n){if(!r.isHidden(this.transform.zoom)&&("background"===r.type||"custom"===r.type||(n||[]).length))switch(this.id=r.id,r.type){case"symbol":!function(t,i,r,n,s){if("translucent"!==t.renderPass)return;const a=Oi.disabled,o=t.colorModeForRenderPass();(r._unevaluatedLayout.hasValue("text-variable-anchor")||r._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(t,i,r,n,s,a,o,l,c){const h=i.transform,u=ee(),d="map"===s,p="map"===a;for(const s of t){const t=n.getTile(s),a=t.getBucket(r);if(!a||!a.text||!a.text.segments.get().length)continue;const f=e.ag(a.textSizeData,h.zoom),m=Bt(t,1,i.transform.zoom),_=gt(s.posMatrix,p,d,i.transform,m),g="none"!==r.layout.get("icon-text-fit")&&a.hasIconData();if(f){const e=Math.pow(2,h.zoom-t.tileID.overscaledZ),r=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(s,t,e):null,n=u.translatePosition(h,t,o,l);Zi(a,d,p,c,h,_,s.posMatrix,e,f,g,u,n,s.toUnwrapped(),r)}}}(n,t,r,i,r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),s),0!==r.paint.get("icon-opacity").constantOr(1)&&Hi(t,i,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),a,o),0!==r.paint.get("text-opacity").constantOr(1)&&Hi(t,i,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),a,o),i.map.showCollisionBoxes&&(ji(t,i,r,n,!0),ji(t,i,r,n,!1))}(t,i,r,n,this.style.placement.variableOffsets);break;case"circle":!function(t,i,r,n){if("translucent"!==t.renderPass)return;const s=r.paint.get("circle-opacity"),a=r.paint.get("circle-stroke-width"),o=r.paint.get("circle-stroke-opacity"),l=!r.layout.get("circle-sort-key").isConstant();if(0===s.constantOr(1)&&(0===a.constantOr(1)||0===o.constantOr(1)))return;const c=t.context,h=c.gl,u=t.depthModeForSublayer(0,Bi.ReadOnly),d=Oi.disabled,p=t.colorModeForRenderPass(),f=[];for(let s=0;st.sortKey-e.sortKey));for(const e of f){const{programConfiguration:i,program:n,layoutVertexBuffer:s,indexBuffer:a,uniformValues:o,terrainData:l}=e.state;n.draw(c,h.TRIANGLES,u,d,p,Vi.disabled,o,l,r.id,s,a,e.segments,r.paint,t.transform.zoom,i)}}(t,i,r,n);break;case"heatmap":!function(t,i,r,n){if(0!==r.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const s=t.context,a=s.gl,o=Oi.disabled,l=new Li([a.ONE,a.ONE],e.aM.transparent,[!0,!0,!0,!0]);!function(t,e,i){const r=t.gl;t.activeTexture.set(r.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let n=i.heatmapFbo;if(n)r.bindTexture(r.TEXTURE_2D,n.colorAttachment.get()),t.bindFramebuffer.set(n.framebuffer);else{const s=r.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),n=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,i,r){var n,s;const a=t.gl,o=null!==(n=t.HALF_FLOAT)&&void 0!==n?n:a.UNSIGNED_BYTE,l=null!==(s=t.RGBA16F)&&void 0!==s?s:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,e.width/4,e.height/4,0,a.RGBA,o,null),r.colorAttachment.set(i)}(t,e,s,n)}}(s,t,r),s.clear({color:e.aM.transparent});for(let e=0;e{const r=e.H();e.aP(r,0,t.width,t.height,0,0,1);const n=t.context.gl;return{u_matrix:r,u_world:[n.drawingBufferWidth,n.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get("heatmap-opacity")}})(t,i),null,i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom)}(t,r))}(t,i,r,n);break;case"line":!function(t,i,r,n){if("translucent"!==t.renderPass)return;const s=r.paint.get("line-opacity"),a=r.paint.get("line-width");if(0===s.constantOr(1)||0===a.constantOr(1))return;const o=t.depthModeForSublayer(0,Bi.ReadOnly),l=t.colorModeForRenderPass(),c=r.paint.get("line-dasharray"),h=r.paint.get("line-pattern"),u=h.constantOr(1),d=r.paint.get("line-gradient"),p=r.getCrossfadeParameters(),f=u?"linePattern":c?"lineSDF":d?"lineGradient":"line",m=t.context,_=m.gl;let g=!0;for(const s of n){const n=i.getTile(s);if(u&&!n.patternsLoaded())continue;const a=n.getBucket(r);if(!a)continue;const y=a.programConfigurations.get(r.id),x=t.context.program.get(),v=t.useProgram(f,y),w=g||v.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(s),S=h.constantOr(null);if(S&&n.imageAtlas){const t=n.imageAtlas,e=t.patternPositions[S.to.toString()],i=t.patternPositions[S.from.toString()];e&&i&&y.setConstantPatternPositions(e,i)}const I=T?s:null,P=u?Le(t,n,r,p,I):c?Re(t,n,r,c,p,I):d?De(t,n,r,a.lineClipsArray.length,I):Ee(t,n,r,I);if(u)m.activeTexture.set(_.TEXTURE0),n.imageAtlasTexture.bind(_.LINEAR,_.CLAMP_TO_EDGE),y.updatePaintBuffers(p);else if(c&&(w||t.lineAtlas.dirty))m.activeTexture.set(_.TEXTURE0),t.lineAtlas.bind(m);else if(d){const n=a.gradients[r.id];let o=n.texture;if(r.gradientVersion!==n.version){let l=256;if(r.stepInterpolant){const r=i.getSource().maxzoom,n=s.canonical.z===r?Math.ceil(1<20&&s.texParameterf(s.TEXTURE_2D,n.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,n.extTextureFilterAnisotropicMax);const v=t.style.map.terrain&&t.style.map.terrain.getTerrainData(r),b=v?r:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(r.toUnwrapped(),d),T=Oe(w,y||[0,0],g||1,_,i);a instanceof Q?o.draw(n,s.TRIANGLES,h,Oi.disabled,l,Vi.disabled,T,v,i.id,a.boundsBuffer,t.quadTriangleIndexBuffer,a.boundsSegments):o.draw(n,s.TRIANGLES,h,c[r.overscaledZ],l,Vi.disabled,T,v,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}(t,i,r,n);break;case"background":!function(t,e,i,r){const n=i.paint.get("background-color"),s=i.paint.get("background-opacity");if(0===s)return;const a=t.context,o=a.gl,l=t.transform,c=l.tileSize,h=i.paint.get("background-pattern");if(t.isPatternMissing(h))return;const u=!h&&1===n.a&&1===s&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass!==u)return;const d=Oi.disabled,p=t.depthModeForSublayer(0,"opaque"===u?Bi.ReadWrite:Bi.ReadOnly),f=t.colorModeForRenderPass(),m=t.useProgram(h?"backgroundPattern":"background"),_=r||l.coveringTiles({tileSize:c,terrain:t.style.map.terrain});h&&(a.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));const g=i.getCrossfadeParameters();for(const e of _){const l=r?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),u=h?qe(l,s,t,h,{tileID:e,tileSize:c},g):$e(l,s,n),_=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(a,o.TRIANGLES,p,d,f,Vi.disabled,u,_,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}(t,0,r,n);break;case"custom":!function(t,e,i){const r=t.context,n=i.implementation;if("offscreen"===t.renderPass){const e=n.prerender;e&&(t.setCustomLayerDefaults(),r.setColorMode(t.colorModeForRenderPass()),e.call(n,r.gl,t.transform.customLayerMatrix()),r.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),r.setColorMode(t.colorModeForRenderPass()),r.setStencilMode(Oi.disabled);const e="3d"===n.renderingMode?new Bi(t.context.gl.LEQUAL,Bi.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Bi.ReadOnly);r.setDepthMode(e),n.render(r.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),r.setDirty(),t.setBaseState(),r.bindFramebuffer.set(null)}}(t,0,r)}}translatePosMatrix(t,i,r,n,s){if(!r[0]&&!r[1])return t;const a=s?"map"===n?this.transform.angle:0:"viewport"===n?-this.transform.angle:0;if(a){const t=Math.sin(a),e=Math.cos(a);r=[r[0]*e-r[1]*t,r[0]*t+r[1]*e]}const o=[s?r[0]:Bt(i,r[0],this.transform.zoom),s?r[1]:Bt(i,r[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,o),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return!e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[i]||(this.cache[i]=new ye(this.context,pe[t],e,Ze[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class pr{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,i,r){const n=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=1/(r=e.af([],r,t))[3]/i*n;return e.b0(r,r,[s,s,1/r[3],s])})),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var i=e[0],r=e[1],n=e[2],s=i*i+r*r+n*n;return s>0&&(s=1/Math.sqrt(s)),t[0]=e[0]*s,t[1]=e[1]*s,t[2]=e[2]*s,t}([],function(t,e,i){var r=e[0],n=e[1],s=e[2],a=i[0],o=i[1],l=i[2];return t[0]=n*l-s*o,t[1]=s*a-r*l,t[2]=r*o-n*a,t}([],g([],s[t[0]],s[t[1]]),g([],s[t[2]],s[t[1]]))),i=-((r=e)[0]*(n=s[t[1]])[0]+r[1]*n[1]+r[2]*n[2]);var r,n;return e.concat(i)}));return new pr(s,a)}}class fr{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max))}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),r=m(this.max);for(let t=0;t=0&&a++;if(0===a)return 0;a!==i.length&&(r=!1)}if(r)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,r=-Number.MAX_VALUE;for(let n=0;nthis.max[e]-this.min[e])return 0}return 1}}class mr{constructor(t=0,e=0,i=0,r=0){if(isNaN(t)||t<0||isNaN(e)||e<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=t,this.bottom=e,this.left=i,this.right=r}interpolate(t,i,r){return null!=i.top&&null!=t.top&&(this.top=e.y.number(t.top,i.top,r)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.y.number(t.bottom,i.bottom,r)),null!=i.left&&null!=t.left&&(this.left=e.y.number(t.left,i.left,r)),null!=i.right&&null!=t.right&&(this.right=e.y.number(t.right,i.right,r)),this}getCenter(t,i){const r=e.ac((this.left+t-this.right)/2,0,t),n=e.ac((this.top+i-this.bottom)/2,0,i);return new e.P(r,n)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new mr(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const _r=85.051129;class gr{constructor(t,i,r,n,s){this.tileSize=512,this._renderWorldCopies=void 0===s||!!s,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==r?0:r,this._maxPitch=null==n?60:n,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new mr,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new gr(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const i=-e.b2(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var r=e[0],n=e[1],s=e[2],a=e[3],o=Math.sin(i),l=Math.cos(i);t[0]=r*l+s*o,t[1]=n*l+a*o,t[2]=r*-o+s*l,t[3]=n*-o+a*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ac(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const i=[new e.b3(0,t)];if(this._renderWorldCopies){const r=this.pointCoordinate(new e.P(0,0)),n=this.pointCoordinate(new e.P(this.width,0)),s=this.pointCoordinate(new e.P(this.width,this.height)),a=this.pointCoordinate(new e.P(0,this.height)),o=Math.floor(Math.min(r.x,n.x,s.x,a.x)),l=Math.floor(Math.max(r.x,n.x,s.x,a.x)),c=1;for(let r=o-c;r<=l+c;r++)0!==r&&i.push(new e.b3(r,t))}return i}coveringTiles(t){var i,r;let n=this.coveringZoomLevel(t);const s=n;if(void 0!==t.minzoom&&nt.maxzoom&&(n=t.maxzoom);const a=this.pointCoordinate(this.getCameraPoint()),o=e.Z.fromLngLat(this.center),l=Math.pow(2,n),c=[l*a.x,l*a.y,0],h=[l*o.x,l*o.y,0],u=pr.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,n);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=n);const p=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,f=t=>({aabb:new fr([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],_=[],g=n,x=t.reparseOverscaled?s:n;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(f(-t)),m.push(f(t));for(m.push(f(0));m.length>0;){const n=m.pop(),s=n.x,a=n.y;let o=n.fullyVisible;if(!o){const t=n.aabb.intersects(u);if(0===t)continue;o=2===t}const l=t.terrain?c:h,f=n.aabb.distanceX(l),v=n.aabb.distanceY(l),b=Math.max(Math.abs(f),Math.abs(v));if(n.zoom===g||b>p+(1<=d){const t=g-n.zoom,i=c[0]-.5-(s<>1),u=n.zoom+1;let d=n.aabb.quadrant(l);if(t.terrain){const s=new e.S(u,n.wrap,u,c,h),a=t.terrain.getMinMaxElevation(s),o=null!==(i=a.minElevation)&&void 0!==i?i:this.elevation,l=null!==(r=a.maxElevation)&&void 0!==r?r:this.elevation;d=new fr([d.min[0],d.min[1],o],[d.max[0],d.max[1],l])}m.push({aabb:d,zoom:u,x:c,y:h,wrap:n.wrap,fullyVisible:o})}}return _.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const i=e.ac(t.lat,-85.051129,_r);return new e.P(e.O(t.lng)*this.worldSize,e.Q(i)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,r=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,n=this.pointLocation(this.centerPoint,t),s=t.getElevationForLngLatZoom(n,this.tileZoom);if(!(this.elevation-s))return;const a=r+i-s,o=Math.cos(this._pitch)*this.cameraToCenterDistance/a/e.b4(1,n.lat),l=this.scaleZoom(o/this.tileSize);this._elevation=s,this._center=n,this.zoom=l}setLocationAtPoint(t,i){const r=this.pointCoordinate(i),n=this.pointCoordinate(this.centerPoint),s=this.locationCoordinate(t),a=new e.Z(s.x-(r.x-n.x),s.y-(r.y-n.y));this.center=this.coordinateLocation(a),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const r=[t.x,t.y,0,1],n=[t.x,t.y,1,1];e.af(r,r,this.pixelMatrixInverse),e.af(n,n,this.pixelMatrixInverse);const s=r[3],a=n[3],o=r[1]/s,l=n[1]/a,c=r[2]/s,h=n[2]/a,u=c===h?0:(0-c)/(h-c);return new e.Z(e.y.number(r[0]/s,n[0]/a,u)/this.worldSize,e.y.number(o,l,u)/this.worldSize)}coordinatePoint(t,i=0,r=this.pixelMatrix){const n=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.af(n,n,r),new e.P(n[0]/n[3],n[1]/n[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return(new G).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new G([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,_r])}calculateTileMatrix(t){const i=t.canonical,r=this.worldSize/this.zoomScale(i.z),n=i.x+Math.pow(2,i.z)*t.wrap,s=e.an(new Float64Array(16));return e.J(s,s,[n*r,i.y*r,0]),e.K(s,s,[r/e.X,r/e.X,1]),s}calculatePosMatrix(t,i=!1){const r=t.key,n=i?this._alignedPosMatrixCache:this._posMatrixCache;if(n[r])return n[r];const s=this.calculateTileMatrix(t);return e.L(s,i?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,s),n[r]=new Float32Array(s),n[r]}calculateFogMatrix(t){const i=t.key,r=this._fogMatrixCache;if(r[i])return r[i];const n=this.calculateTileMatrix(t);return e.L(n,this.fogMatrix,n),r[i]=new Float32Array(n),r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ac(+i,this.minZoom,this.maxZoom);const r={center:new e.N(t.lng,t.lat),zoom:i};let n=this.lngRange;if(!this._renderWorldCopies&&null===n){const t=180-1e-10;n=[-t,t]}const s=this.tileSize*this.zoomScale(r.zoom);let a=0,o=s,l=0,c=s,h=0,u=0;const{x:d,y:p}=this.size;if(this.latRange){const t=this.latRange;a=e.Q(t[1])*s,o=e.Q(t[0])*s,o-ao&&(g=o-t)}if(n){const t=(l+c)/2;let i=f;this._renderWorldCopies&&(i=e.b2(f,t-s/2,t+s/2));const r=d/2;i-rc&&(_=c-r)}if(void 0!==_||void 0!==g){const t=new e.P(null!=_?_:f,null!=g?g:m);r.center=this.unproject.call({worldSize:s},t).wrap()}return r}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,r=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b4(1,this.center.lat)*this.worldSize;let n=e.an(new Float64Array(16));e.K(n,n,[this.width/2,-this.height/2,1]),e.J(n,n,[1,-1,0]),this.labelPlaneMatrix=n,n=e.an(new Float64Array(16)),e.K(n,n,[1,-1,1]),e.J(n,n,[-1,-1,0]),e.K(n,n,[2/this.width,2/this.height,1]),this.glCoordMatrix=n;const s=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),a=Math.min(this.elevation,this.minElevationForCurrentTile),o=s-a*this._pixelPerMeter/Math.cos(this._pitch),l=a<0?o:s,c=Math.PI/2+this._pitch,h=this._fov*(.5+t.y/this.height),u=Math.sin(h)*l/Math.sin(e.ac(Math.PI-c-h,.01,Math.PI-.01)),d=this.getHorizon(),p=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),f=Math.sin(p)*l/Math.sin(e.ac(Math.PI-c-p,.01,Math.PI-.01)),m=Math.min(u,f);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,n=new Float64Array(16),e.b5(n,this._fov,this.width/this.height,this.nearZ,this.farZ),n[8]=2*-t.x/this.width,n[9]=2*t.y/this.height,this.projectionMatrix=e.ae(n),e.K(n,n,[1,-1,1]),e.J(n,n,[0,0,-this.cameraToCenterDistance]),e.b6(n,n,this._pitch),e.ad(n,n,this.angle),e.J(n,n,[-i,-r,0]),this.mercatorMatrix=e.K([],n,[this.worldSize,this.worldSize,this.worldSize]),e.K(n,n,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,n),e.J(n,n,[0,0,-this.elevation]),this.modelViewProjectionMatrix=n,this.invModelViewProjectionMatrix=e.as([],n),this.fogMatrix=new Float64Array(16),e.b5(this.fogMatrix,this._fov,this.width/this.height,s,this.farZ),this.fogMatrix[8]=2*-t.x/this.width,this.fogMatrix[9]=2*t.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b6(this.fogMatrix,this.fogMatrix,this._pitch),e.ad(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-i,-r,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,n);const _=this.width%2/2,g=this.height%2/2,y=Math.cos(this.angle),x=Math.sin(this.angle),v=i-Math.round(i)+y*_+x*g,b=r-Math.round(r)+y*g+x*_,w=new Float64Array(n);if(e.J(w,w,[v>.5?v-1:v,b>.5?b-1:b,0]),this.alignedModelViewProjectionMatrix=w,n=e.as(new Float64Array(16),this.pixelMatrix),!n)throw new Error("failed to invert matrix");this.pixelMatrixInverse=n,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.af(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return[t[0],i];{let r=i.x,n=i.y,s=i.x,a=i.y;for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),s=Math.max(s,e.x),a=Math.max(a,e.y);return[new e.P(r,n),new e.P(s,n),new e.P(s,a),new e.P(r,a),new e.P(r,n)]}}lngLatToCameraDepth(t,i){const r=this.locationCoordinate(t),n=[r.x*this.worldSize,r.y*this.worldSize,i,1];return e.af(n,n,this.modelViewProjectionMatrix),n[2]/n[3]}}function yr(t,e){let i,r=!1,n=null,s=null;const a=()=>{n=null,r&&(t.apply(s,i),n=setTimeout(a,e),r=!1)};return(...t)=>(r=!0,s=this,i=t,n||a(),n)}class xr{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t)},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join("/");let i=e;i.split("&").length>0&&(i=i.split("&")[0]),this._hashName&&(i=`${this._hashName}=${e}`);let r=window.location.hash.replace(i,"");r.startsWith("#&")?r=r.slice(0,1)+r.slice(2):"#"===r&&(r="");let n=window.location.href.replace(/(#.+)?$/,r);n=n.replace("&&","&"),window.history.replaceState(window.history.state,null,n)},this._updateHash=yr(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,r=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),n=Math.pow(10,r),s=Math.round(e.lng*n)/n,a=Math.round(e.lat*n)/n,o=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${s}/${a}/${i}`:`${i}/${a}/${s}`,(o||l)&&(c+="/"+Math.round(10*o)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split("&").map((i=>{const r=i.split("=")[0];return r===t?(e=!0,`${r}=${c}`):i})).filter((t=>t));return e||i.push(`${t}=${c}`),`#${i.join("&")}`}return`#${c}`}}const vr={linearity:.3,easing:e.b7(0,0,.3,1)},br=e.e({deceleration:2500,maxSpeed:1400},vr),wr=e.e({deceleration:20,maxSpeed:1400},vr),Tr=e.e({deceleration:1e3,maxSpeed:360},vr),Sr=e.e({deceleration:1e3,maxSpeed:90},vr);class Ir{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:s.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=s.now();for(;t.length>0&&e-t[0].time>160;)t.shift()}_onMoveEnd(t){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:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const r=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,n={};if(i.pan.mag()){const s=Ar(i.pan.mag(),r,e.e({},br,t||{}));n.offset=i.pan.mult(s.amount/i.pan.mag()),n.center=this._map.transform.center,Pr(n,s)}if(i.zoom){const t=Ar(i.zoom,r,wr);n.zoom=this._map.transform.zoom+t.amount,Pr(n,t)}if(i.bearing){const t=Ar(i.bearing,r,Tr);n.bearing=this._map.transform.bearing+e.ac(t.amount,-179,179),Pr(n,t)}if(i.pitch){const t=Ar(i.pitch,r,Sr);n.pitch=this._map.transform.pitch+t.amount,Pr(n,t)}if(n.zoom||n.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;n.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),e.e(n,{noMoveStart:!0})}}function Pr(t,e){(!t.duration||t.durationi.unproject(t))),l=s.reduce(((t,e,i,r)=>t.add(e.div(r.length))),new e.P(0,0));super(t,{points:s,point:l,lngLats:o,lngLat:i.unproject(l),originalEvent:r}),this._defaultPrevented=!1}}class Cr extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1}}class zr{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Cr(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Mr(t.type,this._map,t))}mouseup(t){this._map.fire(new Mr(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Mr(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Mr(t.type,this._map,t))}mouseover(t){this._map.fire(new Mr(t.type,this._map,t))}mouseout(t){this._map.fire(new Mr(t.type,this._map,t))}touchstart(t){return this._firePreventable(new kr(t.type,this._map,t))}touchmove(t){this._map.fire(new kr(t.type,this._map,t))}touchend(t){this._map.fire(new kr(t.type,this._map,t))}touchcancel(t){this._map.fire(new kr(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Er{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Mr(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Mr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Mr(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Dr{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Lr{constructor(t,e){this._map=t,this._tr=new Dr(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(a.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(r,n,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(a.remove(this._box),this._box=null),a.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function Rr(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let r=0;rthis.numTouches)&&(this.aborted=!0),this.aborted||(void 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=Rr(r,i)))}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const r=Rr(i,e);for(const t in this.touches){const e=r[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0)}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class Fr{constructor(t){this.singleTap=new Br(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,i){this.singleTap.touchstart(t,e,i)}touchmove(t,e,i){this.singleTap.touchmove(t,e,i)}touchend(t,e,i){const r=this.singleTap.touchend(t,e,i);if(r){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(r)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=r,this.count===this.numTaps)return this.reset(),r}}}class Or{constructor(t){this._tr=new Dr(t),this._zoomIn=new Fr({numTouches:1,numTaps:2}),this._zoomOut=new Fr({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i)}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i)}touchend(t,e,i){const r=this._zoomIn.touchend(t,e,i),n=this._zoomOut.touchend(t,e,i),s=this._tr;return r?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:s.zoom+1,around:s.unproject(r)},{originalEvent:t})}):n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:s.zoom-1,around:s.unproject(n)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Vr{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const r=e.length?e[0]:e;return!this._moved&&r.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault()}},qr=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const r=new jr({checkCorrectEvent:t=>0===a.mouseButton(t)&&t.ctrlKey||2===a.mouseButton(t)});return new Vr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:r,enable:t,assignEvents:$r})},Zr=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const r=new jr({checkCorrectEvent:t=>0===a.mouseButton(t)&&t.ctrlKey||2===a.mouseButton(t)});return new Vr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:r,enable:t,assignEvents:$r})};class Gr{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active){if(!this._shouldBePrevented(i.length))return t.preventDefault(),this._calculateTransform(t,e,i);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",t)}}touchend(t,e,i){this._calculateTransform(t,e,i),this._active&&this._shouldBePrevented(i.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(t,i,r){r.length>0&&(this._active=!0);const n=Rr(r,i),s=new e.P(0,0),a=new e.P(0,0);let o=0;for(const t in n){const e=n[t],i=this._touches[t];i&&(s._add(e),a._add(e.sub(i)),o++,n[t]=e)}if(this._touches=n,this._shouldBePrevented(o)||!a.mag())return;const l=a.div(o);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class tn extends Hr{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length}_start(t){this._lastPoints=t,Qr(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const r=t[0].sub(this._lastPoints[0]),n=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(r,n,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(r.y+n.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const r=t.mag()>=2,n=e.mag()>=2;if(!r&&!n)return;if(!r||!n)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const s=t.y>0==e.y>0;return Qr(t)&&Qr(e)&&s}}const en={panStep:100,bearingStep:15,pitchStep:10};class rn{constructor(t){this._tr=new Dr(t);const e=en;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,r=0,n=0,s=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),n=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),n=1);break;case 38:t.shiftKey?r=1:(t.preventDefault(),s=-1);break;case 40:t.shiftKey?r=-1:(t.preventDefault(),s=1);break;default:return}return this._rotationDisabled&&(i=0,r=0),{cameraAnimation:a=>{const o=this._tr;a.easeTo({duration:300,easeId:"keyboardHandler",easing:nn,zoom:e?Math.round(o.zoom)+e*(t.shiftKey?2:1):o.zoom,bearing:o.bearing+i*this._bearingStep,pitch:o.pitch+r*this._pitchStep,offset:[-n*this._panStep,-s*this._panStep],center:o.center},{originalEvent:t})}}}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 nn(t){return t*(2-t)}const sn=4.000244140625;class an{constructor(t,e){this._onTimeout=t=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Dr(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(t){return!!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=s.now(),r=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%sn==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":r>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(r*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault()}_start(t){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 i=a.mousePos(this._map.getCanvas(),t),r=this._tr;this._around=i.y>r.transform.height/2-r.transform.getHorizon()?e.N.convert(this._aroundCenter?r.center:r.unproject(i)):e.N.convert(r.center),this._aroundPoint=r.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>sn?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const r="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(r*i))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const i="number"==typeof this._targetZoom?this._targetZoom:t.zoom,r=this._startZoom,n=this._easing;let a,o=!1;const l=s.now()-this._lastWheelEventTime;if("wheel"===this._type&&r&&n&&l){const t=Math.min(l/200,1),s=n(t);a=e.y.number(r,i,s),t<1?this._frameId||(this._frameId=!0):o=!0}else a=i,o=!0;return this._active=!0,o&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!o,zoomDelta:a-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b8;if(this._prevEase){const t=this._prevEase,r=(s.now()-t.start)/t.duration,n=t.easing(r+.01)-t.easing(r),a=.27/Math.sqrt(n*n+1e-4)*.01,o=Math.sqrt(.0729-a*a);i=e.b7(a,o,.25,1)}return this._prevEase={start:s.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class on{constructor(t,e){this._clickZoom=t,this._tapZoom=e}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 ln{constructor(t){this._tr=new Dr(t),this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class cn{constructor(){this._tap=new Fr({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const r=e[0],n=t.timeStamp-this._tapTime<500,s=this._tapPoint.dist(r)<30;n&&s?i.length>0&&(this._swipePoint=r,this._swipeTouch=i[0].identifier):this.reset()}else this._tap.touchstart(t,e,i)}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const r=e[0],n=r.y-this._swipePoint.y;return this._swipePoint=r,t.preventDefault(),this._active=!0,{zoomDelta:n/128}}}else this._tap.touchmove(t,e,i)}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else{const r=this._tap.touchend(t,e,i);r&&(this._tapTime=t.timeStamp,this._tapPoint=r)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class hn{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class un{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,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 dn{constructor(t,e,i,r){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=r,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class pn{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=t,this._options=e,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=a.create("div","maplibregl-cooperative-gesture-screen",t);let e=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(e=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const i=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),r=document.createElement("div");r.className="maplibregl-desktop-message",r.textContent=e,this._container.appendChild(r);const n=document.createElement("div");n.className="maplibregl-mobile-message",n.textContent=i,this._container.appendChild(n),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(a.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,i){this._enabled&&(this._map.fire(new e.k("cooperativegestureprevented",{gestureType:t,originalEvent:i})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}const fn=t=>t.zoom||t.drag||t.pitch||t.rotate;class mn extends e.k{}function _n(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class gn{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`)},this.handleEvent=(t,e)=>{if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i="renderFrame"===t.type?void 0:t,r={needsRenderFrame:!1},n={},s={},o=t.touches,l=o?this._getMapTouches(o):void 0,c=l?a.touchPos(this._map.getCanvas(),l):a.mousePos(this._map.getCanvas(),t);for(const{handlerName:a,handler:o,allowed:h}of this._handlers){if(!o.isEnabled())continue;let u;this._blockedByActive(s,h,a)?o.reset():o[e||t.type]&&(u=o[e||t.type](t,c,l),this.mergeHandlerResult(r,n,u,a,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||o.isActive())&&(s[a]=o)}const h={};for(const t in this._previousActiveHandlers)s[t]||(h[t]=i);this._previousActiveHandlers=s,(Object.keys(h).length||_n(r))&&(this._changes.push([r,n,h]),this._triggerRenderFrame()),(Object.keys(s).length||_n(r))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=r;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ir(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,i]of this._listeners)a.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(const[t,e,i]of this._listeners)a.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i)}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add("mapEvent",new zr(e,t));const r=e.boxZoom=new Lr(e,t);this._add("boxZoom",r),t.interactive&&t.boxZoom&&r.enable();const n=e.cooperativeGestures=new pn(e,t.cooperativeGestures);this._add("cooperativeGestures",n),t.cooperativeGestures&&n.enable();const s=new Or(e),o=new ln(e);e.doubleClickZoom=new on(o,s),this._add("tapZoom",s),this._add("clickZoom",o),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new cn;this._add("tapDragZoom",l);const c=e.touchPitch=new tn(e);this._add("touchPitch",c),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const h=qr(t),u=Zr(t);e.dragRotate=new un(t,h,u),this._add("mouseRotate",h,["mousePitch"]),this._add("mousePitch",u,["mouseRotate"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new jr({checkCorrectEvent:t=>0===a.mouseButton(t)&&!t.ctrlKey});return new Vr({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:$r})})(t),p=new Gr(t,e);e.dragPan=new hn(i,d,p),this._add("mousePan",d),this._add("touchPan",p,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const f=new Yr,m=new Kr;e.touchZoomRotate=new dn(i,m,f,l),this._add("touchRotate",f,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const _=e.scrollZoom=new an(e,(()=>this._triggerRenderFrame()));this._add("scrollZoom",_,["mousePan"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new rn(e);this._add("keyboard",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add("blockableMapEvent",new Er(e))}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(fn(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const r in t)if(r!==i&&(!e||e.indexOf(r)<0))return!0;return!1}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,r,n,s){if(!r)return;e.e(t,r);const a={handlerName:n,originalEvent:r.originalEvent||s};void 0!==r.zoomDelta&&(i.zoom=a),void 0!==r.panDelta&&(i.drag=a),void 0!==r.pitchDelta&&(i.pitch=a),void 0!==r.bearingDelta&&(i.rotate=a)}_applyChanges(){const t={},i={},r={};for(const[n,s,a]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.pinchAround&&(t.pinchAround=n.pinchAround),n.noInertia&&(t.noInertia=n.noInertia),e.e(i,s),e.e(r,a);this._updateMapTransform(t,i,r),this._changes=[]}_updateMapTransform(t,e,i){const r=this._map,n=r._getTransformForUpdate(),s=r.terrain;if(!(_n(t)||s&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:a,zoomDelta:o,bearingDelta:l,pitchDelta:c,around:h,pinchAround:u}=t;void 0!==u&&(h=u),r._stop(!0),h=h||r.transform.centerPoint;const d=n.pointLocation(a?h.sub(a):h);l&&(n.bearing+=l),c&&(n.pitch+=c),o&&(n.zoom+=o),s?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?n.center=n.pointLocation(n.centerPoint.sub(a)):n.setLocationAtPoint(d,h):(this._terrainMovement=!0,this._map._elevationFreeze=!0,n.setLocationAtPoint(d,h)):n.setLocationAtPoint(d,h),r._applyUpdatedTransform(n),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0)}_fireEvents(t,i,r){const n=fn(this._eventsInProgress),a=fn(t),o={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(o[`${e}start`]=i),this._eventsInProgress[e]=t[e]}!n&&a&&this._fireEvent("movestart",a.originalEvent);for(const t in o)this._fireEvent(t,o[t]);a&&this._fireEvent("move",a.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i)}const l={};let c;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:r}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],c=i[e]||r,l[`${t}end`]=c)}for(const t in l)this._fireEvent(t,l[t]);const h=fn(this._eventsInProgress),u=(n||a)&&!h;if(u&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t)}if(r&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mn("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class yn extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((s.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}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(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,r){return this.easeTo(e.e({zoom:t},i),r)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),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(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(n.zoom=e.y.number(a,g,r)),this._rotating&&(n.bearing=e.y.number(o,h,r)),this._pitching&&(n.pitch=e.y.number(l,u,r)),this._padding&&(n.interpolatePadding(c,d,r),f=n.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(r),b)n.setLocationAtPoint(b,w);else{const t=n.zoomScale(n.zoom-a),e=g>a?Math.min(2,v):Math.max(.5,v),i=Math.pow(e,1-r),s=n.unproject(y.add(x.mult(r*i)).mult(t));n.setLocationAtPoint(n.renderWorldCopies?s.wrap():s,f)}this._applyUpdatedTransform(n),this._fireMoveEvents(i)}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e)}),t),this}_prepareEase(t,i,r={}){this._moving=!0,i||r.moving||this.fire(new e.k("movestart",t)),this._zooming&&!r.zooming&&this.fire(new e.k("zoomstart",t)),this._rotating&&!r.rotating&&this.fire(new e.k("rotatestart",t)),this._pitching&&!r.pitching&&this.fire(new e.k("pitchstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i}this.transform.elevation=e.y.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),i=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const i=t.clone();for(const t of e){const e=i.clone(),{center:r,zoom:n,pitch:s,bearing:a,elevation:o}=t(e);r&&(e.center=r),void 0!==n&&(e.zoom=n),void 0!==s&&(e.pitch=s),void 0!==a&&(e.bearing=a),void 0!==o&&(e.elevation=o),i.apply(e)}this.transform.apply(i)}_fireMoveEvents(t){this.fire(new e.k("move",t)),this._zooming&&this.fire(new e.k("zoom",t)),this._rotating&&this.fire(new e.k("rotate",t)),this._pitching&&this.fire(new e.k("pitch",t))}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const r=this._zooming,n=this._rotating,s=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,r&&this.fire(new e.k("zoomend",t)),n&&this.fire(new e.k("rotateend",t)),s&&this.fire(new e.k("pitchend",t)),this.fire(new e.k("moveend",t))}flyTo(t,i){var r;if(!t.essential&&s.prefersReducedMotion){const r=e.M(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.b8},t);const n=this._getTransformForUpdate(),a=n.zoom,o=n.bearing,l=n.pitch,c=n.padding,h="bearing"in t?this._normalizeBearing(t.bearing,o):o,u="pitch"in t?+t.pitch:l,d="padding"in t?t.padding:n.padding,p=e.P.convert(t.offset);let f=n.centerPoint.add(p);const m=n.pointLocation(f),{center:_,zoom:g}=n.getConstrained(e.N.convert(t.center||m),null!==(r=t.zoom)&&void 0!==r?r:a);this._normalizeCenter(_,n);const y=n.zoomScale(g-a),x=n.project(m),v=n.project(_).sub(x);let b=t.curve;const w=Math.max(n.width,n.height),T=w/y,S=v.mag();if("minZoom"in t){const i=e.ac(Math.min(t.minZoom,a,g),n.minZoom,n.maxZoom),r=w/n.zoomScale(i-a);b=Math.sqrt(r/S*2)}const I=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*I*I*S*S)/(2*(t?T:w)*I*S);return Math.log(Math.sqrt(e*e+1)-e)}function A(t){return(Math.exp(t)-Math.exp(-t))/2}function M(t){return(Math.exp(t)+Math.exp(-t))/2}const k=P(!1);let C=function(t){return M(k)/M(k+b*t)},z=function(t){return w*((M(k)*(A(e=k+b*t)/M(e))-A(k))/I)/S;var e},E=(P(!0)-k)/b;if(Math.abs(S)<1e-6||!isFinite(E)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,C=t=>Math.exp(e*b*t)}return t.duration="duration"in t?+t.duration:1e3*E/("screenSpeed"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=o!==h,this._pitching=u!==l,this._padding=!n.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(_),this._ease((r=>{const s=r*E,m=1/C(s);n.zoom=1===r?g:a+n.scaleZoom(m),this._rotating&&(n.bearing=e.y.number(o,h,r)),this._pitching&&(n.pitch=e.y.number(l,u,r)),this._padding&&(n.interpolatePadding(c,d,r),f=n.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(r);const y=1===r?_:n.unproject(x.add(v.mult(z(s))).mult(m));n.setLocationAtPoint(n.renderWorldCopies?y.wrap():y,f),this._applyUpdatedTransform(n),this._fireMoveEvents(i)}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i)}),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=s.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,i){t=e.b2(t,-180,180);const r=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const xn={compact:!0,customAttribution:'MapLibre'};class vn{constructor(t=xn){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=t=>{!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=a.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=a.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=a.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){a.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute("aria-label",i)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const i in e){const r=e[i];if(r.used||r.usedForTerrain){const e=r.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let r=i+1;r=0)return!1;return!0}));const i=t.join(" | ");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class bn{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact"):e.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=a.create("div","maplibregl-ctrl");const e=a.create("a","maplibregl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){a.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class wn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Tn=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Sn extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const r={};for(const n of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))r[n.key]=!0,this._renderableTilesKeys.push(n.key),this._tiles[n.key]||(n.posMatrix=new Float64Array(16),e.aP(n.posMatrix,0,e.X,0,e.X,0,1),this._tiles[n.key]=new lt(n,this.tileSize));for(const t in this._tiles)r[t]||delete this._tiles[t]}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const r of this._renderableTilesKeys){const n=this._tiles[r].tileID;if(n.canonical.equals(t.canonical)){const n=t.clone();n.posMatrix=new Float64Array(16),e.aP(n.posMatrix,0,e.X,0,e.X,0,1),i[r]=n}else if(n.canonical.isChildOf(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16);const a=n.canonical.z-t.canonical.z,o=n.canonical.x-(n.canonical.x>>a<>a<>a;e.aP(s.posMatrix,0,c,0,c,0,1),e.J(s.posMatrix,s.posMatrix,[-o*c,-l*c,0]),i[r]=s}else if(t.canonical.isChildOf(n.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16);const a=t.canonical.z-n.canonical.z,o=t.canonical.x-(t.canonical.x>>a<>a<>a;e.aP(s.posMatrix,0,e.X,0,e.X,0,1),e.J(s.posMatrix,s.posMatrix,[o*c,l*c,0]),e.K(s.posMatrix,s.posMatrix,[1/2**a,1/2**a,0]),i[r]=s}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let r=t.overscaledZ-this.deltaZoom;if(r>i.maxzoom&&(r=i.maxzoom),r=i.minzoom&&(!n||!n.dem);)n=this.sourceCache.getTileByID(t.scaledTo(r--).key);return n}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class In{constructor(t,e,i){this.painter=t,this.sourceCache=new Sn(e),this.options=i,this.exaggeration="number"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,i,r,n=e.X){var s;if(!(i>=0&&i=0&&rt.canonical.z&&(t.canonical.z>=r?n=t.canonical.z-r:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const s=t.canonical.x-(t.canonical.x>>n<>n<>8<<4|t>>8,i[e+3]=0;const r=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),n=new b(t,r,t.gl.RGBA,{premultiply:!1});return n.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=n,n}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),r=this.painter.context,n=r.gl,s=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),a=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),o=Math.round(this.painter.height/devicePixelRatio);r.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),n.readPixels(s,o-a-1,1,1,n.RGBA,n.UNSIGNED_BYTE,i),r.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),c=i[1]+((15&i[2])<<8),h=this.coordsIndex[255-i[3]],u=h&&this.sourceCache.getTileByID(h);if(!u)return null;const d=this._coordsTextureSize,p=(1<t.id!==e)),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse))}}const An={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Mn{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Pn(t.context,30,e.sourceCache.tileSize*e.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t])}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],r=i.source;if(An[i.type]&&!this._coordsDescendingInvStr[r]){this._coordsDescendingInvStr[r]={};for(const t in this._coordsDescendingInv[r])this._coordsDescendingInvStr[r][t]=this._coordsDescendingInv[r][t].map((t=>t.key)).sort().join()}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const i=t.type,r=this.painter,n=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(An[i]&&(this._prevType&&An[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!n))return!0;if(An[this._prevType]||An[i]&&n){this._prevType=i;const t=this._stacks.length-1,n=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(hr(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const s=this.pool.getOrCreateFreeObject();this.pool.useObject(s),this.pool.stampObject(s),i.rtt[t]={id:s.id,stamp:s.stamp},r.context.bindFramebuffer.set(s.fbo.framebuffer),r.context.clear({color:e.aM.transparent,stencil:0}),r.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},Dn={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ln{constructor(t,i,r=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),a.mousePos(this.element,t)),a.addEventListener(window,"mousemove",this.mousemove),a.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,a.mousePos(this.element,t))},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp()},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),a.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.addEventListener(window,"touchend",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=a.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos))},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const n=t.dragRotate._mouseRotate.getClickTolerance(),s=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=qr({clickTolerance:n,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const r=new Ur;return new Vr({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:r,enable:t,assignEvents:En})})({clickTolerance:n,enable:!0}),this.map=t,r&&(this.mousePitch=Zr({clickTolerance:s,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const r=new Ur;return new Vr({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:r,enable:t,assignEvents:En})})({clickTolerance:s,enable:!0})),a.addEventListener(i,"mousedown",this.mousedown),a.addEventListener(i,"touchstart",this.touchstart,{passive:!1}),a.addEventListener(i,"touchcancel",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),a.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),a.disableDrag()}moveMouse(t,e){const i=this.map,{bearingDelta:r}=this.mouseRotate.dragMove(t,e)||{};if(r&&i.setBearing(i.getBearing()+r),this.mousePitch){const{pitchDelta:r}=this.mousePitch.dragMove(t,e)||{};r&&i.setPitch(i.getPitch()+r)}}moveTouch(t,e){const i=this.map,{bearingDelta:r}=this.touchRotate.dragMove(t,e)||{};if(r&&i.setBearing(i.getBearing()+r),this.touchPitch){const{pitchDelta:r}=this.touchPitch.dragMove(t,e)||{};r&&i.setPitch(i.getPitch()+r)}}off(){const t=this.element;a.removeEventListener(t,"mousedown",this.mousedown),a.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend),a.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){a.enableDrag(),a.removeEventListener(window,"mousemove",this.mousemove),a.removeEventListener(window,"mouseup",this.mouseup),a.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),a.removeEventListener(window,"touchend",this.touchend)}}let Rn;function Bn(t,i,r){const n=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),i){const n=new e.N(t.lng-360,t.lat),s=new e.N(t.lng+360,t.lat),a=r.locationPoint(t).distSqr(i);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.lng!==n.lng&&r.locationPoint(t).y>r.height/2-r.getHorizon()?t:n}const Fn={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function On(t,e,i){const r=t.classList;for(const t in Fn)r.remove(`maplibregl-${i}-anchor-${t}`);r.add(`maplibregl-${i}-anchor-${e}`)}class Vn extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==i&&13!==i||this.togglePopup()},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup()},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();("terrain"===(null==t?void 0:t.type)||"render"===(null==t?void 0:t.type)&&!i)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Bn(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let r="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?r=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(r=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let n="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?n="rotateX(0deg)":"map"===this._pitchAlignment&&(n=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&"moveend"!==t.type||(this._pos=this._pos.round()),a.setTransform(this._element,`${Fn[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${n} ${r}`),s.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&"moveend"===t.type)})).catch((()=>{}))},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.k("dragstart"))),this.fire(new e.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new e.k("dragend")),this._state="inactive"},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=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._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&"auto"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=a.create("div");const i=a.createNS("http://www.w3.org/2000/svg","svg"),r=41,n=27;i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height",`${r}px`),i.setAttributeNS(null,"width",`${n}px`),i.setAttributeNS(null,"viewBox",`0 0 ${n} ${r}`);const s=a.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");const o=a.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"fill-rule","nonzero");const l=a.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=a.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const h=a.createNS("http://www.w3.org/2000/svg","g");h.setAttributeNS(null,"fill",this._color);const u=a.createNS("http://www.w3.org/2000/svg","path");u.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),h.appendChild(u);const d=a.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"opacity","0.25"),d.setAttributeNS(null,"fill","#000000");const p=a.createNS("http://www.w3.org/2000/svg","path");p.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),d.appendChild(p);const f=a.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"transform","translate(6.0, 7.0)"),f.setAttributeNS(null,"fill","#FFFFFF");const m=a.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");const _=a.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#000000"),_.setAttributeNS(null,"opacity","0.25"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962");const g=a.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#FFFFFF"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962"),m.appendChild(_),m.appendChild(g),o.appendChild(l),o.appendChild(h),o.appendChild(d),o.appendChild(f),o.appendChild(m),i.appendChild(o),i.setAttributeNS(null,"height",r*this._scale+"px"),i.setAttributeNS(null,"width",n*this._scale+"px"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),On(this._element,this._anchor,"marker"),t&&t.className)for(const e of t.className.split(" "))this._element.classList.add(e);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.setAttribute("aria-label",t._getUIString("Marker.Title")),t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),a.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,i=13.5,r=Math.abs(i)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[r,-1*(e-i+r)],"bottom-right":[-r,-1*(e-i+r)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,r;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}const n=this._map,s=n.terrain.depthAtPoint(this._pos),a=n.terrain.getElevationForLngLatZoom(this._lngLat,n.transform.tileZoom);if(n.transform.lngLatToCameraDepth(this._lngLat,a)-s<.006)return void(this._element.style.opacity=this._opacity);const o=-this._offset.y/n.transform._pixelPerMeter,l=Math.sin(n.getPitch()*Math.PI/180)*o,c=n.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),h=n.transform.lngLatToCameraDepth(this._lngLat,a+l)-c>.006;(null===(r=this._popup)||void 0===r?void 0:r.isOpen())&&h&&this._popup.remove(),this._element.style.opacity=h?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Nn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let jn=0,Un=!1;const $n={maxWidth:100,unit:"metric"};function qn(t,e,i){const r=i&&i.maxWidth||100,n=t._container.clientHeight/2,s=t.unproject([0,n]),a=t.unproject([r,n]),o=s.distanceTo(a);if(i&&"imperial"===i.unit){const i=3.2808*o;i>5280?Zn(e,r,i/5280,t._getUIString("ScaleControl.Miles")):Zn(e,r,i,t._getUIString("ScaleControl.Feet"))}else i&&"nautical"===i.unit?Zn(e,r,o/1852,t._getUIString("ScaleControl.NauticalMiles")):o>=1e3?Zn(e,r,o/1e3,t._getUIString("ScaleControl.Kilometers")):Zn(e,r,o,t._getUIString("ScaleControl.Meters"))}function Zn(t,e,i,r){const n=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(n/i)+"px",t.innerHTML=`${n} ${r}`}const Gn={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Hn=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Xn(t){if(t){if("number"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,t),"top-left":new e.P(i,i),"top-right":new e.P(-i,i),bottom:new e.P(0,-t),"bottom-left":new e.P(i,-i),"bottom-right":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);return{center:i,top:i,"top-left":i,"top-right":i,bottom:i,"bottom-left":i,"bottom-right":i,left:i,right:i}}return{center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),"top-left":e.P.convert(t["top-left"]||[0,0]),"top-right":e.P.convert(t["top-right"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),"bottom-left":e.P.convert(t["bottom-left"]||[0,0]),"bottom-right":e.P.convert(t["bottom-right"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return Xn(new e.P(0,0))}const Wn=i;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=vn,t.BoxZoomHandler=Lr,t.CanvasSource=et,t.CooperativeGesturesHandler=pn,t.DoubleClickZoomHandler=on,t.DragPanHandler=hn,t.DragRotateHandler=un,t.EdgeInsets=mr,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},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.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){a.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=a.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);a.create("span","maplibregl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},t.GeoJSONSource=J,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k("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("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",t)),this._finish()}},this._updateCamera=t=>{const i=new e.N(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy,n=this._map.getBearing(),s=e.e({bearing:n},this.options.fitBoundsOptions),a=G.fromLngLat(i,r);this._map.fitBounds(a,s,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const i=new e.N(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()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Un)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=a.create("button","maplibregl-ctrl-geolocate",this._container),a.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=t=>{if(this._map){if(!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.title=t,this._geolocateButton.setAttribute("aria-label",t)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=a.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Vn({element:this._dotElement}),this._circleElement=a.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Vn({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||t.originalEvent&&"resize"===t.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))}))}},this.options=e.e({},Nn,t)}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Rn&&!t)return Rn;if(void 0===window.navigator.permissions)return Rn=!!window.navigator.geolocation,Rn;try{const t=yield window.navigator.permissions.query({name:"geolocation"});Rn="denied"!==t.state}catch(t){Rn=!!window.navigator.geolocation}return Rn}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),a.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,jn=0,Un=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),r=e.distanceTo(i),n=Math.ceil(this._accuracy/(r/this._map._container.clientHeight)*2);this._circleElement.style.width=`${n}px`,this._circleElement.style.height=`${n}px`}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.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":jn--,Un=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new e.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k("trackuserlocationstart")),this.fire(new e.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),jn++,jn>1?(t={maximumAge:6e5,timeout:0},Un=!0):(t=this.options.positionOptions,Un=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},t.Hash=xr,t.ImageSource=Q,t.KeyboardHandler=rn,t.LngLatBounds=G,t.LogoControl=bn,t.Map=class extends yn{constructor(t){e.be.mark(e.bf.create);const i=Object.assign(Object.assign({},zn),t);if(null!=i.minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=i.minPitch&&null!=i.maxPitch&&i.minPitch>i.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=i.minPitch&&i.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=i.maxPitch&&i.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new gr(i.minZoom,i.maxZoom,i.minPitch,i.maxPitch,i.renderWorldCopies),{bearingSnap:i.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new wn,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._maxTileCacheZoomLevels=i.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===i.preserveDrawingBuffer,this._antialias=!0===i.antialias,this._trackResize=!0===i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=!0===i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=!0===i.crossSourceCollisions,this._collectResourceTiming=!0===i.collectResourceTiming,this._locale=Object.assign(Object.assign({},kn),i.locale),this._clickTolerance=i.clickTolerance,this._overridePixelRatio=i.pixelRatio,this._maxCanvasSize=i.maxCanvasSize,this.transformCameraUpdate=i.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===i.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new f(i.transformRequest),"string"==typeof i.container){if(this._container=document.getElementById(i.container),!this._container)throw new Error(`Container '${i.container}' not found.`)}else{if(!(i.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=i.container}if(i.maxBounds&&this.setMaxBounds(i.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",(()=>this._update(!1))).on("moveend",(()=>this._update(!1))).on("zoom",(()=>this._update(!0))).on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})).once("idle",(()=>{this._idleTriggered=!0})),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let t=!1;const e=yr((t=>{this._trackResize&&!this._removed&&this.resize(t)._update()}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0})),this._resizeObserver.observe(this._container)}this.handlers=new gn(this,i),this._hash=i.hash&&new xr("string"==typeof i.hash&&i.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch}),i.bounds&&(this.resize(),this.fitBounds(i.bounds,e.e({},i.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=i.localIdeographFontFamily,this._validateStyle=i.validateStyle,i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily}),i.attributionControl&&this.addControl(new vn("boolean"==typeof i.attributionControl?void 0:i.attributionControl)),i.maplibreLogo&&this.addControl(new bn,i.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t))})),this.on("dataabort",(t=>{this.fire(new e.k("sourcedataabort",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.j(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.j(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(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,r){return null==r&&this.terrain&&(r=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,r)}resize(t){var i;const r=this._containerDimensions(),n=r[0],s=r[1],a=this._getClampedPixelRatio(n,s);if(this._resizeCanvas(n,s,a),this.painter.resize(n,s,a),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(n,s);this._resizeCanvas(n,s,e),this.painter.resize(n,s,e)}this.transform.resize(n,s),null===(i=this._requestedCameraState)||void 0===i||i.resize(n,s);const o=!this._moving;return o&&(this.stop(),this.fire(new e.k("movestart",t)).fire(new e.k("move",t))),this.fire(new e.k("resize",t)),o&&this.fire(new e.k("moveend",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:r}=this._maxCanvasSize,n=this.getPixelRatio(),s=t*n,a=e*n;return Math.min(s>i?i/s:1,a>r?r/a:1)*n}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(G.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;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;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,i){if("mouseenter"===t||"mouseover"===t){let r=!1;const n=n=>{const s=this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[];s.length?r||(r=!0,i.call(this,new Mr(t,this,n.originalEvent,{features:s}))):r=!1};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:()=>{r=!1}}}}if("mouseleave"===t||"mouseout"===t){let r=!1;const n=n=>{(this.getLayer(e)?this.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?r=!0:r&&(r=!1,i.call(this,new Mr(t,this,n.originalEvent)))},s=e=>{r&&(r=!1,i.call(this,new Mr(t,this,e.originalEvent)))};return{layer:e,listener:i,delegates:{mousemove:n,mouseout:s}}}{const r=t=>{const r=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,i.call(this,t),delete t.features)};return{layer:e,listener:i,delegates:{[t]:r}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const r=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(r);for(const t in r.delegates)this.on(t,r.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const r=this._createDelegatedListener(t,e,i);for(const t in r.delegates)this.once(t,r.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(()=>{const r=this._delegatedListeners[t];for(let t=0;tthis._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new ue(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ue(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(t,i){if("string"==typeof t){const r=this._requestManager.transformRequest(t,"Style");e.h(r,new AbortController).then((t=>{this._updateDiff(t.data,i)})).catch((t=>{t&&this.fire(new e.j(t))}))}else"object"==typeof t&&this._updateDiff(t,i)}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0)}catch(r){e.w(`Unable to perform style diff: ${r.message||r.error||r}. Rebuilding the style from scratch.`),this._updateStyle(t,i)}}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.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)))}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const r=this.style._layers[i];"hillshade"===r.type&&r.source===t.source&&e.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new In(this.painter,i,t),this.painter.renderToTexture=new Mn(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{"style"===e.dataType?this.terrain.sourceCache.freeRtt():"source"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k("terrain",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,r={}){const{pixelRatio:n=1,sdf:a=!1,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u}=r;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(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`")));{const{width:r,height:s,data:d}=i,p=i;return this.style.addImage(t,{data:new e.R({width:r,height:s},new Uint8Array(d)),pixelRatio:n,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u,sdf:a,version:0,userImage:p}),p.onAdd&&p.onAdd(this,t),this}}{const{width:r,height:d,data:p}=s.getImageData(i);this.style.addImage(t,{data:new e.R({width:r,height:d},p),pixelRatio:n,stretchX:o,stretchY:l,content:c,textFitWidth:h,textFitHeight:u,sdf:a,version:0})}}updateImage(t,i){const r=this.style.getImage(t);if(!r)return this.fire(new e.j(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||e.b(i)?s.getImageData(i):i,{width:a,height:o,data:l}=n;if(void 0===a||void 0===o)return this.fire(new e.j(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(a!==r.data.width||o!==r.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const c=!(i instanceof HTMLImageElement||e.b(i));return r.data.replace(l,c),this.style.updateImage(t,r),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t){return p.getImage(this._requestManager.transformRequest(t,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,r={}){return this.style.setPaintProperty(t,e,i,r),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,r={}){return this.style.setLayoutProperty(t,e,i,r),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0)})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0)})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map");const e=this._canvasContainer=a.create("div","maplibregl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=a.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const i=this._containerDimensions(),r=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],r);const n=this._controlContainer=a.create("div","maplibregl-control-container",t),s=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{s[t]=a.create("div",`maplibregl-ctrl-${t} `,n)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type)}),{once:!0});const i=this._canvas.getContext("webgl2",t)||this._canvas.getContext("webgl",t);if(!i){const t="Failed to initialize WebGL";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new dr(i,this.transform),o.testSupport(i)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let r=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,n=s.now();this.style.zoomHistory.update(t,n);const a=new e.z(t,{now:n,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=a.crossFadingFactor();1===o&&o===this._crossFadingFactor||(r=!0,this._crossFadingFactor=o),this.style.update(a)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||r)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const n=this._sourcesDirty||this._styleDirty||this._placementDirty;return n||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||n||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension("WEBGL_lose_context");(null==i?void 0:i.loseContext)&&i.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),a.remove(this._canvasContainer),a.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,s.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get version(){return Cn}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Mr,t.MapTouchEvent=kr,t.MapWheelEvent=Cr,t.Marker=Vn,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",i.toString())},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute("aria-label",i)},this.options=e.e({},Dn,t),this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),a.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=a.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ln(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){a.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const i=a.create("button",t,this._container);return i.type="button",i.addEventListener("click",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&a.remove(this._content),this._container&&(a.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new e.k("close"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=a.create("div","maplibregl-popup",this._map.getContainer()),this._tip=a.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(" "))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Bn(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let r=this.options.anchor;const n=Xn(this.options.offset);if(!r){const t=this._container.offsetWidth,e=this._container.offsetHeight;let s;s=i.y+n.bottom.ythis._map.transform.height-e?["bottom"]:[],i.xthis._map.transform.width-t/2&&s.push("right"),r=0===s.length?"bottom":s.join("-")}let s=i.add(n[r]);this.options.subpixelPositioning||(s=s.round()),a.setTransform(this._container,`${Fn[r]} translate(${s.x}px,${s.y}px)`),On(this._container,r,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(Gn),t)}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement("body");let r;for(i.innerHTML=t;r=i.firstChild,r;)e.appendChild(r);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=a.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t}_createCloseButton(){this.options.closeButton&&(this._closeButton=a.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Hn);t&&t.focus()}},t.RasterDEMTileSource=K,t.RasterTileSource=W,t.ScaleControl=class{constructor(t){this._onMove=()=>{qn(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,qn(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},$n),t)}getDefaultPosition(){return"bottom-left"}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){a.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},t.ScrollZoomHandler=an,t.Style=ue,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=t}onAdd(t){return this._map=t,this._container=a.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=a.create("button","maplibregl-ctrl-terrain",this._container),a.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){a.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},t.TwoFingersTouchPitchHandler=tn,t.TwoFingersTouchRotateHandler=Yr,t.TwoFingersTouchZoomHandler=Kr,t.TwoFingersTouchZoomRotateHandler=dn,t.VectorTileSource=X,t.VideoSource=tt,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(rt(t))throw new Error(`A source type called "${t}" already exists.`);((t,e)=>{it[t]=e})(t,i)})),t.clearPrewarmedResources=function(){const t=F;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(L),F=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()"))},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ot().getRTLTextPluginStatus()},t.getVersion=function(){return Wn},t.getWorkerCount=function(){return R.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return j().broadcast("IS",t)},t.prewarm=function(){V().acquire(L)},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t},t.setRTLTextPlugin=function(t,e){return ot().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){R.workerCount=t},t.setWorkerUrl=function(t){e.a.WORKER_URL=t}}));var r=t;return r}()}(m);var _=f(m.exports);var g=i.Layer.extend({options:{updateInterval:32,padding:.1,interactive:!1,pane:"tilePane"},initialize:function(t){i.setOptions(this,t),this._throttledUpdate=i.Util.throttle(this._update,this.options.updateInterval,this)},onAdd:function(t){this._container||this._initContainer();const e=this.getPaneName();t.getPane(e).appendChild(this._container),this._initGL(),this._offset=this._map.containerPointToLayerPoint([0,0]),t.options.zoomAnimation&&i.DomEvent.on(t._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this)},onRemove:function(t){this._map._proxy&&this._map.options.zoomAnimation&&i.DomEvent.off(this._map._proxy,i.DomUtil.TRANSITION_END,this._transitionEnd,this);const e=this.getPaneName();t.getPane(e).removeChild(this._container),this._container=null,this._glMap.remove(),this._glMap=null},getEvents:function(){return{move:this._throttledUpdate,zoomanim:this._animateZoom,zoom:this._pinchZoom,zoomstart:this._zoomStart,zoomend:this._zoomEnd,resize:this._resize}},getMaplibreMap:function(){return this._glMap},getCanvas:function(){return this._glMap.getCanvas()},getSize:function(){return this._map.getSize().multiplyBy(1+2*this.options.padding)},getOpacity:function(){return this.options.opacity},setOpacity:function(t){this.options.opacity=t,this._container.style.opacity=t},getBounds:function(){const t=this.getSize().multiplyBy(.5),e=this._map.latLngToContainerPoint(this._map.getCenter());return i.latLngBounds(this._map.containerPointToLatLng(e.subtract(t)),this._map.containerPointToLatLng(e.add(t)))},getContainer:function(){return this._container},getPaneName:function(){return this._map.getPane(this.options.pane)?this.options.pane:"tilePane"},_resize:function(){return this._glMap._resize},_initContainer:function(){if(this._container)return;this._container=i.DomUtil.create("div","leaflet-gl-layer");const t=this.getSize(),e=this._map.getSize().multiplyBy(this.options.padding);this._container.style.width=t.x+"px",this._container.style.height=t.y+"px";const r=this._map.containerPointToLayerPoint([0,0]).subtract(e);i.DomUtil.setPosition(this._container,r)},_initGL:function(){if(this._glMap)return;const t=this._map.getCenter(),e=i.extend({},this.options,{container:this._container,center:[t.lng,t.lat],zoom:this._map.getZoom()-1,attributionControl:!1});this._glMap=new _.Map(e),this._glMap.once("styledata",function(t){this.fire("styleLoaded")}.bind(this)),this._glMap.transform.latRange=null,this._glMap.transform.maxValidLatitude=1/0,this._transformGL(this._glMap),this._glMap._canvas.canvas?this._glMap._actualCanvas=this._glMap._canvas.canvas:this._glMap._actualCanvas=this._glMap._canvas;const r=this._glMap._actualCanvas;i.DomUtil.addClass(r,"leaflet-image-layer"),i.DomUtil.addClass(r,"leaflet-zoom-animated"),this.options.interactive&&i.DomUtil.addClass(r,"leaflet-interactive"),this.options.className&&i.DomUtil.addClass(r,this.options.className)},_update:function(t){if(this._offset=this._map.containerPointToLayerPoint([0,0]),this._zooming)return;const e=this.getSize(),r=this._container,n=this._glMap,s=this._map.getSize().multiplyBy(this.options.padding),a=this._map.containerPointToLayerPoint([0,0]).subtract(s);i.DomUtil.setPosition(r,a),this._transformGL(n),n.transform.width!==e.x||n.transform.height!==e.y?(r.style.width=e.x+"px",r.style.height=e.y+"px",null!==n._resize&&void 0!==n._resize?n._resize():n.resize()):null!==n._update&&void 0!==n._update?n._update():n.update()},_transformGL:function(t){const e=this._map.getCenter(),i=t.transform;i.center=_.LngLat.convert([e.lng,e.lat]),i.zoom=this._map.getZoom()-1},_pinchZoom:function(t){this._glMap.jumpTo({zoom:this._map.getZoom()-1,center:this._map.getCenter()})},_animateZoom:function(t){const e=this._map.getZoomScale(t.zoom),r=this._map.getSize().multiplyBy(this.options.padding*e),n=this.getSize()._divideBy(2),s=this._map.project(t.center,t.zoom)._subtract(n)._add(this._map._getMapPanePos().add(r))._round(),a=this._map.project(this._map.getBounds().getNorthWest(),t.zoom)._subtract(s);i.DomUtil.setTransform(this._glMap._actualCanvas,a.subtract(this._offset),e)},_zoomStart:function(t){this._zooming=!0},_zoomEnd:function(){const t=this._map.getZoomScale(this._map.getZoom());i.DomUtil.setTransform(this._glMap._actualCanvas,null,t),this._zooming=!1,this._update()},_transitionEnd:function(t){i.Util.requestAnimFrame((function(){const t=this._map.getZoom(),e=this._map.getCenter(),r=this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());i.DomUtil.setTransform(this._glMap._actualCanvas,r,1),this._glMap.once("moveend",i.Util.bind((function(){this._zoomEnd()}),this)),this._glMap.jumpTo({center:e,zoom:t-1})}),this)}});function y(t){return new g(t)}var x=i.Layer.extend({options:{portalUrl:"https://www.arcgis.com",preserveDrawingBuffer:!1},initialize:function(t,e){if(e&&i.setOptions(this,e),this.options.apiKey&&(this.options.apikey=this.options.apiKey),this.options.apikey?this.options.token=this.options.apikey:this.options.token&&(this.options.apikey=this.options.token),!t)throw new Error("An ITEM ID or SERVICE URL is required for vectorTileLayer.");t&&(this.options.key=t),this._createLayer()},_createLayer:function(){n(this.options.key,this.options,function(t,e,i,r){var n;t?this.fire("load-error",{value:t}):(n=r.tileInfo.spatialReference.wkid,d.indexOf(n)>=0||console.warn('This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The "tileInfo.spatialReference" property is:',r.tileInfo.spatialReference,"\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94."),e=h(e,i,r,this.options.token),this._createMaplibreLayer(e))}.bind(this))},_setupAttribution:function(){if(!this.getAttribution()){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=Object.keys(t);this.options.attribution=t[e[e.length-1]].attribution,this._map&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution())}},_createMaplibreLayer:function(t){this._maplibreGL=y({style:t,pane:this.options.pane,opacity:this.options.opacity,preserveDrawingBuffer:this.options.preserveDrawingBuffer}),this._ready=!0,this.fire("ready",{},!0),this._maplibreGL.on("styleLoaded",function(){this._setupAttribution(),this.options.style&&"function"==typeof this.options.style&&this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()))}.bind(this))},onAdd:function(t){this._map=t,this._ready?this._asyncAdd():this.once("ready",(function(){this._asyncAdd()}),this)},onRemove:function(t){t.removeLayer(this._maplibreGL)},_asyncAdd:function(){const t=this._map;this._maplibreGL.addTo(t,this)}});var v=x.extend({initialize:function(t,e){if(e.version||(t.includes("/")?e.version=2:e.version=1),t||(t=1===e.version?"ArcGIS:Streets":"arcgis/streets"),!(e.apikey||e.apiKey||e.token))throw new Error("An API Key or token is required for vectorBasemapLayer.");if(2!==e.version){if(e.language)throw new Error("The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");if(e.worldview)throw new Error("The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.");if(e.places)throw new Error("The places parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.")}e.pane||(t.includes(":Label")||t.includes("/label")?e.pane="esri-labels":t.includes(":Detail")||t.includes("/detail")?e.pane="esri-detail":e.pane="tilePane"),x.prototype.initialize.call(this,t,e)},_createLayer:function(){let t;t=this.options.version&&2===this.options.version?function(t,e,i){if(t.includes(":"))throw new Error(t+" is a v1 style enumeration. Set version:1 to request this style");let r="https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/";if(t.startsWith("osm/")||t.startsWith("arcgis/")||32!==t.length)r+=t;else if(r=r+"items/"+t,i.language)throw new Error("The 'language' parameter is not supported for custom basemap styles");if(!e)throw new Error("A token is required to access basemap styles.");return r=r+"?token="+e,i.language&&(r=r+"&language="+i.language),i.worldview&&(r=r+"&worldview="+i.worldview),i.places&&(r=r+"&places="+i.places),r}(this.options.key,this.options.apikey,{language:this.options.language,worldview:this.options.worldview,places:this.options.places}):function(t,e){if(t.includes("/"))throw new Error(t+" is a v2 style enumeration. Set version:2 to request this style");let i="https://basemaps-api.arcgis.com/arcgis/rest/services/styles/"+t+"?type=style";return e&&(i=i+"&token="+e),i}(this.options.key,this.options.apikey),this._createMaplibreLayer(t)},_setupAttribution:function(){if(e.Util.setEsriAttribution(this._map),32===this.options.key.length){const t=this._maplibreGL.getMaplibreMap().style.stylesheet.sources,e=[];Object.keys(t).forEach((function(i){e.push(t[i].attribution),t[i].copyrightText&&t[i].copyrightText&&""!==t[i].copyrightText&&t[i].attribution!==t[i].copyrightText&&e.push(t[i].copyrightText)})),this._map.attributionControl.addAttribution(`${e.join(", ")}`)}else if(this.options.attributionUrls||(this.options.attributionUrls=this._getAttributionUrls(this.options.key)),this._map&&this.options.attributionUrls){if(this._map.attributionControl){for(let t=0;t')}e.Util._updateMapAttribution({target:this._map})}},_getAttributionUrls:function(t){return 0===t.indexOf("OSM:")||0===t.indexOf("osm/")?["https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2"]:0===t.indexOf("ArcGIS:Imagery")||0===t.indexOf("arcgis/imagery")?["https://static.arcgis.com/attribution/World_Imagery","https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]:["https://static.arcgis.com/attribution/Vector/World_Basemap_v2"]},_initPane:function(){if(!this._map.getPane(this.options.pane)){const t=this._map.createPane(this.options.pane);t.style.pointerEvents="none";let e=500;"esri-detail"===this.options.pane?e=250:"esri-labels"===this.options.pane&&(e=300),t.style.zIndex=e}},onRemove:function(t){if(t.off("moveend",e.Util._updateMapAttribution),t.removeLayer(this._maplibreGL),t.attributionControl){e.Util.removeEsriAttribution&&e.Util.removeEsriAttribution(t);const i=document.getElementsByClassName("esri-dynamic-attribution");if(i&&i.length>0){const e=i[0].outerHTML;t.attributionControl.removeAttribution(e),t.attributionControl.removeAttribution('')}}},_asyncAdd:function(){const t=this._map;this._initPane(),t.on("moveend",e.Util._updateMapAttribution),this._maplibreGL.addTo(t,this)}});const b=r;t.MaplibreGLJSLayer=g,t.Util=p,t.VERSION=b,t.VectorBasemapLayer=v,t.VectorTileLayer=x,t.maplibreGLJSLayer=y,t.setRTLTextPlugin=(t,e,i)=>{_.setRTLTextPlugin(t,e,i)},t.vectorBasemapLayer=function(t,e){return new v(t,e)},t.vectorTileLayer=function(t,e){return new x(t,e)},Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=esri-leaflet-vector.js.map diff --git a/dist/esri-leaflet-vector.js.map b/dist/esri-leaflet-vector.js.map new file mode 100644 index 0000000..9dc887a --- /dev/null +++ b/dist/esri-leaflet-vector.js.map @@ -0,0 +1 @@ +{"version":3,"file":"esri-leaflet-vector.js","sources":["../src/Util.js","../node_modules/maplibre-gl/dist/maplibre-gl.js","../src/MaplibreGLLayer.js","../src/VectorTileLayer.js","../src/VectorBasemapLayer.js","../src/EsriLeafletVector.js"],"sourcesContent":["import { latLng, latLngBounds } from 'leaflet';\r\nimport { request, Support, Util } from 'esri-leaflet';\r\n\r\n/*\r\n utility to establish a URL for the basemap styles API\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getBasemapStyleUrl (style, apikey) {\r\n if (style.includes('/')) {\r\n throw new Error(style + ' is a v2 style enumeration. Set version:2 to request this style');\r\n }\r\n\r\n let url =\r\n 'https://basemaps-api.arcgis.com/arcgis/rest/services/styles/' +\r\n style +\r\n '?type=style';\r\n if (apikey) {\r\n url = url + '&token=' + apikey;\r\n }\r\n return url;\r\n}\r\n\r\n/**\r\n * Utility to establish a URL for the basemap styles API v2\r\n *\r\n * @param {string} style\r\n * @param {string} token\r\n * @param {Object} [options] Optional list of options: language, worldview, or places.\r\n * @returns {string} the URL\r\n */\r\nexport function getBasemapStyleV2Url (style, token, options) {\r\n if (style.includes(':')) {\r\n throw new Error(style + ' is a v1 style enumeration. Set version:1 to request this style');\r\n }\r\n\r\n let url = 'https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/';\r\n if (!(style.startsWith('osm/') || style.startsWith('arcgis/')) && style.length === 32) {\r\n // style is an itemID\r\n url = url + 'items/' + style;\r\n\r\n if (options.language) {\r\n throw new Error('The \\'language\\' parameter is not supported for custom basemap styles');\r\n }\r\n } else {\r\n url = url + style;\r\n }\r\n\r\n if (!token) throw new Error('A token is required to access basemap styles.');\r\n\r\n url = url + '?token=' + token;\r\n if (options.language) {\r\n url = url + '&language=' + options.language;\r\n }\r\n if (options.worldview) {\r\n url = url + '&worldview=' + options.worldview;\r\n }\r\n if (options.places) {\r\n url = url + '&places=' + options.places;\r\n }\r\n return url;\r\n}\r\n/*\r\n utilities to communicate with custom user styles via an ITEM ID or SERVICE URL\r\n used primarily by VectorTileLayer.js\r\n*/\r\nexport function loadStyle (idOrUrl, options, callback) {\r\n const httpRegex = /^https?:\\/\\//;\r\n const serviceRegex = /\\/VectorTileServer\\/?$/;\r\n\r\n if (httpRegex.test(idOrUrl) && serviceRegex.test(idOrUrl)) {\r\n const serviceUrl = idOrUrl;\r\n loadStyleFromService(serviceUrl, options, callback);\r\n } else {\r\n const itemId = idOrUrl;\r\n loadStyleFromItem(itemId, options, callback);\r\n }\r\n}\r\n\r\nexport function loadService (serviceUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(serviceUrl, params, callback);\r\n}\r\n\r\nfunction loadItem (itemId, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n const url = options.portalUrl + '/sharing/rest/content/items/' + itemId;\r\n request(url, params, callback);\r\n}\r\n\r\nfunction loadStyleFromItem (itemId, options, callback) {\r\n const itemStyleUrl =\r\n options.portalUrl +\r\n '/sharing/rest/content/items/' +\r\n itemId +\r\n '/resources/styles/root.json';\r\n\r\n loadStyleFromUrl(itemStyleUrl, options, function (error, style) {\r\n if (error) {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadStyleFromService(item.url, options, callback);\r\n });\r\n } else {\r\n loadItem(itemId, options, function (error, item) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n loadService(item.url, options, function (error, service) {\r\n callback(error, style, itemStyleUrl, service, item.url);\r\n });\r\n });\r\n }\r\n });\r\n}\r\n\r\nfunction loadStyleFromService (serviceUrl, options, callback) {\r\n loadService(serviceUrl, options, function (error, service) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n\r\n let sanitizedServiceUrl = serviceUrl;\r\n // a trailing \"/\" may create invalid paths\r\n if (serviceUrl.charAt(serviceUrl.length - 1) === '/') {\r\n sanitizedServiceUrl = serviceUrl.slice(0, serviceUrl.length - 1);\r\n }\r\n\r\n let defaultStylesUrl;\r\n // inadvertently inserting more than 1 adjacent \"/\" may create invalid paths\r\n if (service.defaultStyles.charAt(0) === '/') {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + service.defaultStyles + '/root.json';\r\n } else {\r\n defaultStylesUrl =\r\n sanitizedServiceUrl + '/' + service.defaultStyles + '/root.json';\r\n }\r\n\r\n loadStyleFromUrl(defaultStylesUrl, options, function (error, style) {\r\n if (error) {\r\n callback(error);\r\n return;\r\n }\r\n callback(null, style, defaultStylesUrl, service, serviceUrl);\r\n });\r\n });\r\n}\r\n\r\nfunction loadStyleFromUrl (styleUrl, options, callback) {\r\n const params = options.token ? { token: options.token } : {};\r\n request(styleUrl, params, callback);\r\n}\r\n\r\nfunction isSameTLD (url1, url2) {\r\n return (new URL(url1)).hostname === (new URL(url2)).hostname;\r\n}\r\n\r\nexport function formatStyle (style, styleUrl, metadata, token) {\r\n // transforms style object in place and also returns it\r\n\r\n // modify each source in style.sources\r\n const sourcesKeys = Object.keys(style.sources);\r\n for (let sourceIndex = 0; sourceIndex < sourcesKeys.length; sourceIndex++) {\r\n const source = style.sources[sourcesKeys[sourceIndex]];\r\n\r\n // if a relative path is referenced, the default style can be found in a standard location\r\n if (source.url.indexOf('http') === -1) {\r\n source.url = styleUrl.replace('/resources/styles/root.json', '');\r\n }\r\n\r\n // a trailing \"/\" may create invalid paths\r\n if (source.url.charAt(source.url.length - 1) === '/') {\r\n source.url = source.url.slice(0, source.url.length - 1);\r\n }\r\n\r\n // add tiles property if missing\r\n if (!source.tiles) {\r\n // right now ArcGIS Pro published vector services have a slightly different signature\r\n // the '/' is needed in the URL string concatenation below for source.tiles\r\n if (metadata.tiles && metadata.tiles[0].charAt(0) !== '/') {\r\n metadata.tiles[0] = '/' + metadata.tiles[0];\r\n }\r\n\r\n source.tiles = [source.url + metadata.tiles[0]];\r\n }\r\n\r\n // some VectorTileServer endpoints may default to returning f=html,\r\n // specify f=json to account for that behavior\r\n source.url += '?f=json';\r\n\r\n // add the token to the source url and tiles properties as a query param\r\n source.url += token ? '&token=' + token : '';\r\n source.tiles[0] += token ? '?token=' + token : '';\r\n // add minzoom and maxzoom to each source based on the service metadata\r\n // prefer minLOD/maxLOD if it exists since that is the level that tiles are cooked too\r\n // MapLibre will overzoom for LODs that are not cooked\r\n source.minzoom = metadata.minLOD || metadata.tileInfo.lods[0].level;\r\n source.maxzoom =\r\n metadata.maxLOD ||\r\n metadata.tileInfo.lods[metadata.tileInfo.lods.length - 1].level;\r\n }\r\n\r\n // add the attribution and copyrightText properties to the last source in style.sources based on the service metadata\r\n const lastSource = style.sources[sourcesKeys[sourcesKeys.length - 1]];\r\n lastSource.attribution = metadata.copyrightText || '';\r\n lastSource.copyrightText = metadata.copyrightText || '';\r\n\r\n // if any layer in style.layers has a layout.text-font property (it will be any array of strings) remove all items in the array after the first\r\n for (let layerIndex = 0; layerIndex < style.layers.length; layerIndex++) {\r\n const layer = style.layers[layerIndex];\r\n if (\r\n layer.layout &&\r\n layer.layout['text-font'] &&\r\n layer.layout['text-font'].length > 1\r\n ) {\r\n layer.layout['text-font'] = [layer.layout['text-font'][0]];\r\n }\r\n }\r\n\r\n if (style.sprite && style.sprite.indexOf('http') === -1) {\r\n // resolve absolute URL for style.sprite\r\n style.sprite = styleUrl.replace(\r\n 'styles/root.json',\r\n style.sprite.replace('../', '')\r\n );\r\n }\r\n if (style.sprite && token) {\r\n // add the token to the style.sprite property as a query param, only if same domain (for token security)\r\n if (isSameTLD(styleUrl, style.sprite)) {\r\n style.sprite += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but sprite URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n if (style.glyphs && style.glyphs.indexOf('http') === -1) {\r\n // resolve absolute URL for style.glyphs\r\n style.glyphs = styleUrl.replace(\r\n 'styles/root.json',\r\n style.glyphs.replace('../', '')\r\n );\r\n }\r\n\r\n if (style.glyphs && token) {\r\n // add the token to the style.glyphs property as a query param\r\n if (isSameTLD(styleUrl, style.glyphs)) {\r\n style.glyphs += '?token=' + token;\r\n } else {\r\n console.warn('Passing a token but glyph URL is not on same base URL, so you must pass the token manually.');\r\n }\r\n }\r\n\r\n return style;\r\n}\r\n\r\n/*\r\n utility to assist with dynamic attribution data\r\n used primarily by VectorBasemapLayer.js\r\n*/\r\nexport function getAttributionData (url, map) {\r\n if (Support.cors) {\r\n request(url, {}, function (error, attributions) {\r\n if (error) {\r\n return;\r\n }\r\n map._esriAttributions = map._esriAttributions || [];\r\n for (let c = 0; c < attributions.contributors.length; c++) {\r\n const contributor = attributions.contributors[c];\r\n\r\n for (let i = 0; i < contributor.coverageAreas.length; i++) {\r\n const coverageArea = contributor.coverageAreas[i];\r\n const southWest = latLng(coverageArea.bbox[0], coverageArea.bbox[1]);\r\n const northEast = latLng(coverageArea.bbox[2], coverageArea.bbox[3]);\r\n map._esriAttributions.push({\r\n attribution: contributor.attribution,\r\n score: coverageArea.score,\r\n bounds: latLngBounds(southWest, northEast),\r\n minZoom: coverageArea.zoomMin,\r\n maxZoom: coverageArea.zoomMax\r\n });\r\n }\r\n }\r\n\r\n map._esriAttributions.sort(function (a, b) {\r\n return b.score - a.score;\r\n });\r\n\r\n // pass the same argument as the map's 'moveend' event\r\n const obj = { target: map };\r\n Util._updateMapAttribution(obj);\r\n });\r\n }\r\n}\r\n\r\n/*\r\n utility to check if a service's tileInfo spatial reference is in Web Mercator\r\n used primarily by VectorTileLayer.js\r\n*/\r\nconst WEB_MERCATOR_WKIDS = [3857, 102100, 102113];\r\n\r\nexport function isWebMercator (wkid) {\r\n return WEB_MERCATOR_WKIDS.indexOf(wkid) >= 0;\r\n}\r\n\r\nexport var EsriUtil = {\r\n formatStyle: formatStyle\r\n};\r\n\r\nexport default EsriUtil;\r\n","/**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.6.0/LICENSE.txt\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar maplibregl = {};\nvar modules = {};\nfunction define(moduleName, _dependencies, moduleFactory) {\n modules[moduleName] = moduleFactory;\n\n // to get the list of modules see generated dist/maplibre-gl-dev.js file (look for `define(` calls)\n if (moduleName !== 'index') {\n return;\n }\n\n // we assume that when an index module is initializing then other modules are loaded already\n var workerBundleString = 'var sharedModule = {}; (' + modules.shared + ')(sharedModule); (' + modules.worker + ')(sharedModule);'\n\n var sharedModule = {};\n // the order of arguments of a module factory depends on rollup (it decides who is whose dependency)\n // to check the correct order, see dist/maplibre-gl-dev.js file (look for `define(` calls)\n // we assume that for our 3 chunks it will generate 3 modules and their order is predefined like the following\n modules.shared(sharedModule);\n modules.index(maplibregl, sharedModule);\n\n if (typeof window !== 'undefined') {\n maplibregl.setWorkerUrl(window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' })));\n }\n\n return maplibregl;\n};\n\n\n\ndefine(\"shared\",[\"exports\"],(function(t){\"use strict\";function e(t,e,r,n){return new(r||(r=Promise))((function(i,s){function a(t){try{l(n.next(t));}catch(t){s(t);}}function o(t){try{l(n.throw(t));}catch(t){s(t);}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e);}))).then(a,o);}l((n=n.apply(t,e||[])).next());}))}function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}\"function\"==typeof SuppressedError&&SuppressedError;var n=i;function i(t,e){this.x=t,this.y=e;}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var s=r(n),a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}o.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(a);let u,c;function h(){return null==u&&(u=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),u}function p(){if(null==c&&(c=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext(\"2d\",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=f(.25,.1,.25,1);function y(t,e,r){return Math.min(r,Math.max(e,t))}function m(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function g(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let x=1;function v(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function b(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?v(t,w):t}const _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){return \"undefined\"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function I(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const z=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function P(t,r,n,i,s){return e(this,void 0,void 0,(function*(){if(\"undefined\"==typeof VideoFrame)throw new Error(\"VideoFrame not supported\");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith(\"BGR\")&&!a.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith(\"BGR\"),l=new Uint8ClampedArray(i*s*4);if(yield e.copyTo(l,function(t,e,r,n,i){const s=4*Math.max(-e,0),a=(Math.max(0,r)-r)*n*4+s,o=4*n,l=Math.max(0,e),u=Math.max(0,r);return {rect:{x:l,y:u,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-u},layout:[{offset:a,stride:o}]}}(t,r,n,i,s)),o)for(let t=0;tk(self)?self.worker&&self.worker.referrer:(\"blob:\"===window.location.protocol?window.parent:window).location.href,O=function(t,r){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=T(t.url);if(e)return e(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,targetMapId:$},r)}if(!(/^file:/.test(n=t.url)||/^file:/.test(D())&&!/^\\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:D(),signal:r.signal});\"json\"!==t.type||e.headers.has(\"Accept\")||e.headers.set(\"Accept\",\"application/json\");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new L(n.status,n.statusText,t.url,e)}let i;i=\"arrayBuffer\"===t.type||\"image\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text();const s=yield i;if(r.signal.aborted)throw E();return {data:s,cacheControl:n.headers.get(\"Cache-Control\"),expires:n.headers.get(\"Expires\")}}))}(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,mustQueue:!0,targetMapId:$},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const s=new XMLHttpRequest;s.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(s.responseType=\"arraybuffer\");for(const e in t.headers)s.setRequestHeader(e,t.headers[e]);\"json\"===t.type&&(s.responseType=\"text\",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||s.setRequestHeader(\"Accept\",\"application/json\")),s.withCredentials=\"include\"===t.credentials,s.onerror=()=>{n(new Error(s.statusText));},s.onload=()=>{if(!e.signal.aborted)if((s.status>=200&&s.status<300||0===s.status)&&null!==s.response){let e=s.response;if(\"json\"===t.type)try{e=JSON.parse(s.response);}catch(t){return void n(t)}r({data:e,cacheControl:s.getResponseHeader(\"Cache-Control\"),expires:s.getResponseHeader(\"Expires\")});}else {const e=new Blob([s.response],{type:s.getResponseHeader(\"Content-Type\")});n(new L(s.status,s.statusText,t.url,e));}},e.signal.addEventListener(\"abort\",(()=>{s.abort(),n(E());})),s.send(t.body);}))}(t,r)};function j(t){if(!t||t.indexOf(\"://\")<=0||0===t.indexOf(\"data:image/\")||0===t.indexOf(\"blob:\"))return !0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function R(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function U(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class q{constructor(t,e={}){g(this,e),this.type=t;}}class N extends q{constructor(t,e={}){super(\"error\",g({error:t},e));}}class Z{on(t,e){return this._listeners=this._listeners||{},R(t,e,this._listeners),this}off(t,e){return U(t,e,this._listeners),U(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},R(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)U(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(g(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof N&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var G={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};const K=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function X(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return K.forEach((t=>{t in e&&(r[t]=e[t]);})),r}function H(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let r=0;r`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const _t=[lt,ut,ct,ht,pt,mt,ft,bt(dt),gt,xt,vt];function At(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!At(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of _t)if(!At(t,e))return null}return `Expected ${wt(t)} but found ${wt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function kt(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}function Mt(t,e){return \"array\"===t.kind&&\"array\"===e.kind?t.itemType.kind===e.itemType.kind&&\"number\"==typeof t.N:t.kind===e.kind}const It=.96422,zt=.82521,Pt=4/29,Ct=6/29,Bt=3*Ct*Ct,Vt=Ct*Ct*Ct,Et=Math.PI/180,Ft=180/Math.PI;function Tt(t){return (t%=360)<0&&(t+=360),t}function $t([t,e,r,n]){let i,s;const a=Dt((.2225045*(t=Lt(t))+.7168786*(e=Lt(e))+.0606169*(r=Lt(r)))/1);t===e&&e===r?i=s=a:(i=Dt((.4360747*t+.3850649*e+.1430804*r)/It),s=Dt((.0139322*t+.0971045*e+.7141733*r)/zt));const o=116*a-16;return [o<0?0:o,500*(i-a),200*(a-s),n]}function Lt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){return t>Vt?Math.pow(t,1/3):t/Bt+Pt}function Ot([t,e,r,n]){let i=(t+16)/116,s=isNaN(e)?i:i+e/500,a=isNaN(r)?i:i-r/200;return i=1*Rt(i),s=It*Rt(s),a=zt*Rt(a),[jt(3.1338561*s-1.6168667*i-.4906146*a),jt(-.9787684*s+1.9161415*i+.033454*a),jt(.0719453*s-.2289914*i+1.4052427*a),n]}function jt(t){return (t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Rt(t){return t>Ct?t*t*t:Bt*(t-Pt)}function Ut(t){return parseInt(t.padEnd(2,t),16)/255}function qt(t,e){return Nt(e?t/100:t,0,1)}function Nt(t,e,r){return Math.min(Math.max(e,t),r)}function Zt(t){return !t.some(Number.isNaN)}const Gt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Kt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter(\"rgb\",[t,e,r,n]));}static parse(t){if(t instanceof Kt)return t;if(\"string\"!=typeof t)return;const e=function(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return [0,0,0,0];const e=Gt[t];if(e){const[t,r,n]=e;return [t/255,r/255,n/255,1]}if(t.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return [Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+e)||\"ff\")]}if(t.startsWith(\"rgb\")){const e=t.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(e){const[t,r,n,i,s,a,o,l,u,c,h,p]=e,f=[i||\" \",o||\" \",c].join(\"\");if(\" \"===f||\" /\"===f||\",,\"===f||\",,,\"===f){const t=[n,a,u].join(\"\"),e=\"%%%\"===t?100:\"\"===t?255:0;if(e){const t=[Nt(+r/e,0,1),Nt(+s/e,0,1),Nt(+l/e,0,1),h?qt(+h,p):1];if(Zt(t))return t}}return}}const r=t.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){const[t,e,n,i,s,a,o,l,u]=r,c=[n||\" \",s||\" \",o].join(\"\");if(\" \"===c||\" /\"===c||\",,\"===c||\",,,\"===c){const t=[+e,Nt(+i,0,100),Nt(+a,0,100),l?qt(+l,u):1];if(Zt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,s=e*Math.min(r,1-r);return r-s*Math.max(-1,Math.min(i-3,9-i,1))}return t=Tt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}(t);return e?new Kt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter(\"rgb\",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter(\"hcl\",function(t){const[e,r,n,i]=$t(t),s=Math.sqrt(r*r+n*n);return [Math.round(1e4*s)?Tt(Math.atan2(n,r)*Ft):NaN,s,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",$t(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return `rgba(${[t,e,r].map((t=>Math.round(255*t))).join(\",\")},${n})`}}Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);class Xt{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ht{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Yt{constructor(t){this.sections=t;}static fromString(t){return new Yt([new Ht(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Yt?t:Yt.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class Jt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Jt)return t;if(\"number\"==typeof t)return new Jt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new Jt(t)}}toString(){return JSON.stringify(this.values)}}const Wt=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Qt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function re(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof Kt||t instanceof Xt||t instanceof Yt||t instanceof Jt||t instanceof Qt||t instanceof te)return !0;if(Array.isArray(t)){for(const e of t)if(!re(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!re(t[e]))return !1;return !0}return !1}function ne(t){if(null===t)return lt;if(\"string\"==typeof t)return ct;if(\"boolean\"==typeof t)return ht;if(\"number\"==typeof t)return ut;if(t instanceof Kt)return pt;if(t instanceof Xt)return yt;if(t instanceof Yt)return mt;if(t instanceof Jt)return gt;if(t instanceof Qt)return vt;if(t instanceof te)return xt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ne(e);if(r){if(r===t)continue;r=dt;break}r=t;}return bt(r||dt,e)}return ft}function ie(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Kt||t instanceof Yt||t instanceof Jt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!re(t[1]))return e.error(\"invalid value\");const r=t[1];let n=ne(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class ae{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const oe={string:ct,number:ut,boolean:ht,object:ft};class le{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,s;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in oe)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=oe[r],n++;}else i=dt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);s=t[2],n++;}r=bt(i,s);}else {if(!oe[i])throw new Error(`Types doesn't contain name = ${i}`);r=oe[i];}const s=[];for(;nt.outputDefined()))}}const ue={\"to-boolean\":ht,\"to-color\":pt,\"to-number\":ut,\"to-string\":ct};class ce{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if(!ue[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=ue[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!r))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"padding\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Jt.parse(e);if(n)return n}throw new ae(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"variableAnchorOffsetCollection\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"number\":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new ae(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Yt.fromString(ie(this.args[0].evaluate(t)));case\"resolvedImage\":return te.fromString(ie(this.args[0].evaluate(t)));default:return ie(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const he=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class pe{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?he[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Kt.parse(t)),e}}class fe{constructor(t,e,r=[],n,i=new ot,s=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=s,this.expectedType=n,this._isConstant=e;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new le(e,[t]):\"coerce\"===r?new ce(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind)if(\"variableAnchorOffsetCollection\"!==t.kind||\"value\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof se)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new pe;try{n=new se(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new fe(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new at(r,t));}checkSubtype(t,e){const r=At(t,e);return r&&this.error(r),r}}class de{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new ae(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new ae(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}}class ge{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?St(r.type,[ht,ct,ut,lt,dt])?new ge(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class xe{constructor(t,e,r){this.type=ut,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!St(r.type,[ht,ct,ut,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new xe(r,n,i):null}return new xe(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);let n;if(this.fromIndex&&(n=this.fromIndex.evaluate(t)),kt(r,[\"string\"])){const t=r.indexOf(e,n);return -1===t?-1:[...r.slice(0,t)].length}if(kt(r,[\"array\"]))return r.indexOf(e,n);throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class ve{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=s;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,ne(t)))return null}else r=ne(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,dt);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new ve(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (ne(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class be{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ut);if(!r||!n)return null;if(!St(r.type,[bt(dt),ct,dt]))return e.error(`Expected first argument to be of type array or string, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new we(r.type,r,n,i):null}return new we(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);let n;if(this.endIndex&&(n=this.endIndex.evaluate(t)),kt(e,[\"string\"]))return [...e].slice(r,n).join(\"\");if(kt(e,[\"array\"]))return e.slice(r,n);throw new ae(`Expected first argument to be of type array or string, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function _e(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new ae(\"Input is not a number.\");a=o-1;}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[_e(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var ke=Me;function Me(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}Me.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ie=Se(ke);function ze(t,e,r){return t+r*(e-t)}function Pe(t,e,r){return t.map(((t,n)=>ze(t,e[n],r)))}const Ce={number:ze,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,s,a]=Pe(t.rgb,e.rgb,r);return new Kt(n,i,s,a,!1)}case\"hcl\":{const[n,i,s,a]=t.hcl,[o,l,u,c]=e.hcl;let h,p;if(isNaN(n)||isNaN(o))isNaN(n)?isNaN(o)?h=NaN:(h=o,1!==s&&0!==s||(p=l)):(h=n,1!==u&&0!==u||(p=i));else {let t=o-n;o>n&&t>180?t-=360:o180&&(t+=360),h=n+r*t;}const[f,d,y,m]=function([t,e,r,n]){return t=isNaN(t)?0:t*Et,Ot([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=p?p:ze(i,l,r),ze(s,u,r),ze(a,c,r)]);return new Kt(f,d,y,m,!1)}case\"lab\":{const[n,i,s,a]=Ot(Pe(t.lab,e.lab,r));return new Kt(n,i,s,a,!1)}}},array:Pe,padding:function(t,e,r){return new Jt(Pe(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;t\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,ut),!i)return null;const a=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=pt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,a.push([r,u]);}return Mt(o,ut)||Mt(o,pt)||Mt(o,gt)||Mt(o,vt)||Mt(o,bt(ut))?new Be(o,r,n,i,a):e.error(`Type ${wt(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const s=_e(e,n),a=Be.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);switch(this.operator){case\"interpolate\":return Ce[this.type.kind](o,l,a);case\"interpolate-hcl\":return Ce.color(o,l,a,\"hcl\");case\"interpolate-lab\":return Ce.color(o,l,a,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ve(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}class Ee{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t);}if(!r)throw new Error(\"No output type\");const s=n&&i.some((t=>At(n,t.type)));return new Ee(s?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof te&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Fe(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function Te(t,e,r,n){return 0===n.compare(e,r)}function $e(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let s=e.parse(t[1],1,dt);if(!s)return null;if(!Fe(r,s.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${wt(s.type)}'.`);let a=e.parse(t[2],2,dt);if(!a)return null;if(!Fe(r,a.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${wt(a.type)}'.`);if(s.type.kind!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(`Cannot compare types '${wt(s.type)}' and '${wt(a.type)}'.`);n&&(\"value\"===s.type.kind&&\"value\"!==a.type.kind?s=new le(a.type,[s]):\"value\"!==s.type.kind&&\"value\"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if(\"string\"!==s.type.kind&&\"string\"!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,yt),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ne(s),r=ne(a);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new ae(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ne(s),r=ne(a);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const Le=$e(\"==\",(function(t,e,r){return e===r}),Te),De=$e(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !Te(0,e,r,n)})),Oe=$e(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Re=$e(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ue=$e(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class qe{constructor(t,e,r){this.type=yt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;}static parse(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");const r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");const n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,ht);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ht);if(!i)return null;let s=null;return r.locale&&(s=e.parse(r.locale,1,ct),!s)?null:new qe(n,i,s)}evaluate(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);}outputDefined(){return !1}}class Ne{constructor(t,e,r,n,i){this.type=ct,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ct),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ct),!s))return null;let a=null;if(n[\"min-fraction-digits\"]&&(a=e.parse(n[\"min-fraction-digits\"],1,ut),!a))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,ut),!o)?null:new Ne(r,i,s,a,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class Ze{constructor(t){this.type=mt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const s=t[r];if(i&&\"object\"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s[\"font-scale\"]&&(t=e.parse(s[\"font-scale\"],1,ut),!t))return null;let r=null;if(s[\"text-font\"]&&(r=e.parse(s[\"text-font\"],1,bt(ct)),!r))return null;let a=null;if(s[\"text-color\"]&&(a=e.parse(s[\"text-color\"],1,pt),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,dt);if(!s)return null;const a=s.type.kind;if(\"string\"!==a&&\"value\"!==a&&\"null\"!==a&&\"resolvedImage\"!==a)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new Yt(this.sections.map((e=>{const r=e.content.evaluate(t);return ne(r)===xt?new Ht(\"\",r,null,null,null):new Ht(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}}class Ge{constructor(t){this.type=xt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ct);return r?new Ge(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=te.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class Ke{constructor(t){this.type=ut,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${wt(r.type)} instead.`):new Ke(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return [...e].length;if(Array.isArray(e))return e.length;throw new ae(`Expected value to be of type string or array, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const Xe=8192;function He(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*Xe),Math.round(n*i*Xe)]}function Ye(t,e){const r=Math.pow(2,e.z);return [(i=(t[0]/Xe+e.x)/r,360*i-180),(n=(t[1]/Xe+e.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i;}function Je(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function We(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function tr(t,e,r,n){return 0!=(i=[n[0]-r[0],n[1]-r[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-i[1]*s[0]&&!(!ar(t,e,r,n)||!ar(r,n,t,e));var i,s;}function er(t,e,r){for(const n of r)for(let r=0;r(i=t)[1]!=(a=o[e+1])[1]>i[1]&&i[0]<(a[0]-s[0])*(i[1]-s[1])/(a[1]-s[1])+s[0]&&(n=!n);}var i,s,a;return n}function nr(t,e){for(const r of e)if(rr(t,r))return !0;return !1}function ir(t,e){for(const r of t)if(!rr(r,e))return !1;for(let r=0;r0&&o<0||a<0&&o>0}function or(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}Je(e,t);}function cr(t,e,r,n){const i=Math.pow(2,n.z)*Xe,s=[n.x*Xe,n.y*Xe],a=[];for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];ur(n,e,r,i),a.push(n);}return a}function hr(t,e,r,n){const i=Math.pow(2,n.z)*Xe,s=[n.x*Xe,n.y*Xe],a=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];Je(e,r),t.push(r);}a.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const n of t)ur(n,e,r,i);}var o;return a}class pr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;\"Polygon\"===e&&t.push(n),\"MultiPolygon\"===e&&t.push(...n);}if(t.length)return new pr(e,{type:\"MultiPolygon\",coordinates:t})}else if(\"Feature\"===e.type){const t=e.geometry.type;if(\"Polygon\"===t||\"MultiPolygon\"===t)return new pr(e,e.geometry)}else if(\"Polygon\"===e.type||\"MultiPolygon\"===e.type)return new pr(e,e)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!rr(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!nr(t,s))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!ir(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!sr(t,s))return !1}return !0}(t,this.geometries)}return !1}eachChild(){}outputDefined(){return !0}}let fr=class{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this._up(this.length++);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return --this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n;}e[t]=i;}};function dr(t,e,r,n,i){yr(t,e,r,n||t.length-1,i||gr);}function yr(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);yr(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(mr(t,r,e),i(t[n],c)>0&&mr(t,r,n);h0;)p--;}0===i(t[r],c)?mr(t,r,p):mr(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function mr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function gr(t,e){return te?1:0}function xr(t,e){if(t.length<=1)return [t];const r=[];let n,i;for(const e of t){const t=br(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e));}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[o+1][0],u=t[o+1][1]):p>0&&(l+=c/this.kx*p,u+=h/this.ky*p)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const f=c*c+h*h;f180;)t-=360;return t}}function kr(t,e){return e[0]-t[0]}function Mr(t){return t[1]-t[0]+1}function Ir(t,e){return t[1]>=t[0]&&t[1]t[1])return [null,null];const r=Mr(t);if(e){if(2===r)return [t,null];const e=Math.floor(r/2);return [[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return [t,null];const n=Math.floor(r/2)-1;return [[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Pr(t,e){if(!Ir(e,t.length))return [1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Je(r,t[n]);return r}function Cr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Je(e,t);return e}function Br(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Vr(t,e,r){if(!Br(t)||!Br(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(We(i,s)){if(Or(t,e))return 0}else if(Or(e,t))return 0;let a=1/0;for(const n of t)for(let t=0,i=n.length,s=i-1;t0;){const i=a.pop();if(i[0]>=s)continue;const l=i[1],u=e?50:100;if(Mr(l)<=u){if(!Ir(l,t.length))return NaN;if(e){const e=Dr(t,l,r,n);if(isNaN(e)||0===e)return e;s=Math.min(s,e);}else for(let e=l[0];e<=l[1];++e){const i=Lr(t[e],r,n);if(s=Math.min(s,i),0===s)return 0}}else {const r=zr(l,e);Rr(a,s,n,t,o,r[0]),Rr(a,s,n,t,o,r[1]);}}return s}function Nr(t,e,r,n,i,s=1/0){let a=Math.min(s,i.distance(t[0],r[0]));if(0===a)return a;const o=new fr([[0,[0,t.length-1],[0,r.length-1]]],kr);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],u=s[2],c=e?50:100,h=n?50:100;if(Mr(l)<=c&&Mr(u)<=h){if(!Ir(l,t.length)&&Ir(u,r.length))return NaN;let s;if(e&&n)s=Tr(t,l,r,u,i),a=Math.min(a,s);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=Er(r[t],e,i),a=Math.min(a,s),0===a)return a}else if(!e&&n){const e=r.slice(u[0],u[1]+1);for(let r=l[0];r<=l[1];++r)if(s=Er(t[r],e,i),a=Math.min(a,s),0===a)return a}else s=$r(t,l,r,u,i),a=Math.min(a,s);}else {const s=zr(l,e),c=zr(u,n);Ur(o,a,i,t,r,s[0],c[0]),Ur(o,a,i,t,r,s[0],c[1]),Ur(o,a,i,t,r,s[1],c[0]),Ur(o,a,i,t,r,s[1],c[1]);}}return a}function Zr(t){return \"MultiPolygon\"===t.type?t.coordinates.map((t=>({type:\"Polygon\",coordinates:t}))):\"MultiLineString\"===t.type?t.coordinates.map((t=>({type:\"LineString\",coordinates:t}))):\"MultiPoint\"===t.type?t.coordinates.map((t=>({type:\"Point\",coordinates:t}))):[t]}class Gr{constructor(t,e){this.type=ut,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)return new Gr(e,e.features.map((t=>Zr(t.geometry))).flat());if(\"Feature\"===e.type)return new Gr(e,Zr(e.geometry));if(\"type\"in e&&\"coordinates\"in e)return new Gr(e,Zr(e))}return e.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ye([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Nr(n,!1,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Nr(n,!1,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,qr(n,!1,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ye([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Nr(n,!0,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Nr(n,!0,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,qr(n,!0,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"Polygon\"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=xr(r,0).map((e=>e.map((e=>e.map((e=>Ye([e.x,e.y],t.canonical))))))),i=new Sr(n[0][0][0][1]);let s=1/0;for(const t of e)for(const e of n){switch(t.type){case\"Point\":s=Math.min(s,qr([t.coordinates],!1,e,i,s));break;case\"LineString\":s=Math.min(s,qr(t.coordinates,!0,e,i,s));break;case\"Polygon\":s=Math.min(s,jr(e,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return !0}}const Kr={\"==\":Le,\"!=\":De,\">\":je,\"<\":Oe,\">=\":Ue,\"<=\":Re,array:le,at:me,boolean:le,case:be,coalesce:Ee,collator:qe,format:Ze,image:Ge,in:ge,\"index-of\":xe,interpolate:Be,\"interpolate-hcl\":Be,\"interpolate-lab\":Be,length:Ke,let:de,literal:se,match:ve,number:le,\"number-format\":Ne,object:le,slice:we,step:Ae,string:le,\"to-boolean\":ce,\"to-color\":ce,\"to-number\":ce,\"to-string\":ce,var:ye,within:pr,distance:Gr};class Xr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}static parse(t,e){const r=t[0],n=Xr.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new fe(e.registry,Qr,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(wt).join(\", \")})`:`(${wt(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&Qr(t):r&&t instanceof se;})),!!r&&tn(t)&&rn(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function tn(t){if(t instanceof Xr){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof pr)return !1;if(t instanceof Gr)return !1;let e=!0;return t.eachChild((t=>{e&&!tn(t)&&(e=!1);})),e}function en(t){if(t instanceof Xr&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!en(t)&&(e=!1);})),e}function rn(t,e){if(t instanceof Xr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!rn(t,e)&&(r=!1);})),r}function nn(t){return {result:\"success\",value:t}}function sn(t){return {result:\"error\",value:t}}function an(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function on(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function ln(t){return !!t.expression&&t.expression.interpolated}function un(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function cn(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function hn(t){return t}function pn(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(ln(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Kt.parse:Jt.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default=n(t.default?t.default:e.default);}if(t.colorSpace&&\"rgb\"!==(a=t.colorSpace)&&\"hcl\"!==a&&\"lab\"!==a)throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var a;let o,l,u;if(\"exponential\"===s)o=mn;else if(\"interval\"===s)o=yn;else if(\"categorical\"===s){o=dn,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];u=typeof t.stops[0][0];}else {if(\"identity\"!==s)throw new Error(`Unknown function type \"${s}\"`);o=gn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>mn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===s?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Be.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>o(t,e,r,l,u)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?fn(t.default,e.default):o(t,e,i,l,u)}}}function fn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function dn(t,e,r,n,i){return fn(typeof r===i?n[r]:void 0,t.default,e.default)}function yn(t,e,r){if(\"number\"!==un(r))return fn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=_e(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function mn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==un(r))return fn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const s=_e(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1],u=Ce[e.type]||hn;return \"function\"==typeof o.evaluate?{evaluate(...e){const r=o.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return u(r,n,a,t.colorSpace)}}:u(o,l,a,t.colorSpace)}function gn(t,e,r){switch(e.type){case\"color\":r=Kt.parse(r);break;case\"formatted\":r=Yt.fromString(r.toString());break;case\"resolvedImage\":r=te.fromString(r.toString());break;case\"padding\":r=Jt.parse(r);break;default:un(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return fn(r,t.default,e.default)}Xr.register(Kr,{error:[{kind:\"error\"},[ct],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ct,[dt],(t,[e])=>wt(ne(e.evaluate(t)))],\"to-rgba\":[bt(ut,4),[pt],(t,[e])=>{const[r,n,i,s]=e.evaluate(t).rgb;return [255*r,255*n,255*i,s]}],rgb:[pt,[ut,ut,ut],Hr],rgba:[pt,[ut,ut,ut,ut],Hr],has:{type:ht,overloads:[[[ct],(t,[e])=>Yr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Yr(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ct],(t,[e])=>Jr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Jr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[dt,[ct],(t,[e])=>Jr(e.evaluate(t),t.featureState||{})],properties:[ft,[],t=>t.properties()],\"geometry-type\":[ct,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ut,[],t=>t.globals.zoom],\"heatmap-density\":[ut,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ut,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ut,Wr(ut),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ut,Wr(ut),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ut,overloads:[[[ut,ut],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ut],(t,[e])=>-e.evaluate(t)]]},\"/\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ut,[],()=>Math.LN2],pi:[ut,[],()=>Math.PI],e:[ut,[],()=>Math.E],\"^\":[ut,[ut,ut],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ut,[ut],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))],log2:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ut,[ut],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ut,[ut],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ut,[ut],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ut,[ut],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ut,[ut],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ut,[ut],(t,[e])=>Math.atan(e.evaluate(t))],min:[ut,Wr(ut),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ut,Wr(ut),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ut,[ut],(t,[e])=>Math.abs(e.evaluate(t))],round:[ut,[ut],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ut,[ut],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ut,[ut],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ht,[ct,dt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ht,[dt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ht,[ct],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ht,[dt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ht,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ht,[bt(ct)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ht,[bt(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ht,[ct,bt(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ht,[ct,bt(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Wr(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Wr(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[ht,[ht],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ht,[ct],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ct,[ct],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ct,[ct],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ct,Wr(dt),(t,e)=>e.map((e=>ie(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ct,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class xn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new pe,this._defaultValue=e?\"color\"===(r=e).type&&cn(r.default)?new Kt(0,0,0,0):\"color\"===r.type?Kt.parse(r.default)||null:\"padding\"===r.type?Jt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?Qt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new ae(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function vn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Kr}function bn(t,e){const r=new fe(Kr,Qr,[],e?function(t){const e={color:pt,string:ct,number:ut,enum:ct,boolean:ht,formatted:mt,padding:gt,resolvedImage:xt,variableAnchorOffsetCollection:vt};return \"array\"===t.type?bt(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?nn(new xn(n,e)):sn(r.errors)}class wn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!en(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class _n{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!en(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0}}function An(t,e){const r=bn(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=tn(n);if(!i&&!an(e))return sn([new at(\"\",\"data expressions not supported\")]);const s=rn(n,[\"zoom\"]);if(!s&&!on(e))return sn([new at(\"\",\"zoom expressions not supported\")]);const a=kn(n);return a||s?a instanceof at?sn([a]):a instanceof Be&&!ln(e)?sn([new at(\"\",'\"interpolate\" expressions cannot be used with this property')]):nn(a?new _n(i?\"camera\":\"composite\",r.value,a.labels,a instanceof Be?a.interpolation:void 0):new wn(i?\"constant\":\"source\",r.value)):sn([new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Sn{constructor(t,e){this._parameters=t,this._specification=e,st(this,pn(this._parameters,this._specification));}static deserialize(t){return new Sn(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function kn(t){let e=null;if(t instanceof de)e=kn(t.result);else if(t instanceof Ee){for(const r of t.args)if(e=kn(r),e)break}else (t instanceof Ae||t instanceof Be)&&t.input instanceof Xr&&\"zoom\"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const r=kn(t);r instanceof at?e=r:!e&&r?e=new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new at(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function Mn(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!Mn(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const In={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function zn(t){if(null==t)return {filter:()=>!0,needGeometry:!1};Mn(t)||(t=Bn(t));const e=bn(t,In);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return {filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Cn(t)}}function Pn(t,e){return te?1:0}function Cn(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0]||\"distance\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Vn(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Bn))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Bn)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Bn).map(Tn)):\"in\"===e?En(t[1],t.slice(2)):\"!in\"===e?Tn(En(t[1],t.slice(2))):\"has\"===e?Fn(t[1]):\"!has\"!==e||Tn(Fn(t[1]));var r;}function Vn(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function En(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Pn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Fn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function Tn(t){return [\"!\",t]}function $n(t){const e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e=\"[\";for(const r of t)e+=`${$n(r)},`;return `${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Nn(t){const e=t.valueSpec,r=On(t.value.type);let n,i,s,a={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===un(t.value.stops)&&\"array\"===un(t.value.stops[0])&&\"object\"===un(t.value.stops[0][0]),c=Rn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Un({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===un(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!ln(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!an(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!on(t.valueSpec)&&c.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new it(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==un(n))return [new it(o,n,`array expected, ${un(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==un(n[0]))return [new it(o,n,`object expected, ${un(n[0])} found`)];if(void 0===n[0].zoom)return [new it(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new it(o,n,\"object stop key must have value\")];if(s&&s>On(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];On(n[0].zoom)!==s&&(s=On(n[0].zoom),i=void 0,a={}),r=r.concat(Rn({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:qn,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return vn(jn(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(t.validateSpec({key:`${o}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=un(t.value),l=On(t.value),u=null!==t.value?t.value:s;if(n){if(o!==n)return [new it(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o)return [new it(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return an(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new it(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&&!en(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!en(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!rn(r,[\"zoom\",\"feature-state\"]))return [new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!tn(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Gn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(On(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(On(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Kn(t){return Mn(jn(t.value))?Zn(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Xn(t)}function Xn(t){const e=t.value,r=t.key;if(\"array\"!==un(e))return [new it(r,e,`array expected, ${un(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(s=s.concat(Gn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),On(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===On(e[1])&&s.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&s.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=un(e[1]),\"string\"!==i&&s.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{On(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):a=On(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&On(t.type);t?\"vector\"===s&&\"raster\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster-dem\"!==s&&\"hillshade\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster-dem source`)):\"raster\"===s&&\"raster\"!==a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==s||r[\"source-layer\"]?\"raster-dem\"===s&&\"hillshade\"!==a?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==a||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===s&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`));}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(Rn({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"}),filter:Kn,layout:t=>Rn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Jn(st({layerType:a},t))}}),paint:t=>Rn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Yn(st({layerType:a},t))}})}})),e}function Qn(t){const e=t.value,r=t.key,n=un(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ti={promoteId:function({key:t,value:e}){if(\"string\"===un(e))return Qn({key:t,value:e});{const r=[];for(const n in e)r.push(...Qn({key:`${t}.${n}`,value:e[n]}));return r}}};function ei(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,s=t.validateSpec;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=On(e.type);let o;switch(a){case\"vector\":case\"raster\":return o=Rn({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:ti,validateSpec:s}),o;case\"raster-dem\":return o=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:\"\",n=t.value,i=t.styleSpec,s=i.source_raster_dem,a=t.style;let o=[];const l=un(n);if(void 0===n)return o;if(\"object\"!==l)return o.push(new it(\"source_raster_dem\",n,`object expected, ${l} found`)),o;const u=\"custom\"===On(n.encoding),c=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],h=t.value.encoding?`\"${t.value.encoding}\"`:\"Default\";for(const e in n)!u&&c.includes(e)?o.push(new it(e,n[e],`In \"${r}\": \"${e}\" is only valid when \"encoding\" is set to \"custom\". ${h} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:n[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:i})):o.push(new it(e,n[e],`unknown property \"${e}\"`));return o}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:s}),o;case\"geojson\":if(o=Rn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:s,objectElementValidators:ti}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;o.push(...Zn({key:`${r}.${t}.map`,value:i,validateSpec:s,expressionContext:\"cluster-map\"})),o.push(...Zn({key:`${r}.${t}.reduce`,value:a,validateSpec:s,expressionContext:\"cluster-reduce\"}));}return o;case\"video\":return Rn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:s,styleSpec:n});case\"image\":return Rn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:s,styleSpec:n});case\"canvas\":return [new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Gn({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:s,styleSpec:n})}}function ri(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"light\",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&n[o[1]]&&n[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r}):n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);}return s}function ni(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,s=un(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"sky\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a}function ii(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let s=[];const a=un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"terrain\",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);return s}function si(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],s=[];for(const a in r)r[a].id&&i.includes(r[a].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[a].id} is duplicated`)),i.push(r[a].id),r[a].url&&s.includes(r[a].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[a].url} is duplicated`)),s.push(r[a].url),e=e.concat(Rn({key:`${n}[${a}]`,value:r[a],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:t.validateSpec}));return e}return Qn({key:n,value:r})}const ai={\"*\":()=>[],array:Un,boolean:function(t){const e=t.value,r=t.key,n=un(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:qn,color:function(t){const e=t.key,r=t.value,n=un(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:Kt.parse(String(r))?[]:[new it(e,r,`color expected, \"${r}\" found`)]},constants:Dn,enum:Gn,filter:Kn,function:Nn,layer:Wn,object:Rn,source:ei,light:ri,sky:ni,terrain:ii,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,s=un(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"projection\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a},string:Qn,formatted:function(t){return 0===Qn(t).length?[]:Zn(t)},resolvedImage:function(t){return 0===Qn(t).length?[]:Zn(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===un(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let s=0;s[]}})),t.constants&&(r=r.concat(Dn({key:\"constants\",value:t.constants,style:t,styleSpec:e,validateSpec:oi}))),hi(r)}function ci(t){return function(e){return t({...e,validateSpec:oi})}}function hi(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function pi(t){return function(...e){return hi(t.apply(this,e))}}ui.source=pi(ci(ei)),ui.sprite=pi(ci(si)),ui.glyphs=pi(ci(li)),ui.light=pi(ci(ri)),ui.sky=pi(ci(ni)),ui.terrain=pi(ci(ii)),ui.layer=pi(ci(Wn)),ui.filter=pi(ci(Kn)),ui.paintProperty=pi(ci(Yn)),ui.layoutProperty=pi(ci(Jn));const fi=ui,di=fi.light,yi=fi.sky,mi=fi.paintProperty,gi=fi.layoutProperty;function xi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new N(new Error(n.message))),r=!0;return r}class vi{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(a[h]=!0,s.push(i[h])):a[h]=!1;}}}}_forEachCell(t,e,r,n,i,s,a,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,s,a,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const s=t[n];i[n]=bi[r].shallow.indexOf(n)>=0?s:ki(s,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==r&&(i.$name=r),i}function Mi(t){if(Si(t))return t;if(Array.isArray(t))return t.map(Mi);if(\"object\"!=typeof t)throw new Error(\"can't deserialize object of type \"+typeof t);const e=Ai(t)||\"Object\";if(!bi[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=bi[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=bi[e].shallow.indexOf(r)>=0?i:Mi(i);}return n}class Ii{constructor(){this.first=!0;}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,\"Hangul Jamo\":t=>t>=4352&&t<=4607,Khmer:t=>t>=6016&&t<=6143,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Katakana:t=>t>=12448&&t<=12543,Kanbun:t=>t>=12688&&t<=12703,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"Private Use Area\":t=>t>=57344&&t<=63743,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function Pi(t){for(const e of t)if(Ti(e.charCodeAt(0)))return !0;return !1}function Ci(t){for(const e of t)if(!Ei(e.charCodeAt(0)))return !1;return !0}function Bi(t){const e=t.map((t=>{try{return new RegExp(`\\\\p{sc=${t}}`,\"u\").source}catch(t){return null}})).filter((t=>t));return new RegExp(e.join(\"|\"),\"u\")}const Vi=Bi([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Ei(t){return !Vi.test(String.fromCodePoint(t))}const Fi=Bi([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Ti(t){return !(746!==t&&747!==t&&(t<4352||!(zi[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||zi[\"CJK Compatibility\"](t)||zi[\"CJK Strokes\"](t)||!(!zi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||zi[\"Enclosed CJK Letters and Months\"](t)||zi[\"Ideographic Description Characters\"](t)||zi.Kanbun(t)||zi.Katakana(t)&&12540!==t||!(!zi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!zi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||zi[\"Vertical Forms\"](t)||zi[\"Yijing Hexagram Symbols\"](t)||/\\p{sc=Cans}/u.test(String.fromCodePoint(t))||/\\p{sc=Hang}/u.test(String.fromCodePoint(t))||Fi.test(String.fromCodePoint(t)))))}function $i(t){return !(Ti(t)||function(t){return !!(zi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||zi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||zi[\"Letterlike Symbols\"](t)||zi[\"Number Forms\"](t)||zi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||zi[\"Control Pictures\"](t)&&9251!==t||zi[\"Optical Character Recognition\"](t)||zi[\"Enclosed Alphanumerics\"](t)||zi[\"Geometric Shapes\"](t)||zi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||zi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||zi[\"CJK Symbols and Punctuation\"](t)||zi.Katakana(t)||zi[\"Private Use Area\"](t)||zi[\"CJK Compatibility Forms\"](t)||zi[\"Small Form Variants\"](t)||zi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}const Li=Bi([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Di(t){return Li.test(String.fromCodePoint(t))}function Oi(t,e){return !(!e&&Di(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||zi.Khmer(t))}function ji(t){for(const e of t)if(Di(e.charCodeAt(0)))return !0;return !1}const Ri=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null;}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL;}getState(){return {pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText;}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ui{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ii,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Oi(r.charCodeAt(0),e))return !1;return !0}(t,\"loaded\"===Ri.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class qi{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(cn(t))return new Sn(t,e);if(vn(t)){const r=An(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"color\"===e.type&&\"string\"==typeof t?r=Kt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=Qt.parse(t)):r=Jt.parse(t),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Ni{constructor(t){this.property=t,this.value=new qi(t,void 0);}transitioned(t,e){return new Gi(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new Gi(this.property,this.value,null,{},0)}}class Zi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return w(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ni(this._values[t].property)),this._values[t].value=new qi(this._values[t].property,null===e?void 0:w(e));}getTransition(t){return w(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ni(this._values[t].property)),this._values[t].transition=w(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new Ki(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Ki(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Gi{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),s=this.prior;if(s){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(a))}}return i}}class Ki{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new Yi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return !0;return !1}}class Xi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}hasValue(t){return void 0!==this._values[t].value}getValue(t){return w(this._values[t].value)}setValue(t,e){this._values[t]=new qi(this._values[t].property,null===e?void 0:w(e));}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);}return t}possiblyEvaluate(t,e,r){const n=new Yi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Hi{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r;}isConstant(){return \"constant\"===this.value.kind}constantOr(t){return \"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Yi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class Ji{constructor(t){this.specification=t;}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error(\"Value should not be data driven\");return t.expression.evaluate(e)}interpolate(t,e,r){const n=Ce[this.specification.type];return n?n(t,e,r):t}}class Wi{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new Hi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)}interpolate(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Hi(this,{kind:\"constant\",value:void 0},t.parameters);const n=Ce[this.specification.type];if(n){const i=n(t.value.value,e.value.value,r);return new Hi(this,{kind:\"constant\",value:i},t.parameters)}return t}evaluate(t,e,r,n,i,s){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,s)}}class Qi extends Wi{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Hi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),s=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,a=this._calculate(s,s,s,e);return new Hi(this,{kind:\"constant\",value:a},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Hi(this,{kind:\"constant\",value:r},e)}return new Hi(this,t.expression,e)}evaluate(t,e,r,n,i,s){if(\"source\"===t.kind){const a=t.evaluate(e,r,n,i,s);return this._calculate(a,a,a,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class ts{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Ui(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Ui(Math.floor(e.zoom),e)),t.expression.evaluate(new Ui(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class es{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class rs{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new qi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ni(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}wi(\"DataDrivenProperty\",Wi),wi(\"DataConstantProperty\",Ji),wi(\"CrossFadedDataDrivenProperty\",Qi),wi(\"CrossFadedProperty\",ts),wi(\"ColorRampProperty\",es);const ns=\"-transition\";class is extends Z{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Xi(e.layout)),e.paint)){this._transitionablePaint=new Zi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Yi(e.paint);}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(gi,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(ns)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(mi,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(ns))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),s=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const a=this._transitionablePaint._values[t].value;return a.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&xi(this,t.call(fi,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:G,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Hi&&an(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const ss={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class as{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;}}class os{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0);}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());}clear(){this.length=0;}resize(t){this.reserve(t),this.length=t;}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function ls(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=ss[t.type].BYTES_PER_ELEMENT,s=r=us(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:us(r,Math.max(n,e)),alignment:e}}function us(t,e){return Math.ceil(t/e)*e}class cs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}cs.prototype.bytesPerElement=4,wi(\"StructArrayLayout2i4\",cs);class hs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}hs.prototype.bytesPerElement=6,wi(\"StructArrayLayout3i6\",hs);class ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}ps.prototype.bytesPerElement=8,wi(\"StructArrayLayout4i8\",ps);class fs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}fs.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i4i12\",fs);class ds extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=s,this.uint8[l+7]=a,t}}ds.prototype.bytesPerElement=8,wi(\"StructArrayLayout2i4ub8\",ds);class ys extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ys.prototype.bytesPerElement=8,wi(\"StructArrayLayout2f8\",ys);class ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,s,a,o,l,u)}emplace(t,e,r,n,i,s,a,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=s,this.uint16[h+5]=a,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}ms.prototype.bytesPerElement=20,wi(\"StructArrayLayout10ui20\",ms);class gs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p){const f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=s,this.uint16[f+5]=a,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}gs.prototype.bytesPerElement=24,wi(\"StructArrayLayout4i4ui4i24\",gs);class xs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}xs.prototype.bytesPerElement=12,wi(\"StructArrayLayout3f12\",xs);class vs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}vs.prototype.bytesPerElement=4,wi(\"StructArrayLayout1ul4\",vs);class bs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,s,a,o,l)}emplace(t,e,r,n,i,s,a,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=s,this.int16[c+5]=a,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}bs.prototype.bytesPerElement=20,wi(\"StructArrayLayout6i1ul2ui20\",bs);class ws extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}ws.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i2i2i12\",ws);class _s extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}_s.prototype.bytesPerElement=16,wi(\"StructArrayLayout2f1f2i16\",_s);class As extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=16*t,l=4*t,u=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[u+6]=s,this.int16[u+7]=a,t}}As.prototype.bytesPerElement=16,wi(\"StructArrayLayout2ub2f2i16\",As);class Ss extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Ss.prototype.bytesPerElement=6,wi(\"StructArrayLayout3ui6\",Ss);class ks extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=s,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}ks.prototype.bytesPerElement=48,wi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ks);class Ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I,z){const P=32*t,C=16*t;return this.int16[P+0]=e,this.int16[P+1]=r,this.int16[P+2]=n,this.int16[P+3]=i,this.int16[P+4]=s,this.int16[P+5]=a,this.int16[P+6]=o,this.int16[P+7]=l,this.uint16[P+8]=u,this.uint16[P+9]=c,this.uint16[P+10]=h,this.uint16[P+11]=p,this.uint16[P+12]=f,this.uint16[P+13]=d,this.uint16[P+14]=y,this.uint16[P+15]=m,this.uint16[P+16]=g,this.uint16[P+17]=x,this.uint16[P+18]=v,this.uint16[P+19]=b,this.uint16[P+20]=w,this.uint16[P+21]=_,this.uint16[P+22]=A,this.uint32[C+12]=S,this.float32[C+13]=k,this.float32[C+14]=M,this.uint16[P+30]=I,this.uint16[P+31]=z,t}}Ms.prototype.bytesPerElement=64,wi(\"StructArrayLayout8i15ui1ul2f2ui64\",Ms);class Is extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Is.prototype.bytesPerElement=4,wi(\"StructArrayLayout1f4\",Is);class zs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[6*t+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}zs.prototype.bytesPerElement=12,wi(\"StructArrayLayout1ui2f12\",zs);class Ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t}}Ps.prototype.bytesPerElement=8,wi(\"StructArrayLayout1ul2ui8\",Ps);class Cs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Cs.prototype.bytesPerElement=4,wi(\"StructArrayLayout2ui4\",Cs);class Bs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Bs.prototype.bytesPerElement=2,wi(\"StructArrayLayout1ui2\",Bs);class Vs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Vs.prototype.bytesPerElement=16,wi(\"StructArrayLayout4f16\",Vs);class Es extends as{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new s(this.anchorPointX,this.anchorPointY)}}Es.prototype.size=20;class Fs extends bs{get(t){return new Es(this,t)}}wi(\"CollisionBoxArray\",Fs);class Ts extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t;}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ts.prototype.size=48;class $s extends ks{get(t){return new Ts(this,t)}}wi(\"PlacedSymbolArray\",$s);class Ls extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t;}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ls.prototype.size=64;class Ds extends Ms{get(t){return new Ls(this,t)}}wi(\"SymbolInstanceArray\",Ds);class Os extends Is{getoffsetX(t){return this.float32[1*t+0]}}wi(\"GlyphOffsetArray\",Os);class js extends hs{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}wi(\"SymbolLineVertexArray\",js);class Rs extends as{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Rs.prototype.size=12;class Us extends zs{get(t){return new Rs(this,t)}}wi(\"TextAnchorOffsetArray\",Us);class qs extends as{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]}}qs.prototype.size=8;class Ns extends Ps{get(t){return new qs(this,t)}}wi(\"FeatureIndexArray\",Ns);class Zs extends cs{}class Gs extends cs{}class Ks extends cs{}class Xs extends fs{}class Hs extends ds{}class Ys extends ys{}class Js extends ms{}class Ws extends gs{}class Qs extends xs{}class ta extends vs{}class ea extends ws{}class ra extends As{}class na extends Ss{}class ia extends Cs{}const sa=ls([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:aa}=sa;class oa{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>oa.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${oa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>oa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new oa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function la(t,e){return 256*(t=y(Math.floor(t),0,255))+y(Math.floor(e),0,255)}oa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,wi(\"SegmentVector\",oa);const ua=ls([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var ca={exports:{}},ha={exports:{}};ha.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var pa=ha.exports,fa={exports:{}};fa.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var da=pa,ya=fa.exports;ca.exports=da,ca.exports.murmur3=da,ca.exports.murmur2=ya;var ma=r(ca.exports);class ga{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(xa(t)),this.positions.push(e,r,n);}getPositions(t){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");const e=xa(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return va(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new ga;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function xa(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ma(String(t))}function va(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;ba(t,s,a),ba(e,3*s,3*a),ba(e,3*s+1,3*a+1),ba(e,3*s+2,3*a+2);}a-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new Sa(t,e):new _a(t,e)}}class za{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;}setUniform(t,e,r,n){const i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);}getBinding(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Aa(t,e):new _a(t,e)}}class Pa{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const s=this.paintVertexArray.length,a=this.expression.evaluate(new Ui(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Ma(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new s;}populatePaintArray(t,e,r,n,i){const s=this.expression.evaluate(new Ui(this.zoom),e,{},n,[],i),a=this.expression.evaluate(new Ui(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),s=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,s);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Ma(r),s=Ma(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Pa||r instanceof Ca)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Va(n,e,r);this.needsUpload=!1,this._featureMap=new ga,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function Fa(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}function Ta(t,e,r){const n={color:{source:ys,composite:Vs},number:{source:Is,composite:ys}},i=function(t){return {\"line-pattern\":{source:Js,composite:Js},\"fill-pattern\":{source:Js,composite:Js},\"fill-extrusion-pattern\":{source:Js,composite:Js}}[t]}(t);return i&&i[r]||n[e][r]}wi(\"ConstantBinder\",Ia),wi(\"CrossFadedConstantBinder\",za),wi(\"SourceExpressionBinder\",Pa),wi(\"CrossFadedCompositeBinder\",Ba),wi(\"CompositeExpressionBinder\",Ca),wi(\"ProgramConfiguration\",Va,{omit:[\"_buffers\"]}),wi(\"ProgramConfigurationSet\",Ea);const $a=8192,La=Math.pow(2,14)-1,Da=-La-1;function Oa(t){const e=$a/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function ja(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Oa(t):[]}}function Ra(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class Ua{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Gs,this.indexArray=new na,this.segments=new oa,this.programConfigurations=new Ea(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let s=null,a=!1;\"circle\"===n.type&&(s=n.layout.get(\"circle-sort-key\"),a=!s.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ja(e,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),u,r))continue;const c=a?s.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Oa(e),patterns:{},sortKey:c};i.push(h);}a&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:s,sourceLayerIndex:a}=n,o=t[s].feature;this.addFeature(n,i,s,r),e.featureIndex.insert(o,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,aa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=$a||n<0||n>=$a)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=i.vertexLength;Ra(this.layoutVertexArray,r,n,-1,-1),Ra(this.layoutVertexArray,r,n,1,-1),Ra(this.layoutVertexArray,r,n,1,1),Ra(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function qa(t,e){for(let r=0;r1){if(Ka(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function Ja(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function Wa(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function Qa(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const s=S(t,e,r[0]);return s!==S(t,e,r[1])||s!==S(t,e,r[2])||s!==S(t,e,r[3])}function to(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ro(t,e,r,n,i){if(!e[0]&&!e[1])return t;const a=s.convert(e)._mult(i);\"viewport\"===r&&a._rotate(-n);const o=[];for(let e=0;eyo(t,e)))}(l,o),p=c?u*a:u;for(const t of n)for(const e of t){const t=c?e:yo(e,o);let r=p;const n=po([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/s.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=s.cameraToCenterDistance/n[3]),Na(h,t,r))return !0}return !1}}function yo(t,e){const r=po([],[t.x,t.y,0,1],e);return new s(r[0]/r[3],r[1]/r[3])}class mo extends Ua{}let go;wi(\"HeatmapBucket\",mo,{omit:[\"layers\"]});var xo={get paint(){return go=go||new rs({\"heatmap-radius\":new Wi(G.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Wi(G.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Ji(G.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new es(G.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Ji(G.paint_heatmap[\"heatmap-opacity\"])})}};function vo(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function bo(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=vo({},{width:e,height:r},n);wo(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data;}function wo(t,e,r,n,i,s){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const a=t.data,o=e.data;if(a===o)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){o=1/0,l=1/0;let e=-1/0,n=-1/0;for(let s=r;se&&(e=r),i>n&&(n=i);}u=Math.max(e-o,n-l),u=0!==u?32767/u:0;}return Fo(s,a,r,o,l,u,0),a}function Vo(t,e,r,n,i){let s;if(i===function(t,e,r,n){let i=0;for(let s=e,a=r-n;s0)for(let i=e;i=e;i-=n)s=Qo(i/n|0,t[i],t[i+1],s);return s&&Ko(s,s.next)&&(tl(s),s=s.next),s}function Eo(t,e){if(!t)return t;e||(e=t);let r,n=t;do{if(r=!1,n.steiner||!Ko(n,n.next)&&0!==Go(n.prev,n,n.next))n=n.next;else {if(tl(n),n=e=n.prev,n===n.next)break;r=!0;}}while(r||n!==e);return e}function Fo(t,e,r,n,i,s,a){if(!t)return;!a&&s&&function(t,e,r,n){let i=t;do{0===i.z&&(i.z=Uo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,r=1;do{let n,i=t;t=null;let s=null;for(e=0;i;){e++;let a=i,o=0;for(let t=0;t0||l>0&&a;)0!==o&&(0===l||!a||i.z<=a.z)?(n=i,i=i.nextZ,o--):(n=a,a=a.nextZ,l--),s?s.nextZ=n:t=n,n.prevZ=s,s=n;i=a;}s.nextZ=null,r*=2;}while(e>1)}(i);}(t,n,i,s);let o=t;for(;t.prev!==t.next;){const l=t.prev,u=t.next;if(s?$o(t,n,i,s):To(t))e.push(l.i,t.i,u.i),tl(t),t=u.next,o=u.next;else if((t=u)===o){a?1===a?Fo(t=Lo(Eo(t),e),e,r,n,i,s,2):2===a&&Do(t,e,r,n,i,s):Fo(Eo(t),e,r,n,i,s,1);break}}}function To(t){const e=t.prev,r=t,n=t.next;if(Go(e,r,n)>=0)return !1;const i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,f=o>l?o>u?o:u:l>u?l:u;let d=n.next;for(;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&No(i,o,s,l,a,u,d.x,d.y)&&Go(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function $o(t,e,r,n){const i=t.prev,s=t,a=t.next;if(Go(i,s,a)>=0)return !1;const o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=Uo(f,d,e,r,n),x=Uo(y,m,e,r,n);let v=t.prevZ,b=t.nextZ;for(;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&No(o,c,l,h,u,p,v.x,v.y)&&Go(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&No(o,c,l,h,u,p,b.x,b.y)&&Go(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&No(o,c,l,h,u,p,v.x,v.y)&&Go(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&No(o,c,l,h,u,p,b.x,b.y)&&Go(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Lo(t,e){let r=t;do{const n=r.prev,i=r.next.next;!Ko(n,i)&&Xo(n,r,r.next,i)&&Jo(n,i)&&Jo(i,n)&&(e.push(n.i,r.i,i.i),tl(r),tl(r.next),r=t=i),r=r.next;}while(r!==t);return Eo(r)}function Do(t,e,r,n,i,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Zo(a,t)){let o=Wo(a,t);return a=Eo(a,a.next),o=Eo(o,o.next),Fo(a,e,r,n,i,s,0),void Fo(o,e,r,n,i,s,0)}t=t.next;}a=a.next;}while(a!==t)}function Oo(t,e){return t.x-e.x}function jo(t,e){const r=function(t,e){let r=e;const n=t.x,i=t.y;let s,a=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){const t=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=n&&t>a&&(a=t,s=r.x=r.x&&r.x>=l&&n!==r.x&&No(is.x||r.x===s.x&&Ro(s,r)))&&(s=r,c=e);}r=r.next;}while(r!==o);return s}(t,e);if(!r)return e;const n=Wo(r,t);return Eo(n,n.next),Eo(r,r.next)}function Ro(t,e){return Go(t.prev,t,e.prev)<0&&Go(e.next,t,t.next)<0}function Uo(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function qo(t){let e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function Zo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Xo(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Jo(t,e)&&Jo(e,t)&&function(t,e){let r=t,n=!1;const i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(Go(t.prev,t,e.prev)||Go(t,e.prev,e))||Ko(t,e)&&Go(t.prev,t,t.next)>0&&Go(e.prev,e,e.next)>0)}function Go(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ko(t,e){return t.x===e.x&&t.y===e.y}function Xo(t,e,r,n){const i=Yo(Go(t,e,r)),s=Yo(Go(t,e,n)),a=Yo(Go(r,n,t)),o=Yo(Go(r,n,e));return i!==s&&a!==o||!(0!==i||!Ho(t,r,e))||!(0!==s||!Ho(t,n,e))||!(0!==a||!Ho(r,t,n))||!(0!==o||!Ho(r,e,n))}function Ho(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Yo(t){return t>0?1:t<0?-1:0}function Jo(t,e){return Go(t.prev,t,t.next)<0?Go(t,e,t.next)>=0&&Go(t,t.prev,e)>=0:Go(t,e,t.prev)<0||Go(t,t.next,e)<0}function Wo(t,e){const r=el(t.i,t.x,t.y),n=el(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function Qo(t,e,r,n){const i=el(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function tl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function el(t,e,r){return {i:t,x:e,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function rl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const s=e.constantOr(null);s&&(i=!0,n[s.to]=!0,n[s.from]=!0);}return i}function nl(t,e,r,n,i){const s=i.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if(\"constant\"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),o=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,r.patterns[a.id]={min:t,mid:o,max:l};}}return r}class il{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ks,this.indexArray=new na,this.indexArray2=new ia,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.segments2=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=rl(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ja(a,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Oa(a),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=nl(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Co),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),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(t,e,r,n,i){for(const t of xr(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new fl(s,a));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},yl.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error(\"unknown command \"+r)}return [a,l,o,u]},yl.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=yl.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}bl.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new xl(this._pbf,e,this.extent,this._keys,this._values)};var _l=vl;function Al(t,e,r){if(3===t){var n=new _l(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}pl.VectorTile=function(t,e){this.layers=t.readFields(Al,{},e);},pl.VectorTileFeature=dl,pl.VectorTileLayer=vl;const Sl=pl.VectorTileFeature.types,kl=Math.pow(2,13);function Ml(t,e,r,n,i,s,a,o){t.emplaceBack(e,r,2*Math.floor(n*kl)+a,i*kl*2,s*kl*2,Math.round(o));}class Il{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Xs,this.centroidVertexArray=new Zs,this.indexArray=new na,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=rl(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=ja(n,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Oa(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(nl(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,r,{}),e.featureIndex.insert(n,l.geometry,s,a,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,hl),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,cl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){for(const r of xr(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Pl(t))continue;let r=0;for(let n=0;n=1){const a=t[n-1];if(!zl(s,a)){i.vertexLength+4>oa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=s.sub(a)._perp()._unit(),n=a.dist(s);r+n>32768&&(r=0),Ml(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,r),Ml(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,r),e.x+=2*s.x,e.y+=2*s.y,e.vertexCount+=2,r+=n,Ml(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Ml(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2;const o=i.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),i.vertexLength+=4,i.primitiveLength+=2;}}}}if(i.vertexLength+n>oa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==Sl[t.type])continue;const s=[],a=[],o=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&a.push(s.length/2);for(let r=0;r$a)||t.y===e.y&&(t.y<0||t.y>$a)}function Pl(t){return t.every((t=>t.x<0))||t.every((t=>t.x>$a))||t.every((t=>t.y<0))||t.every((t=>t.y>$a))}let Cl;wi(\"FillExtrusionBucket\",Il,{omit:[\"layers\",\"features\"]});var Bl={get paint(){return Cl=Cl||new rs({\"fill-extrusion-opacity\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Qi(G[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Vl extends is{constructor(t){super(t,Bl);}createBucket(t){return new Il(t)}queryRadius(){return eo(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,o,l){const u=ro(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,o),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,0,1];po(t,t,e),i.push(new s(t[0]/t[3],t[1]/t[3]));}return i}(u,l),f=function(t,e,r,n){const i=[],a=[],o=n[8]*e,l=n[9]*e,u=n[10]*e,c=n[11]*e,h=n[8]*r,p=n[9]*r,f=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,y=n[0]*e+n[4]*a+n[12],m=n[1]*e+n[5]*a+n[13],g=n[2]*e+n[6]*a+n[14],x=n[3]*e+n[7]*a+n[15],v=g+u,b=x+c,w=y+h,_=m+p,A=g+f,S=x+d,k=new s((y+o)/b,(m+l)/b);k.z=v/b,t.push(k);const M=new s(w/S,_/S);M.z=A/S,r.push(M);}i.push(t),a.push(r);}return [i,a]}(n,h,c,l);return function(t,e,r){let n=1/0;Za(r,e)&&(n=Fl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new Hs,this.layoutVertexArray2=new Ys,this.indexArray=new na,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=rl(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ja(e,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Oa(e),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=nl(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Dl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,$l),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const s=this.layers[0].layout,a=s.get(\"line-join\").evaluate(t,{}),o=s.get(\"line-cap\"),l=s.get(\"line-miter-limit\"),u=s.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,a,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let S=A?r:a?\"butt\":n;if(A&&\"round\"===S&&(vi&&(S=\"bevel\"),\"bevel\"===S&&(v>2&&(S=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*d.add(y).mag()/d.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===S||\"fakeround\"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===S){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(f.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i),this.distance>Rl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,s));}addHalfVertex({x:t,y:e},r,n,i,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(Rl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),s?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}let ql,Nl;wi(\"LineBucket\",Ul,{omit:[\"layers\",\"patternFeatures\"]});var Zl={get paint(){return Nl=Nl||new rs({\"line-opacity\":new Wi(G.paint_line[\"line-opacity\"]),\"line-color\":new Wi(G.paint_line[\"line-color\"]),\"line-translate\":new Ji(G.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Ji(G.paint_line[\"line-translate-anchor\"]),\"line-width\":new Wi(G.paint_line[\"line-width\"]),\"line-gap-width\":new Wi(G.paint_line[\"line-gap-width\"]),\"line-offset\":new Wi(G.paint_line[\"line-offset\"]),\"line-blur\":new Wi(G.paint_line[\"line-blur\"]),\"line-dasharray\":new ts(G.paint_line[\"line-dasharray\"]),\"line-pattern\":new Qi(G.paint_line[\"line-pattern\"]),\"line-gradient\":new es(G.paint_line[\"line-gradient\"])})},get layout(){return ql=ql||new rs({\"line-cap\":new Ji(G.layout_line[\"line-cap\"]),\"line-join\":new Wi(G.layout_line[\"line-join\"]),\"line-miter-limit\":new Ji(G.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Ji(G.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Wi(G.layout_line[\"line-sort-key\"])})}};class Gl extends Wi{possiblyEvaluate(t,e){return e=new Ui(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let Kl;class Xl extends is{constructor(t){super(t,Zl),this.gradientVersion=0,Kl||(Kl=new Gl(Zl.paint.properties[\"line-width\"].specification),Kl.useIntegerZoom=!0);}_handleSpecialPaintPropertyUpdate(t){if(\"line-gradient\"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER;}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values[\"line-floorwidth\"]=Kl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t);}createBucket(t){return new Ul(t)}queryRadius(t){const e=t,r=Hl(to(\"line-width\",this,e),to(\"line-gap-width\",this,e)),n=to(\"line-offset\",this,e);return r/2+Math.abs(n)+eo(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,o){const l=ro(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),a.angle,o),u=o/2*Hl(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),c=this.paint.get(\"line-offset\").evaluate(e,r);return c&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const Yl=ls([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Jl=ls([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ls([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const Wl=ls([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ls([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const Ql=ls([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),tu=ls([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function eu(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Ri.applyArabicShaping&&(t=Ri.applyArabicShaping(t)),t}(t.text,e,r);})),t}ls([{name:\"triangle\",components:3,type:\"Uint16\"}]),ls([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ls([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ls([{type:\"Float32\",name:\"offsetX\"}]),ls([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ls([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const ru={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var nu=24,iu=ou,su=function(t,e,r,n,i){var s,a,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),s-=u;}return (f?-1:1)*a*Math.pow(2,s-n)},au=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(a=a<0;t[r+f]=255&a,f+=d,a/=256,u-=8);t[r+f-d]|=128*y;};function ou(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}ou.Varint=0,ou.Fixed64=1,ou.Bytes=2,ou.Fixed32=5;var lu=4294967296,uu=1/lu,cu=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf-8\");function hu(t){return t.type===ou.Bytes?t.readVarint()+t.pos:t.pos+1}function pu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function fu(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function du(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function ku(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ou.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Au(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=ku(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Au(this.buf,this.pos)+Au(this.buf,this.pos+4)*lu;return this.pos+=8,t},readSFixed64:function(){var t=Au(this.buf,this.pos)+ku(this.buf,this.pos+4)*lu;return this.pos+=8,t},readFloat:function(){var t=su(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=su(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return pu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return pu(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return pu(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&cu?function(t,e,r){return cu.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==ou.Bytes)return t.push(this.readVarint(e));var r=hu(this);for(t=t||[];this.pos127;);else if(e===ou.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ou.Fixed32)this.pos+=4;else {if(e!==ou.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,s=0;s55295&&n<57344){if(!i){n>56319||s+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&fu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),au(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),au(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&fu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,ou.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,du,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,yu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,xu,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,mu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,gu,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,vu,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,bu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,wu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,_u,e);},writeBytesField:function(t,e){this.writeTag(t,ou.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,ou.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,ou.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,ou.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,ou.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,ou.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,ou.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,ou.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,ou.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,ou.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var Mu=r(iu);const Iu=3;function zu(t,e,r){1===t&&r.readMessage(Pu,e);}function Pu(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(Cu,{});e.push({id:t,bitmap:new _o({width:i+2*Iu,height:s+2*Iu},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}}function Cu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}const Bu=Iu;function Vu(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,s=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,s=Math.max(s,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&Ru[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new Ou;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Du.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function ju(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y){const m=Ou.fromFeature(e,s);let g;p===t.ah.vertical&&m.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Ri;if(x&&1===m.sections.length){g=[];const t=x(m.toString(),Hu(m,c,a,r,i,d));for(const e of t){const t=new Ou;t.text=e,t.sections=m.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(s-y.scale)*nu;}M?(e.verticalizable=!0,w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=k*y.scale+c):(w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),Ju(w,0,w.length-1,g,_)),f=0;const A=a*s+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-Lu,{horizontalAlign:w,verticalAlign:_}=Yu(o);((function(t,e,r,n,i,s,a,o,l){const u=(e-r)*i;let c=0;c=s!==a?-o*n-Lu:(-n*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,a,b,s.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(w,r,n,i,g,o,l,u,p,c,f,y),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(b)&&w}const Ru={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},qu={40:!0};function Nu(t,e,r,n,i,s){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*nu/s+i:0}{const n=r[e.fontStack],s=n&&n[t];return s?s.metrics.advance*e.scale+i:0}}function Zu(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let u=0;for(let r=0;ru){const t=Math.ceil(s/u);i*=t/a,a=t;}return {x1:n,y1:i,x2:n+s,y2:i+a}}function tc(t,e,r,n,i,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e];}const l=e.left*s,u=e.right*s;let c,h,p,f;\"width\"===r||\"both\"===r?(f=i[0]+l-n[3],h=i[0]+u+n[1]):(f=i[0]+(l+u-a.displaySize[0])/2,h=f+a.displaySize[0]);const d=e.top*s,y=e.bottom*s;return \"height\"===r||\"both\"===r?(c=i[1]+d-n[0],p=i[1]+y+n[2]):(c=i[1]+(d+y-a.displaySize[1])/2,p=c+a.displaySize[1]),{image:a,top:c,right:h,bottom:p,left:f,collisionPadding:o}}const ec=255,rc=128,nc=ec*rc;function ic(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new Ui(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=lo([]),this.placementViewportMatrix=lo([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=ic(this.zoom,r[\"text-size\"]),this.iconSizeData=ic(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),s=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==sc(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==sc(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==s&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===s||\"auto\"===s&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.ah[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new hc(new Ea(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new hc(new Ea(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Os,this.lineVertexArray=new js,this.symbolInstances=new Ds,this.textAnchorOffsets=new Us;}calculateGlyphDependencies(t,e,r,n,i){for(let s=0;s0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=s.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new Ui(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=ja(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Oa(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Yt.factory(t),r=this.hasRTLText=this.hasRTLText||cc(e);(!r||\"unavailable\"===Ri.getRTLTextPluginStatus()||r&&Ri.isParsed())&&(x=eu(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof te?t:te.fromString(t);}if(!x&&!v)continue;const b=this.sortFeaturesByKey?h.evaluate(g,{},n):void 0;if(this.features.push({id:o,text:x,icon:v,index:l,sourceLayerIndex:m,geometry:g.geometry,properties:r.properties,type:ac[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=a.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ah.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=Pi(x.toString()),i=t.fontStack||e,s=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,s,r,this.allowVerticalPlacement,n);}}}\"line\"===s.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),s}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}let dc,yc;wi(\"SymbolBucket\",fc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),fc.MAX_GLYPHS=65535,fc.addDynamicAttributes=uc;var mc={get paint(){return yc=yc||new rs({\"icon-opacity\":new Wi(G.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Wi(G.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Wi(G.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Wi(G.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Wi(G.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Ji(G.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Ji(G.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Wi(G.paint_symbol[\"text-opacity\"]),\"text-color\":new Wi(G.paint_symbol[\"text-color\"],{runtimeType:pt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new Wi(G.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Wi(G.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Wi(G.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Ji(G.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Ji(G.paint_symbol[\"text-translate-anchor\"])})},get layout(){return dc=dc||new rs({\"symbol-placement\":new Ji(G.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Ji(G.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Ji(G.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Wi(G.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Ji(G.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Ji(G.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Ji(G.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Ji(G.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Ji(G.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Ji(G.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Wi(G.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Ji(G.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Ji(G.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Wi(G.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Wi(G.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Wi(G.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Ji(G.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Wi(G.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Wi(G.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Ji(G.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Ji(G.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Ji(G.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Wi(G.layout_symbol[\"text-field\"]),\"text-font\":new Wi(G.layout_symbol[\"text-font\"]),\"text-size\":new Wi(G.layout_symbol[\"text-size\"]),\"text-max-width\":new Wi(G.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Ji(G.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Wi(G.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Wi(G.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Wi(G.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Ji(G.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Wi(G.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Wi(G.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Ji(G.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Ji(G.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Wi(G.layout_symbol[\"text-rotate\"]),\"text-padding\":new Ji(G.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Ji(G.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Wi(G.layout_symbol[\"text-transform\"]),\"text-offset\":new Wi(G.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Ji(G.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Ji(G.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Ji(G.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Ji(G.layout_symbol[\"text-optional\"])})}};class gc{constructor(t){if(void 0===t.property.overrides)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}wi(\"FormatSectionOverride\",gc,{omit:[\"defaultValue\"]});class xc extends is{constructor(t){super(t,mc);}recalculate(t,e){if(super.recalculate(t,e),\"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\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||vn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new fc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of mc.paint.overridableProperties){if(!xc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new gc(e),n=new xn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new wn(\"source\",n):new _n(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new Hi(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&xc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=mc.paint.properties[e];let i=!1;const s=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Yt)s(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof se&&ne(e.value)===mt?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}let vc;var bc={get paint(){return vc=vc||new rs({\"background-color\":new Ji(G.paint_background[\"background-color\"]),\"background-pattern\":new ts(G.paint_background[\"background-pattern\"]),\"background-opacity\":new Ji(G.paint_background[\"background-opacity\"])})}};class wc extends is{constructor(t){super(t,bc);}}let _c;var Ac={get paint(){return _c=_c||new rs({\"raster-opacity\":new Ji(G.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Ji(G.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Ji(G.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Ji(G.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Ji(G.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Ji(G.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Ji(G.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Ji(G.paint_raster[\"raster-fade-duration\"])})}};class Sc extends is{constructor(t){super(t,Ac);}}class kc extends is{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class Mc{constructor(t){this._methodToThrottle=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle();}),0));}remove(){delete this._channel,this._methodToThrottle=()=>{};}}const Ic=6371008.8;class zc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new zc(m(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof zc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new zc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new zc(Number(\"lng\"in t?t.lng:t.lon),Number(t.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 [, ]\")}}const Pc=2*Math.PI*Ic;function Cc(t){return Pc*Math.cos(t*Math.PI/180)}function Bc(t){return (180+t)/360}function Vc(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Ec(t,e){return t/Cc(e)}function Fc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class Tc{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=zc.convert(t);return new Tc(Bc(r.lng),Vc(r.lat),Ec(e,r.lat))}toLngLat(){return new zc(360*this.x-180,Fc(this.y))}toAltitude(){return this.z*Cc(Fc(this.y))}meterInMercatorCoordinateUnits(){return 1/Pc*(t=Fc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function $c(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Lc{constructor(t,e,r){if(!function(t,e,r){return !(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))}(t,e,r))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=jc(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(s=this.y,a=this.z,o=$c(256*(i=this.x),256*(s=Math.pow(2,a)-s-1),a),l=$c(256*(i+1),256*(s+1),a),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,s,a,o,l;const u=function(t,e,r){let n,i=\"\";for(let s=t;s>0;s--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new s((t.x*e-this.x)*$a,(t.y*e-this.y)*$a)}toString(){return `${this.z}/${this.x}/${this.y}`}}class Dc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=jc(t,e.z,e.z,e.x,e.y);}}class Oc{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Lc(r,+n,+i),this.key=jc(e,t,r,n,i);}clone(){return new Oc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new Oc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Oc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?jc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):jc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new Oc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Oc(e,this.wrap,e,r,n),new Oc(e,this.wrap,e,r+1,n),new Oc(e,this.wrap,e,r,n+1),new Oc(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ao({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class qc{constructor(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t;}toJSON(){const t={geometry:this.geometry};for(const e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t}}class Nc{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new vi($a,16,0),this.grid3D=new vi($a,16,0),this.featureIndexArray=new Ns,this.promoteId=e;}insert(t,e,r,n,i,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new pl.VectorTile(new Mu(this.rawTileData)).layers,this.sourceLayerCoder=new Uc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=$a/t.tileSize/t.scale,o=zn(i.filter),l=t.queryGeometry,u=t.queryPadding*a,c=Gc(l),h=this.grid.query(c.minX-u,c.minY-u,c.maxX+u,c.maxY+u),p=Gc(t.cameraQueryGeometry),f=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,((e,r,n,i)=>function(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0;const a=[new s(e,r),new s(e,i),new s(n,i),new s(n,r)];if(t.length>2)for(const e of a)if(Wa(t,e))return !0;for(let e=0;e(p||(p=Oa(e)),r.queryIntersectsFeature(l,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return d}loadMatchingFeature(t,e,r,n,i,s,a,o,l,u,c){const h=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let r=0;r=0)return !0;return !1}(s,h))return;const p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(n);if(i.needGeometry){const t=ja(f,!0);if(!i.filter(new Ui(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Ui(this.tileID.overscaledZ),f))return;const d=this.getId(f,p);for(let e=0;e{const a=e instanceof Yi?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function Gc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return {minX:e,minY:r,maxX:n,maxY:i}}function Kc(t,e){return e-t}function Xc(t,e,r,n,i){const a=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=i&&c.y>=i||(o.y>=i?o=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round():c.y>=i&&(c=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round()),u&&o.equals(u[u.length-1])||(u=[o],a.push(u)),u.push(c)))));}}return a}wi(\"FeatureIndex\",Nc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Hc extends s{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n);}clone(){return new Hc(this.x,this.y,this.angle,this.segment)}}function Yc(t,e,r,n,i){if(void 0===e.segment||0===r)return !0;let s=e,a=e.segment+1,o=0;for(;o>-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Jc(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Ce.number(n.x,i.x,c),p=Ce.number(n.y,i.y,c),f=new Hc(h,p,i.angleTo(n),r);return f._round(),!a||Yc(t,f,o,a,e)?f:void 0}l+=s;}}function eh(t,e,r,n,i,s,a,o,l){const u=Wc(n,s,a),c=Qc(n,i),h=c*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new Hc(g,x,y,e);r._round(),n&&!Yc(t,r,s,n,i)||f.push(r);}}h+=d;}return o||f.length||a||(f=rh(t,h/2,r,n,i,s,a,!0,l)),f}wi(\"Anchor\",Hc);const nh=Eu;function ih(t,e,r,n){const i=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*nh,u=a.paddedRect.h-2*nh;let c={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=a.stretchX||[[0,l]],p=a.stretchY||[[0,u]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=l-d,g=u-y;let x=0,v=d,b=0,w=y,_=0,A=m,S=0,k=g;if(a.content&&n){const e=a.content,r=e[2]-e[0],n=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(c=Qu(t)),x=sh(h,0,e[0]),b=sh(p,0,e[1]),v=sh(h,e[0],e[2]),w=sh(p,e[1],e[3]),_=e[0]-x,S=e[1]-b,A=r-v,k=n-w;}const M=c.x1,I=c.y1,z=c.x2-M,P=c.y2-I,C=(t,n,i,l)=>{const u=oh(t.stretch-x,v,z,M),c=lh(t.fixed-_,A,t.stretch,d),h=oh(n.stretch-b,w,P,I),p=lh(n.fixed-S,k,n.stretch,y),f=oh(i.stretch-x,v,z,M),m=lh(i.fixed-_,A,i.stretch,d),g=oh(l.stretch-b,w,P,I),C=lh(l.fixed-S,k,l.stretch,y),B=new s(u,h),V=new s(f,h),E=new s(f,g),F=new s(u,g),T=new s(c/o,p/o),$=new s(m/o,C/o),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];B._matMult(r),V._matMult(r),F._matMult(r),E._matMult(r);}const D=t.stretch+t.fixed,O=n.stretch+n.fixed;return {tl:B,tr:V,bl:F,br:E,tex:{x:a.paddedRect.x+nh+D,y:a.paddedRect.y+nh+O,w:i.stretch+i.fixed-D,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:$,minFontScaleX:A/o/z,minFontScaleY:k/o/P,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=ah(h,m,d),e=ah(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {const u=(null===(h=a.image)||void 0===h?void 0:h.content)&&(a.image.textFitWidth||a.image.textFitHeight)?Qu(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};u.y1=u.y1*o-l[0],u.y2=u.y2*o+l[2],u.x1=u.x1*o-l[3],u.x2=u.x2*o+l[1];const p=a.collisionPadding;if(p&&(u.x1-=p[0]*o,u.y1-=p[1]*o,u.x2+=p[2]*o,u.y2+=p[3]*o),c){const t=new s(u.x1,u.y1),e=new s(u.x2,u.y1),r=new s(u.x1,u.y2),n=new s(u.x2,u.y2),i=c*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),u.x1=Math.min(t.x,e.x,r.x,n.x),u.x2=Math.max(t.x,e.x,r.x,n.x),u.y1=Math.min(t.y,e.y,r.y,n.y),u.y2=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,u.x1,u.y1,u.x2,u.y2,r,n,i);}this.boxEndIndex=t.length;}}class ch{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this._up(this.length++);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return --this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n;}e[t]=i;}}function hh(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y);}const u=Math.min(a-n,o-i);let c=u/2;const h=new ch([],ph);if(0===u)return new s(n,i);for(let e=n;ep.d||!p.d)&&(p=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,f)),n.max-p.d<=e||(c=n.h/2,h.push(new fh(n.p.x-c,n.p.y-c,c,t)),h.push(new fh(n.p.x+c,n.p.y-c,c,t)),h.push(new fh(n.p.x-c,n.p.y+c,c,t)),h.push(new fh(n.p.x+c,n.p.y+c,c,t)),f+=4);}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${p.d}`)),p.p}function ph(t,e){return e.max-t.max}function fh(t,e,r,n){this.p=new s(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,Ya(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}var dh;t.aq=void 0,(dh=t.aq||(t.aq={}))[dh.center=1]=\"center\",dh[dh.left=2]=\"left\",dh[dh.right=3]=\"right\",dh[dh.top=4]=\"top\",dh[dh.bottom=5]=\"bottom\",dh[dh[\"top-left\"]=6]=\"top-left\",dh[dh[\"top-right\"]=7]=\"top-right\",dh[dh[\"bottom-left\"]=8]=\"bottom-left\",dh[dh[\"bottom-right\"]=9]=\"bottom-right\";const yh=7,mh=Number.POSITIVE_INFINITY;function gh(t,e){return e[1]!==mh?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-yh;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+yh;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case\"top-right\":case\"top-left\":n=i-yh;break;case\"bottom-right\":case\"bottom-left\":n=-i+yh;break;case\"bottom\":n=-e+yh;break;case\"top\":n=e-yh;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function xh(t,e,r){var n;const i=t.layout,s=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(s){const t=s.values,e=[];for(let r=0;rt*nu));n.startsWith(\"top\")?i[1]-=yh:n.startsWith(\"bottom\")&&(i[1]+=yh),e[r+1]=i;}return new Qt(e)}const a=i.get(\"text-variable-anchor\");if(a){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*nu,mh]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*nu));const s=[];for(const t of a)s.push(t,gh(t,n));return new Qt(s)}return null}function vh(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function bh(e,r,n,i,s,a,o,l,u,c,h){let p=a.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,d=f.get(\"icon-offset\").evaluate(r,{},h),y=_h(n.horizontal),m=o/24,g=e.tilePixelRatio*m,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*e.tilePixelRatio,_=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),s=i&&i.values;return [s[0]*n,s[1]*n,s[2]*n,s[3]*n]}(f,r,h,e.tilePixelRatio),S=f.get(\"text-max-angle\")/180*Math.PI,k=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=f.get(\"symbol-placement\"),z=b/2,P=f.get(\"icon-text-fit\");let C;i&&\"none\"!==P&&(e.allowVerticalPlacement&&n.vertical&&(C=tc(i,n.vertical,P,f.get(\"icon-text-fit-padding\"),d,m)),y&&(i=tc(i,y,P,f.get(\"icon-text-fit-padding\"),d,m)));const B=(l,p)=>{p.x<0||p.x>=$a||p.y<0||p.y>=$a||function(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,S,k,M){const I=e.addToLineVertexArray(r,n);let z,P,C,B,V=0,E=0,F=0,T=0,$=-1,L=-1;const D={};let O=ma(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(w,{},k)+90;C=new uh(u,r,c,h,p,i.vertical,f,d,y,t),o&&(B=new uh(u,r,c,h,p,o,g,x,y,t));}if(s){const n=l.layout.get(\"icon-rotate\").evaluate(w,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),a=ih(s,n,S,i),f=o?ih(o,n,S,i):void 0;P=new uh(u,r,c,h,p,s,g,x,!1,n),V=4*a.length;const d=e.iconSizeData;let y=null;\"source\"===d.kind?(y=[rc*l.layout.get(\"icon-size\").evaluate(w,{})],y[0]>nc&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${ec}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(y=[rc*_.compositeIconSizes[0].evaluate(w,{},k),rc*_.compositeIconSizes[1].evaluate(w,{},k)],(y[0]>nc||y[1]>nc)&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${ec}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,a,y,b,v,w,t.ah.none,r,I.lineStartIndex,I.lineLength,-1,k),$=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,y,b,v,w,t.ah.vertical,r,I.lineStartIndex,I.lineLength,-1,k),L=e.icon.placedSymbolArray.length-1);}const j=Object.keys(i.horizontal);for(const n of j){const s=i.horizontal[n];if(!z){O=ma(s.text);const t=l.layout.get(\"text-rotate\").evaluate(w,{},k);z=new uh(u,r,c,h,p,s,f,d,y,t);}const o=1===s.positionedLines.length;if(F+=wh(e,r,s,a,l,y,w,m,I,i.vertical?t.ah.horizontal:t.ah.horizontalOnly,o?j:[n],D,$,_,k),o)break}i.vertical&&(T+=wh(e,r,i.vertical,a,l,y,w,m,I,t.ah.vertical,[\"vertical\"],D,L,_,k));const R=z?z.boxStartIndex:e.collisionBoxArray.length,U=z?z.boxEndIndex:e.collisionBoxArray.length,q=C?C.boxStartIndex:e.collisionBoxArray.length,N=C?C.boxEndIndex:e.collisionBoxArray.length,Z=P?P.boxStartIndex:e.collisionBoxArray.length,G=P?P.boxEndIndex:e.collisionBoxArray.length,K=B?B.boxStartIndex:e.collisionBoxArray.length,X=B?B.boxEndIndex:e.collisionBoxArray.length;let H=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;H=Y(z,H),H=Y(C,H),H=Y(P,H),H=Y(B,H);const J=H>-1?1:0;J&&(H*=M/nu),e.glyphOffsetArray.length>=fc.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey);const W=xh(l,w,k),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?D.right:-1,D.center>=0?D.center:-1,D.left>=0?D.left:-1,D.vertical||-1,$,L,O,R,U,q,N,Z,G,K,X,c,F,T,V,E,J,0,f,H,Q,tt);}(e,p,l,n,i,s,C,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,g,[w,w,w,w],k,u,v,_,M,d,r,a,c,h,o);};if(\"line\"===I)for(const t of Xc(r.geometry,0,0,$a,$a)){const r=eh(t,b,S,n.vertical||y,i,24,x,e.overscaling,$a);for(const n of r)y&&Ah(e,y.text,z,n)||B(t,n);}else if(\"line-center\"===I){for(const t of r.geometry)if(t.length>1){const e=th(t,S,n.vertical||y,i,24,x);e&&B(t,e);}}else if(\"Polygon\"===r.type)for(const t of xr(r.geometry,0)){const e=hh(t,16);B(t[0],new Hc(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)B(t,new Hc(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)B([e],new Hc(e.x,e.y,0));}function wh(t,e,r,n,i,a,o,l,u,c,h,p,f,d,y){const m=function(t,e,r,n,i,a,o,l){const u=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let h=Bu+1,p=!0,f=1,d=0;const y=(i||l)&&n.vertical,m=n.metrics.advance*n.scale/2;if(l&&e.verticalizable&&(d=t.lineOffset/2-(n.imageName?-(nu-n.metrics.width*n.scale)/2:(n.scale-1)*nu)),n.imageName){const t=o[n.imageName];p=t.sdf,f=t.pixelRatio,h=Eu/f;}const g=i?[n.x+m,n.y]:[0,0];let x=i?[0,0]:[n.x+m+r[0],n.y+r[1]-d],v=[0,0];y&&(v=x,x=[0,0]);const b=n.metrics.isDoubleResolution?2:1,w=(n.metrics.left-h)*n.scale-m+x[0],_=(-n.metrics.top-h)*n.scale+x[1],A=w+a.w/b*n.scale/f,S=_+a.h/b*n.scale/f,k=new s(w,_),M=new s(A,_),I=new s(w,S),z=new s(A,S);if(y){const t=new s(-m,m-Lu),e=-Math.PI/2,r=nu/2-m,i=new s(5-Lu-r,-(n.imageName?r:0)),a=new s(...v);k._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),z._rotateAround(e,t)._add(i)._add(a);}if(u){const t=Math.sin(u),e=Math.cos(u),r=[e,-t,t,e];k._matMult(r),M._matMult(r),I._matMult(r),z._matMult(r);}const P=new s(0,0),C=new s(0,0);c.push({tl:k,tr:M,bl:I,br:z,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:p,pixelOffsetTL:P,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0});}return c}(0,r,l,i,a,o,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[rc*i.layout.get(\"text-size\").evaluate(o,{})],x[0]>nc&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${ec}. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[rc*d.compositeTextSizes[0].evaluate(o,{},y),rc*d.compositeTextSizes[1].evaluate(o,{},y)],(x[0]>nc||x[1]>nc)&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${ec}. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,l,a,o,c,e,u.lineStartIndex,u.lineLength,f,y);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function _h(t){for(const e in t)return t[e];return null}function Ah(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=Sh[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new kh(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=Sh.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Mh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,f=s[2*p],d=s[2*p+1];f>=t&&f<=r&&d>=e&&d<=n&&l.push(i[p]),(0===u?t<=f:e<=d)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=f:n>=d)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)Ch(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,f=i[2*p],d=i[2*p+1];Ch(f,d,t,e)<=l&&o.push(n[p]),(0===u?t-r<=f:e-r<=d)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=f:e+r>=d)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function Mh(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;Ih(t,e,a,n,i,s),Mh(t,e,r,n,a-1,1-s),Mh(t,e,r,a+1,i,1-s);}function Ih(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);Ih(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(zh(t,e,n,r),e[2*i+s]>a&&zh(t,e,n,i);oa;)l--;}e[2*n+s]===a?zh(t,e,n,l):(l++,zh(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function zh(t,e,r,n){Ph(t,r,n),Ph(e,2*r,2*n),Ph(e,2*r+1,2*n+1);}function Ph(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function Ch(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}var Bh;t.bf=void 0,(Bh=t.bf||(t.bf={})).create=\"create\",Bh.load=\"load\",Bh.fullLoad=\"fullLoad\";let Vh=null,Eh=[];const Fh=1e3/60,Th=\"loadTime\",$h=\"fullLoadTime\",Lh={mark(t){performance.mark(t);},frame(t){const e=t;null!=Vh&&Eh.push(e-Vh),Vh=e;},clearMetrics(){Vh=null,Eh=[],performance.clearMeasures(Th),performance.clearMeasures($h);for(const e in t.bf)performance.clearMarks(t.bf[e]);},getPerformanceMetrics(){performance.measure(Th,t.bf.create,t.bf.load),performance.measure($h,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName(Th)[0].duration,r=performance.getEntriesByName($h)[0].duration,n=Eh.length,i=1/(Eh.reduce(((t,e)=>t+e),0)/n/1e3),s=Eh.filter((t=>t>Fh)).reduce(((t,e)=>t+(e-Fh)/Fh),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:s/(n+s)*100,totalFrames:n}}};t.$=class extends ps{},t.A=oo,t.B=yi,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return M},t.D=Ji,t.E=Z,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Mc((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,!1),{unsubscribe:()=>{t.removeEventListener(e,r,!1);}}}(this.target,\"message\",(t=>this.receive(t))),this.globalScope=k(self)?t:window;}registerMessageHandler(t,e){this.messageHandlers[t]=e;}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener(\"abort\",(()=>{delete this.resolveRejects[i];const e={id:i,type:\"\",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e);}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:ki(t.data,s)});this.target.postMessage(a,{transfer:s});}))}receive(t){const e=t.data,r=e.id;if(!(\"file://\"!==e.origin&&\"file://\"!==location.origin&&\"resource://android\"!==e.origin&&\"resource://android\"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(\"\"===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(k(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e);}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,r){return e(this,void 0,void 0,(function*(){if(\"\"===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Mi(r.error)):e.resolve(Mi(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));const e=Mi(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i);}catch(e){this.completeTask(t,e);}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:e?ki(e):null,data:ki(r,n)};this.target.postMessage(i,{transfer:n});}remove(){this.invoker.remove(),this.subscription.unsubscribe();}},t.G=$,t.H=function(){var t=new oo(16);return oo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Fu,t.J=function(t,e,r){var n,i,s,a,o,l,u,c,h,p,f,d,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],f=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=f,t[11]=d,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+f*g+e[14],t[15]=a*y+c*m+d*g+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=uo,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement(\"video\");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e);};for(const r of t){const t=window.document.createElement(\"source\");j(r)||(e.crossOrigin=\"Anonymous\"),t.src=r,e.appendChild(t);}}))},t.a4=function(){return x++},t.a5=Fs,t.a6=fc,t.a7=zn,t.a8=ja,t.a9=qc,t.aA=function(t){if(\"custom\"===t.type)return new kc(t);switch(t.type){case\"background\":return new wc(t);case\"circle\":return new fo(t);case\"fill\":return new ll(t);case\"fill-extrusion\":return new Vl(t);case\"heatmap\":return new ko(t);case\"hillshade\":return new zo(t);case\"line\":return new Xl(t);case\"raster\":return new Sc(t);case\"symbol\":return new xc(t)}},t.aB=w,t.aC=function(t,e){if(!t)return [{command:\"setStyle\",args:[e]}];let r=[];try{if(!H(t.version,e.version))return [{command:\"setStyle\",args:[e]}];H(t.center,e.center)||r.push({command:\"setCenter\",args:[e.center]}),H(t.zoom,e.zoom)||r.push({command:\"setZoom\",args:[e.zoom]}),H(t.bearing,e.bearing)||r.push({command:\"setBearing\",args:[e.bearing]}),H(t.pitch,e.pitch)||r.push({command:\"setPitch\",args:[e.pitch]}),H(t.sprite,e.sprite)||r.push({command:\"setSprite\",args:[e.sprite]}),H(t.glyphs,e.glyphs)||r.push({command:\"setGlyphs\",args:[e.glyphs]}),H(t.transition,e.transition)||r.push({command:\"setTransition\",args:[e.transition]}),H(t.light,e.light)||r.push({command:\"setLight\",args:[e.light]}),H(t.terrain,e.terrain)||r.push({command:\"setTerrain\",args:[e.terrain]}),H(t.sky,e.sky)||r.push({command:\"setSky\",args:[e.sky]}),H(t.projection,e.projection)||r.push({command:\"setProjection\",args:[e.projection]});const n={},i=[];!function(t,e,r,n){let i;for(i in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)||W(i,r,n));for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)?H(t[i],e[i])||(\"geojson\"===t[i].type&&\"geojson\"===e[i].type&&tt(t,e,i)?Y(r,{command:\"setGeoJSONSourceData\",args:[i,e[i].data]}):Q(i,e,r,n)):J(i,e,r));}(t.sources,e.sources,i,n);const s=[];t.layers&&t.layers.forEach((t=>{\"source\"in t&&n[t.source]?r.push({command:\"removeLayer\",args:[t.id]}):s.push(t);})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),s=t.reduce(nt,{}),a=e.reduce(nt,{}),o=n.slice(),l=Object.create(null);let u,c,h,p,f;for(let t=0,e=0;t@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!s||s.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e},t.ab=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ac=y,t.ad=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(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[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.ae=function(t){var e=new oo(16);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},t.af=po,t.ag=function(t,e){let r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){const{interpolationType:i,minZoom:s,maxZoom:a}=t,o=i?y(Be.interpolationFactor(i,e,s,a),0,1):0;\"camera\"===t.kind?n=Ce.number(t.minSize,t.maxSize,o):r=o;}return {uSizeT:r,uSize:n}},t.ai=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return \"source\"===t.kind?n/rc:\"composite\"===t.kind?Ce.number(n/rc,i/rc,r):e},t.aj=uc,t.ak=function(t,e,r,n){const i=e.y-t.y,a=e.x-t.x,o=n.y-r.y,l=n.x-r.x,u=o*a-l*i;if(0===u)return null;const c=(l*(t.y-r.y)-o*(t.x-r.x))/u;return new s(t.x+c*a,t.y+c*i)},t.al=Xc,t.am=qa,t.an=lo,t.ao=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return [e,r,n,i]},t.ap=nu,t.ar=sc,t.as=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],f=e[11],d=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*d,k=c*m-p*d,M=c*g-f*d,I=h*m-p*y,z=h*g-f*y,P=p*g-f*m,C=x*P-v*z+b*I+w*M-_*k+A*S;return C?(t[0]=(o*P-l*z+u*I)*(C=1/C),t[1]=(i*z-n*P-s*I)*C,t[2]=(y*A-m*_+g*w)*C,t[3]=(p*_-h*A-f*w)*C,t[4]=(l*M-a*P-u*k)*C,t[5]=(r*P-i*M+s*k)*C,t[6]=(m*b-d*A-g*v)*C,t[7]=(c*A-p*b+f*v)*C,t[8]=(a*z-o*M+u*S)*C,t[9]=(n*M-r*z-s*S)*C,t[10]=(d*_-y*b+g*x)*C,t[11]=(h*b-c*_-f*x)*C,t[12]=(o*k-a*I-l*S)*C,t[13]=(r*I-n*k+i*S)*C,t[14]=(y*v-d*w-m*x)*C,t[15]=(c*w-h*v+p*x)*C,t):null},t.at=vh,t.au=Yu,t.av=kh,t.aw=function(){const t={},e=G.$version;for(const r in G.$root){const n=G.$root[r];if(n.required){let i=null;i=\"version\"===r?e:\"array\"===n.type?[]:{},null!=i&&(t[r]=i);}}return t},t.ax=Ii,t.ay=D,t.az=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r25||n<0||n>=1||r<0||r>=1)},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends hs{},t.bd=Ic,t.be=Lh,t.bg=L,t.bh=function(t,e){F.REGISTERED_PROTOCOLS[t]=e;},t.bi=function(t){delete F.REGISTERED_PROTOCOLS[t];},t.bj=function(t,e){const r={};for(let n=0;nt*nu));}let v=o?\"center\":n.get(\"text-justify\").evaluate(i,{},e.canonical);const b=\"point\"===n.get(\"symbol-placement\")?n.get(\"text-max-width\").evaluate(i,{},e.canonical)*nu:1/0,w=()=>{e.bucket.allowVerticalPlacement&&Pi(s)&&(d.vertical=ju(y,e.glyphMap,e.glyphPositions,e.imagePositions,c,b,a,m,\"left\",f,g,t.ah.vertical,!0,p,h));};if(!o&&x){const r=new Set;if(\"auto\"===v)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:\"image/png\"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=g,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=z;}));},n.onerror=()=>r(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 i=new Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?URL.createObjectURL(i):z;})),t.g=T,t.h=(t,e)=>O(g(t,{type:\"json\"}),e),t.i=k,t.j=N,t.k=q,t.l=(t,e)=>O(g(t,{type:\"arrayBuffer\"}),e),t.m=O,t.n=function(t){return new Mu(t).readFields(zu,[])},t.o=_o,t.p=Vu,t.q=rs,t.r=di,t.s=j,t.t=xi,t.u=fi,t.v=G,t.w=A,t.x=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.y=Ce,t.z=Ui;}));\n\ndefine(\"worker\",[\"./shared\"],(function(e){\"use strict\";class t{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,o){for(const o of t){this._layerConfigs[o.id]=o;const t=this._layers[o.id]=e.aA(o);t._featureFilter=e.a7(t.filter),this.keyCache[o.id]&&delete this.keyCache[o.id];}for(const e of o)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=e.bj(Object.values(this._layerConfigs),this.keyCache);for(const e of i){const t=e.map((e=>this._layers[e.id])),o=t[0];if(\"none\"===o.visibility)continue;const i=o.source||\"\";let s=this.familiesBySource[i];s||(s=this.familiesBySource[i]={});const r=o.sourceLayer||\"_geojsonTileLayer\";let n=s[r];n||(n=s[r]=[]),n.push(t);}}}class o{constructor(t){const o={},i=[];for(const e in t){const s=t[e],r=o[e]={};for(const e in s){const t=s[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const o={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};i.push(o),r[e]={rect:o,metrics:t.metrics};}}const{w:s,h:r}=e.p(i),n=new e.o({width:s||1,height:r||1});for(const i in t){const s=t[i];for(const t in s){const r=s[+t];if(!r||0===r.bitmap.width||0===r.bitmap.height)continue;const a=o[i][t].rect;e.o.copy(r.bitmap,n,{x:0,y:0},{x:a.x+1,y:a.y+1},r.bitmap);}}this.image=n,this.positions=o;}}e.bk(\"GlyphAtlas\",o);class i{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[];}parse(t,i,r,n){return e._(this,void 0,void 0,(function*(){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.a5;const a=new e.bl(Object.keys(t.layers).sort()),l=new e.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},h=i.familiesBySource[this.source];for(const o in h){const i=t.layers[o];if(!i)continue;1===i.version&&e.w(`Vector tile source \"${this.source}\" layer \"${o}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=a.encode(o),d=[];for(let e=0;e=o.maxzoom||\"none\"!==o.visibility&&(s(t,this.zoom,r),(c[o.id]=o.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(d,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))));}}const d=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>null==e?void 0:e.abort())),this.inFlightDependencies=[];let f=Promise.resolve({});if(Object.keys(d).length){const e=new AbortController;this.inFlightDependencies.push(e),f=n.sendAsync({type:\"GG\",data:{stacks:d,source:this.source,tileID:this.tileID,type:\"glyphs\"}},e);}const g=Object.keys(u.iconDependencies);let p=Promise.resolve({});if(g.length){const e=new AbortController;this.inFlightDependencies.push(e),p=n.sendAsync({type:\"GI\",data:{icons:g,source:this.source,tileID:this.tileID,type:\"icons\"}},e);}const m=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(m.length){const e=new AbortController;this.inFlightDependencies.push(e),y=n.sendAsync({type:\"GI\",data:{icons:m,source:this.source,tileID:this.tileID,type:\"patterns\"}},e);}const[v,w,x]=yield Promise.all([f,p,y]),b=new o(v),S=new e.bn(w,x);for(const t in c){const o=c[t];o instanceof e.a6?(s(o.layers,this.zoom,r),e.bo({bucket:o,glyphMap:v,glyphPositions:b.positions,imageMap:w,imagePositions:S.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):o.hasPattern&&(o instanceof e.bp||o instanceof e.bq||o instanceof e.br)&&(s(o.layers,this.zoom,r),o.addFeatures(u,this.tileID.canonical,S.patternPositions));}return this.status=\"done\",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:S,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?w:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function s(t,o,i){const s=new e.z(o);for(const e of t)e.recalculate(s,i);}class r{constructor(e,t,o){this.actor=e,this.layerIndex=t,this.availableImages=o,this.fetching={},this.loading={},this.loaded={};}loadVectorTile(t,o){return e._(this,void 0,void 0,(function*(){const i=yield e.l(t.request,o);try{return {vectorTile:new e.bs.VectorTile(new e.bt(i.data)),rawData:i.data,cacheControl:i.cacheControl,expires:i.expires}}catch(e){const o=new Uint8Array(i.data);let s=`Unable to parse the tile at ${t.request.url}, `;throw s+=31===o[0]&&139===o[1]?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${e.message}`,new Error(s)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid,s=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bu(t.request),r=new i(t);this.loading[o]=r;const n=new AbortController;r.abort=n;try{const i=yield this.loadVectorTile(t,n);if(delete this.loading[o],!i)return null;const a=i.rawData,l={};i.expires&&(l.expires=i.expires),i.cacheControl&&(l.cacheControl=i.cacheControl);const c={};if(s){const e=s.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}r.vectorTile=i.vectorTile;const u=r.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[o]=r,this.fetching[o]={rawTileData:a,cacheControl:l,resourceTiming:c};try{const t=yield u;return e.e({rawTileData:a.slice(0)},t,l,c)}finally{delete this.fetching[o];}}catch(e){throw delete this.loading[o],r.status=\"done\",this.loaded[o]=r,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid;if(!this.loaded||!this.loaded[o])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");const i=this.loaded[o];if(i.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===i.status){const t=yield i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);let s;if(this.fetching[o]){const{rawTileData:i,cacheControl:r,resourceTiming:n}=this.fetching[o];delete this.fetching[o],s=e.e({rawTileData:i.slice(0)},t,r,n);}else s=t;return s}if(\"done\"===i.status&&i.vectorTile)return i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){const e=this.loading,o=t.uid;e&&e[o]&&e[o].abort&&(e[o].abort.abort(),delete e[o]);}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid];}))}}class n{constructor(){this.loaded={};}loadTile(t){return e._(this,void 0,void 0,(function*(){const{uid:o,encoding:i,rawImageData:s,redFactor:r,greenFactor:n,blueFactor:a,baseShift:l}=t,c=s.width+2,u=s.height+2,h=e.b(s)?new e.R({width:c,height:u},yield e.bv(s,-1,-1,c,u)):s,d=new e.bw(o,h,i,r,n,a,l);return this.loaded=this.loaded||{},this.loaded[o]=d,d}))}removeTile(e){const t=this.loaded,o=e.uid;t&&t[o]&&delete t[o];}}function a(e,t){if(0!==e.length){l(e[0],t);for(var o=1;o=Math.abs(a)?o-l+a:a-l+o,o=l;}o+i>=0!=!!t&&e.reverse();}var c=e.bx((function e(t,o){var i,s=t&&t.type;if(\"FeatureCollection\"===s)for(i=0;i>31}function I(e,t){for(var o=e.loadGeometry(),i=e.type,s=0,r=0,n=o.length,a=0;ae},D=Math.fround||(C=new Float32Array(1),e=>(C[0]=+e,C[0]));var C;const L=3,O=5,F=6;class z{constructor(e){this.options=Object.assign(Object.create(T),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:o,maxZoom:i}=this.options;t&&console.time(\"total time\");const s=`prepare ${e.length} points`;t&&console.time(s),this.points=e;const r=[];for(let t=0;t=o;e--){const o=+Date.now();n=this.trees[e]=this._createTree(this._cluster(n,e)),t&&console.log(\"z%d: %d clusters in %dms\",e,n.numItems,+Date.now()-o);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let s=180===e[2]?180:((e[2]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,s=180;else if(o>s){const e=this.getClusters([o,i,180,r],t),n=this.getClusters([-180,i,s,r],t);return e.concat(n)}const n=this.trees[this._limitZoom(t)],a=n.range(G(o),j(r),G(s),j(i)),l=n.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+O]>1?A(l,t,this.clusterProps):this.points[l[t+L]]);}return c}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i=\"No cluster with the specified id.\",s=this.trees[o];if(!s)throw new Error(i);const r=s.data;if(t*this.stride>=r.length)throw new Error(i);const n=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=s.within(r[t*this.stride],r[t*this.stride+1],n),l=[];for(const t of a){const o=t*this.stride;r[o+4]===e&&l.push(r[o+O]>1?A(r,o,this.clusterProps):this.points[r[o+L]]);}if(0===l.length)throw new Error(i);return l}getLeaves(e,t,o){const i=[];return this._appendLeaves(i,e,t=t||10,o=o||0,0),i}getTile(e,t,o){const i=this.trees[this._limitZoom(e)],s=Math.pow(2,e),{extent:r,radius:n}=this.options,a=n/r,l=(o-a)/s,c=(o+1+a)/s,u={features:[]};return this._addTileFeatures(i.range((t-a)/s,l,(t+1+a)/s,c),i.data,t,o,s,u),0===t&&this._addTileFeatures(i.range(1-a/s,l,1,c),i.data,s,o,s,u),t===s-1&&this._addTileFeatures(i.range(0,l,a/s,c),i.data,-1,o,s,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id;}return t}_appendLeaves(e,t,o,i,s){const r=this.getChildren(t);for(const t of r){const r=t.properties;if(r&&r.cluster?s+r.point_count<=i?s+=r.point_count:s=this._appendLeaves(e,r.cluster_id,o,i,s):s1;let l,c,u;if(a)l=E(t,e,this.clusterProps),c=t[e],u=t[e+1];else {const o=this.points[t[e+L]];l=o.properties;const[i,s]=o.geometry.coordinates;c=G(i),u=j(s);}const h={type:1,geometry:[[Math.round(this.options.extent*(c*s-o)),Math.round(this.options.extent*(u*s-i))]],tags:l};let d;d=a||this.options.generateId?t[e+L]:this.points[t[e+L]].id,void 0!==d&&(h.id=d),r.features.push(h);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:o,extent:i,reduce:s,minPoints:r}=this.options,n=o/(i*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let o=0;ot&&(f+=a[o+O]);}if(f>d&&f>=r){let e,r=i*d,n=u*d,g=-1;const p=((o/c|0)<<5)+(t+1)+this.points.length;for(const i of h){const l=i*c;if(a[l+2]<=t)continue;a[l+2]=t;const u=a[l+O];r+=a[l]*u,n+=a[l+1]*u,a[l+4]=p,s&&(e||(e=this._map(a,o,!0),g=this.clusterProps.length,this.clusterProps.push(e)),s(e,this._map(a,l)));}a[o+4]=p,l.push(r/f,n/f,1/0,p,-1,f),s&&l.push(g);}else {for(let e=0;e1)for(const e of h){const o=e*c;if(!(a[o+2]<=t)){a[o+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,o){if(e[t+O]>1){const i=this.clusterProps[e[t+F]];return o?Object.assign({},i):i}const i=this.points[e[t+L]].properties,s=this.options.map(i);return o&&s===i?Object.assign({},s):s}}function A(e,t,o){return {type:\"Feature\",id:e[t+L],properties:E(e,t,o),geometry:{type:\"Point\",coordinates:[(i=e[t],360*(i-.5)),R(e[t+1])]}};var i;}function E(e,t,o){const i=e[t+O],s=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?Math.round(i/100)/10+\"k\":i,r=e[t+F],n=-1===r?{}:Object.assign({},o[r]);return Object.assign(n,{cluster:!0,cluster_id:e[t+L],point_count:i,point_count_abbreviated:s})}function G(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function R(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Z(e,t,o,i){let s=i;const r=t+(o-t>>1);let n,a=o-t;const l=e[t],c=e[t+1],u=e[o],h=e[o+1];for(let i=t+3;is)n=i,s=t;else if(t===s){const e=Math.abs(i-r);ei&&(n-t>3&&Z(e,t,n,i),e[n+2]=s,o-n>3&&Z(e,n,o,i));}function N(e,t,o,i,s,r){let n=s-o,a=r-i;if(0!==n||0!==a){const l=((e-o)*n+(t-i)*a)/(n*n+a*a);l>1?(o=s,i=r):l>0&&(o+=n*l,i+=a*l);}return n=e-o,a=t-i,n*n+a*a}function J(e,t,o,i){const s={id:null==e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(\"Point\"===t||\"MultiPoint\"===t||\"LineString\"===t)W(s,o);else if(\"Polygon\"===t)W(s,o[0]);else if(\"MultiLineString\"===t)for(const e of o)W(s,e);else if(\"MultiPolygon\"===t)for(const e of o)W(s,e[0]);return s}function W(e,t){for(let o=0;o0&&(n+=i?(s*l-a*r)/2:Math.sqrt(Math.pow(a-s,2)+Math.pow(l-r,2))),s=a,r=l;}const a=t.length-3;t[2]=1,Z(t,0,a,o),t[a+2]=1,t.size=Math.abs(n),t.start=0,t.end=t.size;}function q(e,t,o,i){for(let s=0;s1?1:o}function U(e,t,o,i,s,r,n,a){if(i/=t,r>=(o/=t)&&n=i)return null;const l=[];for(const t of e){const e=t.geometry;let r=t.type;const n=0===s?t.minX:t.minY,c=0===s?t.maxX:t.maxY;if(n>=o&&c=i)continue;let u=[];if(\"Point\"===r||\"MultiPoint\"===r)$(e,u,o,i,s);else if(\"LineString\"===r)K(e,u,o,i,s,!1,a.lineMetrics);else if(\"MultiLineString\"===r)ee(e,u,o,i,s,!1);else if(\"Polygon\"===r)ee(e,u,o,i,s,!0);else if(\"MultiPolygon\"===r)for(const t of e){const e=[];ee(t,e,o,i,s,!0),e.length&&u.push(e);}if(u.length){if(a.lineMetrics&&\"LineString\"===r){for(const e of u)l.push(J(t.id,r,e,t.tags));continue}\"LineString\"!==r&&\"MultiLineString\"!==r||(1===u.length?(r=\"LineString\",u=u[0]):r=\"MultiLineString\"),\"Point\"!==r&&\"MultiPoint\"!==r||(r=3===u.length?\"Point\":\"MultiPoint\"),l.push(J(t.id,r,u,t.tags));}}return l.length?l:null}function $(e,t,o,i,s){for(let r=0;r=o&&n<=i&&te(t,e[r],e[r+1],e[r+2]);}}function K(e,t,o,i,s,r,n){let a=Q(e);const l=0===s?oe:ie;let c,u,h=e.start;for(let d=0;do&&(u=l(a,f,g,m,y,o),n&&(a.start=h+c*u)):v>i?w=o&&(u=l(a,f,g,m,y,o),x=!0),w>i&&v<=i&&(u=l(a,f,g,m,y,i),x=!0),!r&&x&&(n&&(a.end=h+c*u),t.push(a),a=Q(e)),n&&(h+=c);}let d=e.length-3;const f=e[d],g=e[d+1],p=0===s?f:g;p>=o&&p<=i&&te(a,f,g,e[d+2]),d=a.length-3,r&&d>=3&&(a[d]!==a[0]||a[d+1]!==a[1])&&te(a,a[0],a[1],a[2]),a.length&&t.push(a);}function Q(e){const t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ee(e,t,o,i,s,r){for(const n of e)K(n,t,o,i,s,r,!1);}function te(e,t,o,i){e.push(t,o,i);}function oe(e,t,o,i,s,r){const n=(r-t)/(i-t);return te(e,r,o+(s-o)*n,1),n}function ie(e,t,o,i,s,r){const n=(r-o)/(s-o);return te(e,t+(i-t)*n,r,1),n}function se(e,t){const o=[];for(let i=0;i0&&t.size<(s?n:i))return void(o.numPoints+=t.length/3);const a=[];for(let e=0;en)&&(o.numSimplified++,a.push(t[e],t[e+1])),o.numPoints++;s&&function(e,t){let o=0;for(let t=0,i=e.length,s=i-2;t0===t)for(let t=0,o=e.length;t24)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.\");let i=function(e,t){const o=[];if(\"FeatureCollection\"===e.type)for(let i=0;i1&&console.time(\"creation\"),d=this.tiles[h]=le(e,t,o,i,l),this.tileCoords.push({z:t,x:o,y:i}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,o,i,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd(\"creation\"));const e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++;}if(d.source=e,null==s){if(t===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else {if(t===l.maxZoom||t===s)continue;if(null!=s){const e=s-t;if(o!==r>>e||i!==n>>e)continue}}if(d.source=null,0===e.length)continue;c>1&&console.time(\"clipping\");const f=.5*l.buffer/l.extent,g=.5-f,p=.5+f,m=1+f;let y=null,v=null,w=null,x=null,b=U(e,u,o-f,o+p,0,d.minX,d.maxX,l),S=U(e,u,o+g,o+m,0,d.minX,d.maxX,l);e=null,b&&(y=U(b,u,i-f,i+p,1,d.minY,d.maxY,l),v=U(b,u,i+g,i+m,1,d.minY,d.maxY,l),b=null),S&&(w=U(S,u,i-f,i+p,1,d.minY,d.maxY,l),x=U(S,u,i+g,i+m,1,d.minY,d.maxY,l),S=null),c>1&&console.timeEnd(\"clipping\"),a.push(y||[],t+1,2*o,2*i),a.push(v||[],t+1,2*o,2*i+1),a.push(w||[],t+1,2*o+1,2*i),a.push(x||[],t+1,2*o+1,2*i+1);}}getTile(e,t,o){e=+e,t=+t,o=+o;const i=this.options,{extent:s,debug:r}=i;if(e<0||e>24)return null;const n=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,o);let l,c=e,u=t,h=o;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[fe(c,u,h)];return l&&l.source?(r>1&&(console.log(\"found parent tile z%d-%d-%d\",c,u,h),console.time(\"drilling down\")),this.splitTile(l.source,c,u,h,e,t,o),r>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ne(this.tiles[a],s):null):null}}function fe(e,t,o){return 32*((1<{n.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(r,n);return t},t.reduce=(e,t)=>{n.properties=t;for(const t of a)r.accumulated=e[t],e[t]=s[t].evaluate(r,n);},t}(t)).load((yield this._pendingData).features):(s=yield this._pendingData,new de(s,t.geojsonVtOptions)),this.loaded={};const o={};if(i){const e=i.finish();e&&(o.resourceTiming={},o.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}return o}catch(t){if(delete this._pendingRequest,e.bA(t))return {abandoned:!0};throw t}var s;}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){const t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){let i=yield this.loadGeoJSON(t,o);if(delete this._pendingRequest,\"object\"!=typeof i)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(i,!0),t.filter){const o=e.bB(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const s=i.features.filter((e=>o.value.evaluate({zoom:0},e)));i={type:\"FeatureCollection\",features:s};}return i}))}loadGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){const{promoteId:i}=t;if(t.request){const s=yield e.h(t.request,o);return this._dataUpdateable=pe(s.data,i)?me(s.data,i):void 0,s.data}if(\"string\"==typeof t.data)try{const e=JSON.parse(t.data);return this._dataUpdateable=pe(e,i)?me(e,i):void 0,e}catch(e){throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,o){var i,s,r,n;if(t.removeAll&&e.clear(),t.remove)for(const o of t.remove)e.delete(o);if(t.add)for(const i of t.add){const t=ge(i,o);null!=t&&e.set(t,i);}if(t.update)for(const o of t.update){let t=e.get(o.id);if(null==t)continue;const a=!o.removeAllProperties&&((null===(i=o.removeProperties)||void 0===i?void 0:i.length)>0||(null===(s=o.addOrUpdateProperties)||void 0===s?void 0:s.length)>0);if((o.newGeometry||o.removeAllProperties||a)&&(t=Object.assign({},t),e.set(o.id,t),a&&(t.properties=Object.assign({},t.properties))),o.newGeometry&&(t.geometry=o.newGeometry),o.removeAllProperties)t.properties={};else if((null===(r=o.removeProperties)||void 0===r?void 0:r.length)>0)for(const e of o.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(n=o.addOrUpdateProperties)||void 0===n?void 0:n.length)>0)for(const{key:e,value:i}of o.addOrUpdateProperties)t.properties[e]=i;}}(this._dataUpdateable,t.dataDiff,i),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort();}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class ve{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.externalWorkerSourceTypes[e]=t;},this.self.addProtocol=e.bh,this.self.removeProtocol=e.bi,this.self.registerRTLTextPlugin=t=>{if(e.bC.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bC.setMethods(t);},this.actor.registerMessageHandler(\"LDT\",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RDT\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,o.source).removeTile(o);})))),this.actor.registerMessageHandler(\"GCEZ\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterExpansionZoom(o)})))),this.actor.registerMessageHandler(\"GCC\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterChildren(o)})))),this.actor.registerMessageHandler(\"GCL\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterLeaves(o)})))),this.actor.registerMessageHandler(\"LD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(\"GD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(\"LT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(\"AT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(\"RMT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(\"RS\",((t,o)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][o.type]||!this.workerSources[t][o.type][o.source])return;const e=this.workerSources[t][o.type][o.source];delete this.workerSources[t][o.type][o.source],void 0!==e.removeSource&&e.removeSource(o);})))),this.actor.registerMessageHandler(\"RM\",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t];})))),this.actor.registerMessageHandler(\"SR\",((t,o)=>e._(this,void 0,void 0,(function*(){this.referrer=o;})))),this.actor.registerMessageHandler(\"SRPS\",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(\"IS\",((t,o)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(o);})))),this.actor.registerMessageHandler(\"SI\",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(\"UL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(o.layers,o.removedIds);})))),this.actor.registerMessageHandler(\"SL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(o);}))));}_setImages(t,o){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=o;for(const e in this.workerSources[t]){const i=this.workerSources[t][e];for(const e in i)i[e].availableImages=o;}}))}_syncRTLPluginState(t,o){return e._(this,void 0,void 0,(function*(){if(e.bC.isParsed())return e.bC.getState();if(\"loading\"!==o.pluginStatus)return e.bC.setState(o),o;const t=o.pluginURL;if(this.self.importScripts(t),e.bC.isParsed()){const o={pluginStatus:\"loaded\",pluginURL:t};return e.bC.setState(o),o}throw e.bC.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let o=this.layerIndexes[e];return o||(o=this.layerIndexes[e]=new t),o}_getWorkerSource(e,t,o){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][o]){const i={sendAsync:(t,o)=>(t.targetMapId=e,this.actor.sendAsync(t,o))};switch(t){case\"vector\":this.workerSources[e][t][o]=new r(i,this._getLayerIndex(e),this._getAvailableImages(e));break;case\"geojson\":this.workerSources[e][t][o]=new ye(i,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][o]=new this.externalWorkerSourceTypes[t](i,this._getLayerIndex(e),this._getAvailableImages(e));}}return this.workerSources[e][t][o]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new n),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new ve(self)),ve}));\n\ndefine(\"index\",[\"exports\",\"./shared\"],(function(t,e){\"use strict\";var i=\"4.6.0\";let a,s;const o={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,a)=>{const s=requestAnimationFrame(i);t.signal.addEventListener(\"abort\",(()=>{cancelAnimationFrame(s),a(e.c());}));})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement(\"canvas\"),i=e.getContext(\"2d\",{willReadFrequently:!0});if(!i)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(a||(a=document.createElement(\"a\")),a.href=t,a.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==s&&(s=matchMedia(\"(prefers-reduced-motion: reduce)\")),s.matches)}};class r{static testProp(t){if(!r.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",r.suppressClickInternal,!0);}),0);}static getScale(t){const e=t.getBoundingClientRect();return {x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,a){const s=i.boundingClientRect;return new e.P((a.clientX-s.left)/i.x-t.clientLeft,(a.clientY-s.top)/i.y-t.clientTop)}static mousePos(t,e){const i=r.getScale(t);return r.getPoint(t,i,e)}static touchPos(t,e){const i=[],a=r.getScale(t);for(let s=0;s{l&&d(l),l=null,u=!0;},h.onerror=()=>{c=!0,l=null;},h.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(t){let i,a,s,o;t.resetRequestQueue=()=>{i=[],a=0,s=0,o={};},t.addThrottleControl=t=>{const e=s++;return o[e]=t,e},t.removeThrottleControl=t=>{delete o[t],l();},t.getImage=(t,a,s=!0)=>new Promise(((o,r)=>{n.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),e.e(t,{type:\"image\"}),i.push({abortController:a,requestParameters:t,supportImageRefresh:s,state:\"queued\",onError:t=>{r(t);},onSuccess:t=>{o(t);}}),l();}));const r=t=>e._(this,void 0,void 0,(function*(){t.state=\"running\";const{requestParameters:i,supportImageRefresh:s,onError:o,onSuccess:r,abortController:n}=t,c=!1===s&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&\"accept\"===e),!0));a++;const u=c?h(i,n):e.m(i,n);try{const i=yield u;delete t.abortController,t.state=\"completed\",i.data instanceof HTMLImageElement||e.b(i.data)?r(i):i.data&&r({data:yield(d=i.data,\"function\"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires});}catch(e){delete t.abortController,o(e);}finally{a--,l();}var d;})),l=()=>{const t=(()=>{for(const t of Object.keys(o))if(o[t]())return !0;return !1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=a;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:r(t);}},h=(t,i)=>new Promise(((a,s)=>{const o=new Image,r=t.url,n=t.credentials;n&&\"include\"===n?o.crossOrigin=\"use-credentials\":(n&&\"same-origin\"===n||!e.s(r))&&(o.crossOrigin=\"anonymous\"),i.signal.addEventListener(\"abort\",(()=>{o.src=\"\",s(e.c());})),o.fetchPriority=\"high\",o.onload=()=>{o.onerror=o.onload=null,a({data:o});},o.onerror=()=>{o.onerror=o.onload=null,i.signal.aborted||s(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.\"));},o.src=r;}));}(_||(_={})),_.resetRequestQueue();class p{constructor(t){this._transformRequestFn=t;}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t;}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var f,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};f=new e.A(3),e.A!=Float32Array&&(f[0]=0,f[1]=0,f[2]=0);var v=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const i=[];for(const{id:a,url:s}of t){const t=`${a}${s}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:a,url:s}));}}return e}function y(t,e,i){const a=t.split(\"?\");return a[0]+=`${e}${i}`,a.join(\"?\")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0);}();class b{constructor(t,e,i,a){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,a);}update(t,i,a){const{width:s,height:o}=t,r=!(this.size&&this.size[0]===s&&this.size[1]===o||a),{context:n}=this,{gl:l}=n;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),n.pixelStoreUnpackFlipY.set(!1),n.pixelStoreUnpack.set(1),n.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),r)this.size=[s,o],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,s,o,0,this.format,l.UNSIGNED_BYTE,t.data);else {const{x:i,y:r}=a||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,r,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,r,s,o,l.RGBA,l.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);}bind(t,e,i){const{context:a}=this,{gl:s}=a;s.bindTexture(s.TEXTURE_2D,this.texture),i!==s.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=s.LINEAR),t!==this.filter&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,t),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,e),this.wrap=e);}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null;}}function w(t){const{userImage:e}=t;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[];}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null;}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e);}_validate(t,i){let a=!0;const s=i.data||i.spriteData;return this._validateStretch(i.stretchX,s&&s.width)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),a=!1),this._validateStretch(i.stretchY,s&&s.height)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),a=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"content\" value`))),a=!1),a}_validateStretch(t,e){if(!t)return !0;let i=0;for(const a of t){if(a[0]{let a=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(a=!1);this.isLoaded()||a?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e});}))}_getImagesForIds(t){const i={};for(const a of t){let t=this.getImage(a);t||(this.fire(new e.k(\"styleimagemissing\",{id:a})),t=this.getImage(a)),t?i[a]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image \"${a}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`);}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return {width:t,height:e}}getPattern(t){const i=this.patterns[t],a=this.getImage(t);if(!a)return null;if(i&&i.position.version===a.version)return i.position;if(i)i.position.version=a.version;else {const i={w:a.data.width+2,h:a.data.height+2,x:0,y:0},s=new e.I(i,a);this.patterns[t]={bin:i,position:s};}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE);}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:a}=e.p(t),s=this.atlasImage;s.resize({width:i||1,height:a||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],a=i.x+1,o=i.y+1,r=this.getImage(t).data,n=r.width,l=r.height;e.R.copy(r,s,{x:0,y:0},{x:a,y:o},{width:n,height:l}),e.R.copy(r,s,{x:0,y:l-1},{x:a,y:o-1},{width:n,height:1}),e.R.copy(r,s,{x:0,y:0},{x:a,y:o+l},{width:n,height:1}),e.R.copy(r,s,{x:n-1,y:0},{x:a-1,y:o},{width:1,height:l}),e.R.copy(r,s,{x:0,y:0},{x:a+n,y:o},{width:1,height:l});}this.dirty=!0;}beginFrame(){this.callbackDispatchedThisFrame={};}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: \"${i}\" was not found`),w(t)&&this.updateImage(i,t);}}}const I=1e20;function E(t,e,i,a,s,o,r,n,l){for(let h=e;h-1);l++,o[l]=n,r[l]=h,r[l+1]=I;}for(let n=0,l=0;n65535)throw new Error(\"glyphs > 65535 not supported\");if(e.ranges[s])return {stack:t,id:i,glyph:a};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!e.requests[s]){const i=C.loadGlyphRange(t,s,this.url,this.requestManager);e.requests[s]=i;}const o=yield e.requests[s];for(const t in o)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=o[+t]);return e.ranges[s]=!0,{stack:t,id:i,glyph:o[i]||null}}))}_doesCharSupportLocalGlyph(t){return !!this.localIdeographFontFamily&&/\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}/u.test(String.fromCodePoint(t))}_tinySDF(t,i,a){const s=this.localIdeographFontFamily;if(!s)return;if(!this._doesCharSupportLocalGlyph(a))return;let o=t.tinySDF;if(!o){let e=\"400\";/bold/i.test(i)?e=\"900\":/medium/i.test(i)?e=\"500\":/light/i.test(i)&&(e=\"200\"),o=t.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:s,fontWeight:e});}const r=o.draw(String.fromCharCode(a));return {id:a,bitmap:new e.o({width:r.width||60,height:r.height||60},r.data),metrics:{width:r.glyphWidth/2||24,height:r.glyphHeight/2||24,left:r.glyphLeft/2+.5||0,top:r.glyphTop/2-27.5||-8,advance:r.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const o=256*i,r=o+255,n=s.transformRequest(a.replace(\"{fontstack}\",t).replace(\"{range}\",`${o}-${r}`),\"Glyphs\"),l=yield e.l(n,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${o}-${r}`);const h={};for(const t of e.n(l.data))h[t.id]=t;return h}))},C.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:a=.25,fontFamily:s=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=a,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),h=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});h.font=`${r} ${o} ${t}px ${s}`,h.textBaseline=\"alphabetic\",h.textAlign=\"left\",h.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:a,actualBoundingBoxLeft:s,actualBoundingBoxRight:o}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-s))),l=Math.min(this.size-this.buffer,r+Math.ceil(a)),h=n+2*this.buffer,c=l+2*this.buffer,u=Math.max(h*c,0),d=new Uint8ClampedArray(u),_={data:d,width:h,height:c,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return _;const{ctx:p,buffer:m,gridInner:f,gridOuter:g}=this;p.clearRect(m,m,n,l),p.fillText(t,m,m+r);const v=p.getImageData(m,m,n,l);g.fill(I,0,u),f.fill(0,0,u);for(let t=0;t0?t*t:0,f[a]=t<0?t*t:0;}}E(g,0,0,h,c,h,this.f,this.v,this.z),E(f,m,m,n,l,h,this.f,this.v,this.z);for(let t=0;t1&&(r=t[++o]);const l=Math.abs(n-r.left),h=Math.abs(n-r.right),c=Math.min(l,h);let u;const d=e/i*(a+1);if(r.isDash){const t=a-Math.abs(d);u=Math.sqrt(c*c+t*t);}else u=a-Math.sqrt(c*c+d*d);this.data[s+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],a=t[e+1];i.zeroLength?t.splice(e,1):a&&a.isDash===i.isDash&&(a.left=i.left,t.splice(e,1));}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const a=this.width*this.nextRow;let s=0,o=t[s];for(let e=0;e1&&(o=t[++s]);const i=Math.abs(e-o.left),r=Math.abs(e-o.right),n=Math.min(i,r);this.data[a+e]=Math.max(0,Math.min(255,(o.isDash?n:-n)+128));}}addDash(t,i){const a=i?7:0,s=2*a+1;if(this.nextRow+s>this.height)return e.w(\"LineAtlas out of space\"),null;let o=0;for(let e=0;e{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[k]}numActive(){return Object.keys(this.active).length}}const F=Math.floor(o.hardwareConcurrency/2);let B,O;function N(){return B||(B=new L),B}L.workerCount=e.C(globalThis)?Math.max(Math.min(F,3),1):1;class j{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const a=this.workerPool.acquire(i);for(let t=0;t{t.remove();})),this.actors=[],t&&this.workerPool.release(this.id);}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e);}}function U(){return O||(O=new j(N(),e.G),O.registerMessageHandler(\"GR\",((t,i,a)=>e.m(i,a)))),O}function Z(t,i){const a=e.H();return e.J(a,a,[1,1,0]),e.K(a,a,[.5*t.width,.5*t.height,1]),e.L(a,a,t.calculatePosMatrix(i.toUnwrapped()))}function q(t,e,i,a,s,o){const r=function(t,e,i){if(t)for(const a of t){const t=e[a];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const a=e[t];if(a.source===i&&\"fill-extrusion\"===a.type)return !0}return !1}(s&&s.layers,e,t.id),n=o.maxPitchScaleFactor(),l=t.tilesIn(a,n,r);l.sort(V);const h=[];for(const a of l)h.push({wrappedTileID:a.tileID.wrapped().key,queryResults:a.tile.queryRenderedFeatures(e,i,t._state,a.queryGeometry,a.cameraQueryGeometry,a.scale,s,o,n,Z(t.transform,a.tileID))});const c=function(t){const e={},i={};for(const a of t){const t=a.queryResults,s=a.wrappedTileID,o=i[s]=i[s]||{};for(const i in t){const a=t[i],s=o[i]=o[i]||{},r=e[i]=e[i]||[];for(const t of a)s[t.featureIndex]||(s[t.featureIndex]=!0,r.push(t));}}return e}(h);for(const e in c)c[e].forEach((e=>{const i=e.feature,a=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=a;}));return c}function V(t,e){const i=t.tileID,a=e.tileID;return i.overscaledZ-a.overscaledZ||i.canonical.y-a.canonical.y||i.wrap-a.wrap||i.canonical.x-a.canonical.x}function G(t,i,a){return e._(this,void 0,void 0,(function*(){let s=t;if(t.url?s=(yield e.h(i.transformRequest(t.url,\"Source\"),a)).data:yield o.frameAsync(a),!s)return null;const r=e.M(e.e(s,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return \"vector_layers\"in s&&s.vector_layers&&(r.vectorLayerIds=s.vector_layers.map((t=>t.id))),r}))}class H{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])));}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const i=this._sw,a=this._ne;let s,o;if(t instanceof e.N)s=t,o=t;else {if(!(t instanceof H))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(H.convert(t)):this.extend(e.N.convert(t)):t&&(\"lng\"in t||\"lon\"in t)&&\"lat\"in t?this.extend(e.N.convert(t)):this;if(s=t._sw,o=t._ne,!s||!o)return this}return i||a?(i.lng=Math.min(s.lng,i.lng),i.lat=Math.min(s.lat,i.lat),a.lng=Math.max(o.lng,a.lng),a.lat=Math.max(o.lat,a.lat)):(this._sw=new e.N(s.lng,s.lat),this._ne=new e.N(o.lng,o.lat)),this}getCenter(){return new e.N((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 e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(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(t){const{lng:i,lat:a}=e.N.convert(t);let s=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(s=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&s}static convert(t){return t instanceof H?t:t?new H(t):t}static fromLngLat(t,i=0){const a=360*i/40075017,s=a/Math.cos(Math.PI/180*t.lat);return new H(new e.N(t.lng-s,t.lat-a),new e.N(t.lng+s,t.lat+a))}}class W{constructor(t,e,i){this.bounds=H.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||24;}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),a=Math.floor(e.O(this.bounds.getWest())*i),s=Math.floor(e.Q(this.bounds.getNorth())*i),o=Math.ceil(e.O(this.bounds.getEast())*i),r=Math.ceil(e.Q(this.bounds.getSouth())*i);return t.x>=a&&t.x=s&&t.y{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,\"Tile\"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let a=\"RT\";if(t.actor&&\"expired\"!==t.state){if(\"loading\"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i};}))}else t.actor=this.dispatcher.getActor(),a=\"LT\";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:a,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e);}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null);}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject);}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:\"AT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}hasTransition(){return !1}}class X extends e.E{constructor(t,i,a,s){super(),this.id=t,this.dispatcher=a,this.setEventedParent(s),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.M(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{const t=yield G(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new W(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t));}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}serialize(){return e.e({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield _.getImage(this.map._requestManager.transformRequest(e,\"Tile\"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,a=e.gl,s=i.data;t.texture=this.map.painter.getTileTexture(s.width),t.texture?t.texture.update(s,{useMipmap:!0}):(t.texture=new b(e,s,a.RGBA,{useMipmap:!0}),t.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST)),t.state=\"loaded\";}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController);}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture);}))}hasTransition(){return !1}}class K extends X{constructor(t,i,a,s){super(t,i,a,s),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.e({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift;}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(i,\"Tile\");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield _.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){const a=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const s=e.b(a)&&e.U()?a:yield this.readImageNow(a),o={type:this.type,uid:t.uid,source:this.id,rawImageData:s,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||\"expired\"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:\"LDT\",data:o});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state=\"loaded\";}}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof VideoFrame&&e.V()){const i=t.width+2,a=t.height+2;try{return new e.R({width:i,height:a},yield e.W(t,-1,-1,i,a))}catch(t){}}return o.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,a=Math.pow(2,i.z),s=(i.x-1+a)%a,o=0===i.x?t.wrap-1:t.wrap,r=(i.x+1+a)%a,n=i.x+1===a?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,o,i.z,s,i.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new e.S(t.overscaledZ,o,i.z,s,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(s,{resourceTiming:a}),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"metadata\"}))),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"content\"})));}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k(\"dataabort\",{dataType:\"source\"}));this.fire(new e.j(t));}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?\"RT\":\"LT\";t.actor=this.actor;const i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const a=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(a,this.map.painter,\"RT\"===e);}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0;}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}});}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}});}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var Y=e.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Q extends e.E{constructor(t,e,i,a){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=e;}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield _.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading());}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t));}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}onRemove(){this._request&&(this._request.abort(),this._request=null);}setCoordinates(t){this.coordinates=t;const i=t.map(e.Z.fromLngLat);this.tileID=function(t){let i=1/0,a=1/0,s=-1/0,o=-1/0;for(const e of t)i=Math.min(i,e.x),a=Math.min(a,e.y),s=Math.max(s,e.x),o=Math.max(o,e.y);const r=Math.max(s-i,o-a),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new e.a1(n,Math.floor((i+s)/2*l),Math.floor((a+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const a=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,e.X,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,e.X),this._boundsArray.emplaceBack(a[2].x,a[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state=\"errored\";}))}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class tt extends Q{constructor(t,e,i,a){super(t,e,i,a),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,\"Source\").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading();}catch(t){this.fire(new e.j(t));}}))}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.j(new e.a2(`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(t){this.map||(this.map=t,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.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),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 b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class et extends Q{constructor(t,i,a,s){super(t,i,a,s),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new e.j(new e.a2(`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.j(new e.a2(`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.j(new e.a2(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){return e._(this,void 0,void 0,(function*(){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.j(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(t){this.map=t,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,a=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,a.RGBA,{premultiply:!0});let s=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,s=!0);}s&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of [this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return !0;return !1}}const it={},at=t=>{switch(t){case\"geojson\":return J;case\"image\":return Q;case\"raster\":return X;case\"raster-dem\":return K;case\"vector\":return $;case\"video\":return tt;case\"canvas\":return et}return it[t]},st=\"RTLPluginLoaded\";class ot extends e.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=U();}_syncState(t){return this.status=t,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status=\"error\",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null;}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=o.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if(\"unavailable\"===this.status){if(!e)return this._requestImport();this.status=\"deferred\",this._syncState(this.status);}else if(\"requested\"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new e.k(st));}))}lazyLoad(){\"unavailable\"===this.status?this.status=\"requested\":\"deferred\"===this.status&&this._requestImport();}}let rt=null;function nt(){return rt||(rt=new ot),rt}class lt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){a.layers=t,a.stateDependentLayerIds&&(a.stateDependentLayers=a.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=a;}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6){if(this.hasSymbolBuckets=!0,!a)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.a6&&i.hasRTLText){this.hasRTLText=!0,nt().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new e.a5;}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,a,s,o,r,n,l,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:a,cameraQueryGeometry:s,scale:o,tileSize:this.tileSize,pixelPosMatrix:h,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const s=a.loadVTLayers(),o=i&&i.sourceLayer?i.sourceLayer:\"\",r=s._geojsonTileLayer||s[o];if(!r)return;const n=e.a7(i&&i.filter),{z:l,x:h,y:c}=this.tileID.canonical,u={z:l,x:h,y:c};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,s);}),i)),this.data[a].push(s),this.order.push(a),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,a=void 0===e?0:this.data[i].indexOf(e),s=this.data[i][a];return this.data[i].splice(a,1),s.timeout&&clearTimeout(s.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(s.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const a of this.data[i])t(a.value)||e.push(a);for(const t of e)this.remove(t.value.tileID,t);}}class ct{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(t,i,a){const s=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][s]=this.stateChanges[t][s]||{},e.e(this.stateChanges[t][s],a),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==s&&(this.deletedStates[t][e]=null);}else if(this.deletedStates[t]&&null===this.deletedStates[t][s]){this.deletedStates[t][s]={};for(const e in this.state[t][s])a[e]||(this.deletedStates[t][s][e]=null);}else for(const e in a)this.deletedStates[t]&&this.deletedStates[t][s]&&null===this.deletedStates[t][s][e]&&delete this.deletedStates[t][s][e];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const a=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][a]&&(this.deletedStates[t][a]=this.deletedStates[t][a]||{},this.deletedStates[t][a][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][a])for(i in this.deletedStates[t][a]={},this.stateChanges[t][a])this.deletedStates[t][a][i]=null;else this.deletedStates[t][a]=null;else this.deletedStates[t]=null;}getState(t,i){const a=String(i),s=e.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);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 s[t];}return s}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(t,i){const a={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const a in this.stateChanges[t])this.state[t][a]||(this.state[t][a]={}),e.e(this.state[t][a],this.stateChanges[t][a]),i[a]=this.state[t][a];a[t]=i;}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e];}a[t]=a[t]||{},e.e(a[t],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(a).length)for(const e in t)t[e].setFeatureState(a,i);}}class ut extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on(\"data\",(t=>this._dataHandler(t))),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=((t,e,i,a)=>{const s=new(at(e.type))(t,e,i,a);if(s.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${s.id}`);return s})(t,e,i,this),this._tiles={},this._cache=new ht(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ct,this._didEmitContent=!1,this._updated=!1;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t);}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return !0;if(!this._updated)return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}_loadTile(t,i,a){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,a);}catch(i){t.state=\"errored\",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain);}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t);}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k(\"dataabort\",{tile:t,coord:t.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(dt).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const a=t.tileID,s=i.tileID,o=new e.P(a.canonical.x,a.canonical.y)._rotate(this.transform.angle),r=new e.P(s.canonical.x,s.canonical.y)._rotate(this.transform.angle);return a.overscaledZ-s.overscaledZ||r.y-o.y||r.x-o.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(dt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&(\"loading\"!==e.state&&(e.state=i),yield this._loadTile(e,t,i));}))}_tileLoaded(t,i,a){t.timeAdded=o.now(),\"expired\"===a&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let a=0;a1||(Math.abs(i)>1&&(1===Math.abs(i+s)?i+=s:1===Math.abs(i-s)&&(i-=s)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,a),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,a){for(const s in this._tiles){let o=this._tiles[s];if(a[s]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let r=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){a[r.key]=r;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),a=this._getLoadedTile(e);if(a)return a}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,s=Math.floor(i*a*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),o=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(o);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),t[a.tileID.key]=a;}this._tiles=t;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]);}}_updateCoveredAndRetainedTiles(t,e,i,a,s,r){const n={},l={},h=Object.keys(t),c=o.now();for(const i of h){const a=t[i],s=this._tiles[i];if(!s||0!==s.fadeEndTime&&s.fadeEndTime<=c)continue;const o=this.findLoadedParent(a,e),r=this.findLoadedSibling(a),h=o||r||null;h&&(this._addTile(h.tileID),n[h.tileID.key]=h.tileID),l[i]=a;}this._retainLoadedChildren(l,a,i,t);for(const e in n)t[e]||(this._coveredTiles[e]=!0,t[e]=n[e]);if(r){const e={},i={};for(const t of s)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const a in i){const s=i[a].children(this._source.maxzoom);this._tiles[s[0].key]&&this._tiles[s[1].key]&&this._tiles[s[2].key]&&this._tiles[s[3].key]&&(e[s[0].key]=t[s[0].key]=s[0],e[s[1].key]=t[s[1].key]=s[1],e[s[2].key]=t[s[2].key]=s[2],e[s[3].key]=t[s[3].key]=s[3],delete i[a]);}for(const a in i){const s=i[a],o=this.findLoadedParent(s,this._source.minzoom),r=this.findLoadedSibling(s),n=o||r||null;if(n){e[n.tileID.key]=t[n.tileID.key]=n.tileID;for(const t in e)e[t].isChildOf(n.tileID)&&delete e[t];}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0);}}update(t,i){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(a=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(a=a.filter((t=>this._source.hasTile(t))))):a=[];const s=t.coveringZoomLevel(this._source),o=Math.max(s-ut.maxOverzooming,this._source.minzoom),r=Math.max(s+ut.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of a)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const a=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[a.key]=a;}a=a.concat(Object.values(t));}const n=0===a.length&&!this._updated&&this._didEmitContent;this._updated=!0,n&&this.fire(new e.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(a,s);_t(this._source.type)&&this._updateCoveredAndRetainedTiles(l,o,r,s,a,i);for(const t in l)this._tiles[t].clearFadeHold();const h=e.ab(this._tiles,l);for(const t of h){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){var i;const a={},s={},o=Math.max(e-ut.maxOverzooming,this._source.minzoom),r=Math.max(e+ut.maxUnderzooming,this._source.minzoom),n={};for(const i of t){const t=this._addTile(i);a[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=r.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){a[t.key]=t;continue}}else {const t=r.children(this._source.maxzoom);if(a[t[0].key]&&a[t[1].key]&&a[t[2].key]&&a[t[3].key])continue}let n=t.wasRequested();for(let e=r.overscaledZ-1;e>=o;--e){const o=r.scaledTo(e);if(s[o.key])break;if(s[o.key]=!0,t=this.getTile(o),!t&&n&&(t=this._addTile(o)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||n)&&(a[o.key]=o),n=t.wasRequested(),e)break}}}return a}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,a=this._tiles[t].tileID;for(;a.overscaledZ>0;){if(a.key in this._loadedParentTiles){i=this._loadedParentTiles[a.key];break}e.push(a.key);const t=a.scaledTo(a.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;a=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i;}}_addTile(t){let i=this._tiles[t.key];if(i)return 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 a=i;return i||(i=new lt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,a||this._source.fire(new e.k(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}_dataHandler(t){const e=t.sourceDataType;\"source\"===t.dataType&&\"metadata\"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0);}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(t,i,a){const s=[],o=this.transform;if(!o)return s;const r=a?o.getCameraQueryGeometry(t):t,n=t.map((t=>o.pointCoordinate(t,this.terrain))),l=r.map((t=>o.pointCoordinate(t,this.terrain))),h=this.getIds();let c=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)c=Math.min(c,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let t=0;t=0&&f[1].y+m>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));s.push({tile:a,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:p});}}return s}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(_t(this._source.type)){const t=o.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return !0}return !1}setFeatureState(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,i){const a=this._tiles[t];a&&a.setDependencies(e,i);}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((i=>!i.hasDependency(t,e)));}}function dt(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),a=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||a-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function _t(t){return \"raster\"===t||\"image\"===t||\"video\"===t}ut.maxOverzooming=10,ut.maxUnderzooming=3;class pt{constructor(t,e){this.reset(t,e);}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(s-r)/n:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}function mt(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class ft{constructor(t,e,i){const a=this.boxCells=[],s=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||a<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=a){if(s)return [{key:null,x1:t,y1:e,x2:i,y2:a}];for(let t=0;t0}hitTestCircle(t,e,i,a,s){const o=t-i,r=t+i,n=e-i,l=e+i;if(r<0||o>this.width||l<0||n>this.height)return !1;const h=[];return this._forEachCell(o,n,r,l,this._queryCellCircle,h,{hitTest:!0,overlapMode:a,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},s),h.length>0}_queryCell(t,e,i,a,s,o,r,n){const{seenUids:l,hitTest:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const s=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=s[u+2]&&e<=s[u+3]&&i>=s[u+0]&&a>=s[u+1]&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))&&(o.push({key:d,x1:s[u],y1:s[u+1],x2:s[u+2],y2:s[u+3]}),h))return !0}}const d=this.circleCells[s];if(null!==d){const s=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(s[u],s[u+1],s[u+2],t,e,i,a)&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))){const t=s[u],e=s[u+1],i=s[u+2];if(o.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),h)return !0}}}return !1}_queryCellCircle(t,e,i,a,s,o,r,n){const{circle:l,seenUids:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const t=this.bboxes;for(const e of u)if(!h.box[e]){h.box[e]=!0;const i=4*e,a=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!n||n(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}const d=this.circleCells[s];if(null!==d){const t=this.circles;for(const e of d)if(!h.circle[e]){h.circle[e]=!0;const i=3*e,a=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}}_forEachCell(t,e,i,a,s,o,r,n){const l=this._convertToXCellCoord(t),h=this._convertToYCellCoord(e),c=this._convertToXCellCoord(i),u=this._convertToYCellCoord(a);for(let d=l;d<=c;d++)for(let l=h;l<=u;l++)if(s.call(this,t,e,i,a,this.xCellCount*l+d,o,r,n))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,a,s,o){const r=a-t,n=s-e,l=i+o;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,a,s,o,r){const n=(o-a)/2,l=Math.abs(t-(a+n));if(l>n+i)return !1;const h=(r-s)/2,c=Math.abs(e-(s+h));if(c>h+i)return !1;if(l<=n||c<=h)return !0;const u=l-n,d=c-h;return u*u+d*d<=i*i}}function gt(t,i,a,s,o){const r=e.H();return i?(e.K(r,r,[1/o,1/o,1]),a||e.ad(r,r,s.angle)):e.L(r,s.labelPlaneMatrix,t),r}function vt(t,i,a,s,o){if(i){const i=e.ae(t);return e.K(i,i,[o,o,1]),a||e.ad(i,i,-s.angle),i}return s.glCoordMatrix}function xt(t,i,a){let s;a?(s=[t.x,t.y,a(t.x,t.y),1],e.af(s,s,i)):(s=[t.x,t.y,0,1],function(t,e,i){const a=e[0],s=e[1];t[0]=i[0]*a+i[4]*s+i[12],t[1]=i[1]*a+i[5]*s+i[13],t[3]=i[3]*a+i[7]*s+i[15];}(s,s,i));const o=s[3];return {point:new e.P(s[0]/o,s[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function yt(t,e){return .5+t/e*.5}function bt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function wt(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m){const f=s?t.textSizeData:t.iconSizeData,g=e.ag(f,a.transform.zoom),v=[256/a.width*2+1,256/a.height*2+1],x=s?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const y=t.lineVertexArray,b=s?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=a.transform.width/a.transform.height;let T=!1;for(let s=0;sMath.abs(a.x-i.x)*s?{useVertical:!0}:(t===e.ah.vertical?i.ya.x)?{needsFlipping:!0}:null}function Et(t,i,a,s,o,r,n,l,h,c,u){const d=a/24,_=i.lineOffsetX*d,p=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,a=i.lineStartIndex,r=i.lineStartIndex+i.lineLength,h=Tt(d,l,_,p,s,i,u,t);if(!h)return {notEnoughRoom:!0};const f=xt(h.first.point,n,t.getElevation).point,g=xt(h.last.point,n,t.getElevation).point;if(o&&!s){const t=It(i.writingMode,f,g,c);if(t)return t}m=[h.first];for(let o=i.glyphStartIndex+1;o0?n.point:function(t,e,i,a,s,o){return Pt(t,e,i,1,s,o)}(t.tileAnchorPoint,o,a,0,r,t),h=It(i.writingMode,a,l,c);if(h)return h}const a=Mt(d*l.getoffsetX(i.glyphStartIndex),_,p,s,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!a||t.projectionCache.anyProjectionOccluded)return {notEnoughRoom:!0};m=[a];}for(const t of m)e.aj(h,t.point,t.angle);return {}}function Pt(t,e,i,a,s,o){const r=t.add(t.sub(e)._unit()),n=void 0!==s?xt(r,s,o.getElevation).point:St(r.x,r.y,o).point,l=i.sub(n);return i.add(l._mult(a/l.mag()))}function Ct(t,i,a){const s=i.projectionCache;if(s.projections[t])return s.projections[t];const o=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),r=St(o.x,o.y,i);if(r.signedDistanceFromCamera>0)return s.projections[t]=r.point,s.anyProjectionOccluded=s.anyProjectionOccluded||r.isOccluded,r.point;const n=t-a.direction;return function(t,e,i,a,s){return Pt(t,e,i,a,void 0,s)}(0===a.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(n),i.lineVertexArray.gety(n)),o,a.previousVertex,a.absOffsetX-a.distanceFromAnchor+1,i)}function St(t,i,a){const s=t+a.translation[0],o=i+a.translation[1];let r;return !a.pitchWithMap&&a.projection.useSpecialProjectionForSymbols?(r=a.projection.projectTileCoordinates(s,o,a.unwrappedTileID,a.getElevation),r.point.x=(.5*r.point.x+.5)*a.width,r.point.y=(.5*-r.point.y+.5)*a.height):(r=xt(new e.P(s,o),a.labelPlaneMatrix,a.getElevation),r.isOccluded=!1),r}function zt(t,e,i){return t._unit()._perp()._mult(e*i)}function Dt(t,i,a,s,o,r,n,l,h){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const c=a.add(i);if(t+h.direction=o)return l.projectionCache.offsets[t]=c,c;const u=Ct(t+h.direction,l,h),d=zt(u.sub(a),n,h.direction),_=a.add(d),p=u.add(d);return l.projectionCache.offsets[t]=e.ak(r,c,_,p)||c,l.projectionCache.offsets[t]}function Mt(t,e,i,a,s,o,r,n,l){const h=a?t-e:t+e;let c=h>0?1:-1,u=0;a&&(c*=-1,u=Math.PI),c<0&&(u+=Math.PI);let d,_=c>0?o+s:o+s+1;n.projectionCache.cachedAnchorPoint?d=n.projectionCache.cachedAnchorPoint:(d=St(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,n.projectionCache.cachedAnchorPoint=d);let p,m,f=d,g=d,v=0,x=0;const y=Math.abs(h),b=[];let w;for(;v+x<=y;){if(_+=c,_=r)return null;v+=x,g=f,m=p;const t={absOffsetX:y,direction:c,distanceFromAnchor:v,previousVertex:g};if(f=Ct(_,n,t),0===i)b.push(g),w=f.sub(g);else {let e;const a=f.sub(g);e=0===a.mag()?zt(Ct(_+c,n,t).sub(f),i,c):zt(a,i,c),m||(m=g.add(e)),p=Dt(_,e,f,o,r,m,i,n,t),b.push(m),w=p.sub(m);}x=w.mag();}const T=w._mult((y-v)/x)._add(m||g),I=u+Math.atan2(f.y-g.y,f.x-g.x);return b.push(T),{point:T,angle:l?I:0,path:b}}const At=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let i=0;i=1;t--)l.push(r.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=a.x&&i.x<=s.x&&t.y>=a.y&&i.y<=s.y?[l]:i.xs.x||i.ys.y?[]:e.al([l],a.x,a.y,s.x,s.y);}for(const e of m){o.reset(e,.25*i);let a=0;a=o.length<=.5*i?1:Math.ceil(o.paddedLength/u)+1;for(let e=0;ext(t,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};const i=[];let a=1/0,s=1/0,o=-1/0,r=-1/0;for(const n of t){const t=new e.P(n.x+kt,n.y+kt);a=Math.min(a,t.x),s=Math.min(s,t.y),o=Math.max(o,t.x),r=Math.max(r,t.y),i.push(t);}const n=this.grid.query(a,s,o,r).concat(this.ignoredGrid.query(a,s,o,r)),l={},h={};for(const t of n){const a=t.key;if(void 0===l[a.bucketInstanceId]&&(l[a.bucketInstanceId]={}),l[a.bucketInstanceId][a.featureIndex])continue;const s=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.am(i,s)&&(l[a.bucketInstanceId][a.featureIndex]=!0,void 0===h[a.bucketInstanceId]&&(h[a.bucketInstanceId]=[]),h[a.bucketInstanceId].push(a.featureIndex));}return h}insertCollisionBox(t,e,i,a,s,o){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e},t[0],t[1],t[2],t[3]);}insertCollisionCircles(t,e,i,a,s,o){const r=i?this.ignoredGrid:this.grid,n={bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e};for(let e=0;e=this.screenRightBoundary||athis.screenBottomBoundary}isInsideGrid(t,e,i,a){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(a,t.x,t.y,s,h)));E=t.some((t=>!t.isOccluded)),I=t.map((t=>t.point));}else E=!0;return {box:e.ao(I),allPointsOccluded:!E}}}function Ft(t,i,a){return i*(e.X/(t.tileSize*Math.pow(2,a-t.tileID.overscaledZ)))}class Bt{constructor(t,e,i,a){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):a&&i?1:0,this.placed=i;}isHidden(){return 0===this.opacity&&!this.placed}}class Ot{constructor(t,e,i,a,s){this.text=new Bt(t?t.text:null,e,i,s),this.icon=new Bt(t?t.icon:null,e,a,s);}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Nt{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i;}}class jt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[];}}class Ut{constructor(t,e,i,a,s){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=a,this.tileID=s;}}class Zt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};}get(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e};}return this.collisionGroups[t]}}function qt(t,i,a,s,o){const{horizontalAlign:r,verticalAlign:n}=e.au(t);return new e.P(-(r-.5)*i+s[0]*o,-(n-.5)*a+s[1]*o)}class Vt{constructor(t,e,i,a,s,o){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Lt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=a,this.retainedQueryData={},this.collisionGroups=new Zt(s),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,a)=>e.getElevation(t,i,a):null}getBucketParts(t,i,a,s){const o=a.getBucket(i),r=a.latestFeatureIndex;if(!o||!r||i.id!==o.layerIds[0])return;const n=a.collisionBoxArray,l=o.layers[0].layout,h=o.layers[0].paint,c=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),u=a.tileSize/e.X,d=a.tileID.toUnwrapped(),_=this.transform.calculatePosMatrix(d),p=\"map\"===l.get(\"text-pitch-alignment\"),m=\"map\"===l.get(\"text-rotation-alignment\"),f=Ft(a,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"text-translate\"),h.get(\"text-translate-anchor\")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"icon-translate\"),h.get(\"icon-translate-anchor\")),x=gt(_,p,m,this.transform,f);let y=null;if(p){const t=vt(_,p,m,this.transform,f);y=e.L([],this.transform.labelPlaneMatrix,t);}this.retainedQueryData[o.bucketInstanceId]=new Ut(o.bucketInstanceId,r,o.sourceLayerIndex,o.index,a.tileID);const b={bucket:o,layout:l,translationText:g,translationIcon:v,posMatrix:_,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:y,scale:c,textPixelRatio:u,holdingForFade:a.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:e.ag(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(s)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s}=e;t.push({sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s,parameters:b});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:b});}attemptAnchorPlacement(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g,v,x){const y=e.aq[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=qt(y,a,s,b,o),T=this.collisionIndex.placeCollisionBox(i,d,l,h,c,n,r,f,u.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,d,l,h,c,n,r,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID].text&&(t=this.prevPlacement.variableOffsets[_.crossTileID].anchor),0===_.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[_.crossTileID]={textOffset:b,width:a,height:s,anchor:y,textBoxScale:o,prevAnchor:t},this.markUsedJustification(p,y,_,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,_),this.placedOrientations[_.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,a){const{bucket:s,layout:o,translationText:r,translationIcon:n,posMatrix:l,unwrappedTileID:h,textLabelPlaneMatrix:c,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:_,collisionBoxArray:p,partiallyEvaluatedTextSize:m,collisionGroup:f}=t.parameters,g=o.get(\"text-optional\"),v=o.get(\"icon-optional\"),x=e.ar(o,\"text-overlap\",\"text-allow-overlap\"),y=\"always\"===x,b=e.ar(o,\"icon-overlap\",\"icon-allow-overlap\"),w=\"always\"===b,T=\"map\"===o.get(\"text-rotation-alignment\"),I=\"map\"===o.get(\"text-pitch-alignment\"),E=\"none\"!==o.get(\"icon-text-fit\"),P=\"viewport-y\"===o.get(\"symbol-z-order\"),C=y&&(w||!s.hasIconData()||v),S=w&&(y||!s.hasTextData()||g);!s.collisionArrays&&p&&s.deserializeCollisionBoxes(p);const z=this._getTerrainElevationFunc(this.retainedQueryData[s.bucketInstanceId].tileID),D=(t,p,w)=>{var P,D;if(i[t.crossTileID])return;if(_)return void(this.placements[t.crossTileID]=new Nt(!1,!1,!1));let M=!1,A=!1,R=!0,k=null,L={box:null,placeable:!1,offscreen:null},F={box:null,placeable:!1,offscreen:null},B=null,O=null,N=null,j=0,U=0,Z=0;p.textFeatureIndex?j=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),p.verticalTextFeatureIndex&&(U=p.verticalTextFeatureIndex);const q=p.textBox;if(q){const i=i=>{let a=e.ah.horizontal;if(s.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,a=e,this.markUsedOrientation(s,a,t));}return a},o=(i,a)=>{if(s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&p.verticalTextBox){for(const t of s.writingModes)if(t===e.ah.vertical?(L=a(),F=L):L=i(),L&&L.placeable)break}else L=i();},c=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===c){const a=(e,i)=>{const a=this.collisionIndex.placeCollisionBox(e,x,d,l,h,I,T,r,f.predicate,z);return a&&a.placeable&&(this.markUsedOrientation(s,i,t),this.placedOrientations[t.crossTileID]=i),a};o((()=>a(q,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?a(i,e.ah.vertical):{box:null,offscreen:null}})),i(L&&L.placeable);}else {let _=e.aq[null===(D=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===D?void 0:D.anchor];const m=(i,o,p)=>{const m=i.x2-i.x1,g=i.y2-i.y1,v=t.textBoxScale,y=E&&\"never\"===b?o:null;let w=null,P=\"never\"===x?1:2,C=\"never\";_&&P++;for(let e=0;em(q,p.iconBox,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&(!L||!L.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,p.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}})),L&&(M=L.placeable,R=L.offscreen);const g=i(L&&L.placeable);if(!M&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(s,e.anchor,t,g));}}}if(B=L,M=B&&B.placeable,R=B&&B.offscreen,t.useRuntimeCollisionCircles){const i=s.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),n=e.ai(s.textSizeData,m,i),d=o.get(\"text-padding\");O=this.collisionIndex.placeCollisionCircles(x,i,s.lineVertexArray,s.glyphOffsetArray,n,l,h,c,u,a,I,f.predicate,t.collisionCircleDiameter,d,r,z),O.circles.length&&O.collisionDetected&&!a&&e.w(\"Collisions detected, but collision boxes are not shown\"),M=y||O.circles.length>0&&!O.collisionDetected,R=R&&O.offscreen;}if(p.iconFeatureIndex&&(Z=p.iconFeatureIndex),p.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,h,I,T,n,f.predicate,z,E&&k?k:void 0);F&&F.placeable&&p.verticalIconBox?(N=t(p.verticalIconBox),A=N.placeable):(N=t(p.iconBox),A=N.placeable),R=R&&N.offscreen;}const V=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;V||G?G?V||(A=A&&M):M=A&&M:A=M=A&&M;const H=A&&N.placeable;if(M&&B.placeable&&this.collisionIndex.insertCollisionBox(B.box,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,F&&F.placeable&&U?U:j,f.ID),H&&this.collisionIndex.insertCollisionBox(N.box,b,o.get(\"icon-ignore-placement\"),s.bucketInstanceId,Z,f.ID),O&&M&&this.collisionIndex.insertCollisionCircles(O.circles,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,j,f.ID),a&&this.storeCollisionData(s.bucketInstanceId,w,p,B,N,O),0===t.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(0===s.bucketInstanceId)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[t.crossTileID]=new Nt(M||C,A||S,R||s.justReloaded),i[t.crossTileID]=!0;};if(P){if(0!==t.symbolInstanceStart)throw new Error(\"bucket.bucketInstanceId should be 0\");const e=s.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];D(s.symbolInstances.get(i),s.collisionArrays[i],i);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:a.crossTileID);}markUsedOrientation(t,i,a){const s=i===e.ah.horizontal||i===e.ah.horizontalOnly?i:0,o=i===e.ah.vertical?i:0,r=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const e of r)t.text.placedSymbolArray.get(e).placedOrientation=s;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=o);}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const a=e?e.symbolFadeChange(t):1,s=e?e.opacities:{},o=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=s[t];o?(this.opacities[t]=new Ot(o,a,e.text,e.icon),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new Ot(null,a,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in s){const e=s[t];if(!this.opacities[t]){const s=new Ot(e,a,!1,!1);s.isHidden()||(this.opacities[t]=s,i=i||e.text.placed||e.icon.placed);}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error(\"Last placement time for previous placement is not defined\");i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const a of e){const e=a.getBucket(t);e&&a.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,a.tileID,i,a.collisionBoxArray);}}updateBucketOpacities(t,i,a,s){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const o=t.layers[0],r=o.layout,n=new Ot(null,0,!1,!1,!0),l=r.get(\"text-allow-overlap\"),h=r.get(\"icon-allow-overlap\"),c=o._unevaluatedLayout.hasValue(\"text-variable-anchor\")||o._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),u=\"map\"===r.get(\"text-rotation-alignment\"),d=\"map\"===r.get(\"text-pitch-alignment\"),_=\"none\"!==r.get(\"icon-text-fit\"),p=new Ot(null,0,l&&(h||!t.hasIconData()||r.get(\"icon-optional\")),h&&(l||!t.hasTextData()||r.get(\"text-optional\")),!0);!t.collisionArrays&&s&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(s);const m=(t,e,i)=>{for(let a=0;a0,v=this.placedOrientations[s.crossTileID],x=v===e.ah.vertical,y=v===e.ah.horizontal||v===e.ah.horizontalOnly;if(o>0||r>0){const e=Qt(h.text);m(t.text,o,x?te:e),m(t.text,r,y?te:e);const i=h.text.isHidden();[s.rightJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0);})),s.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(s.verticalPlacedTextSymbolIndex).hidden=i||y?1:0);const a=this.variableOffsets[s.crossTileID];a&&this.markUsedJustification(t,a.anchor,s,v);const n=this.placedOrientations[s.crossTileID];n&&(this.markUsedJustification(t,\"left\",s,n),this.markUsedOrientation(t,n,s));}if(g){const e=Qt(h.icon),i=!(_&&s.verticalPlacedIconSymbolIndex&&x);s.placedIconSymbolIndex>=0&&(m(t.icon,s.numIconVertices,i?e:te),t.icon.placedSymbolArray.get(s.placedIconSymbolIndex).hidden=h.icon.isHidden()),s.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,s.numVerticalIconVertices,i?te:e),t.icon.placedSymbolArray.get(s.verticalPlacedIconSymbolIndex).hidden=h.icon.isHidden());}const b=f&&f.has(i)?f.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const a=t.collisionArrays[i];if(a){let i=new e.P(0,0);if(a.textBox||a.verticalTextBox){let e=!0;if(c){const t=this.variableOffsets[l];t?(i=qt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1;}if(a.textBox||a.verticalTextBox){let s;a.textBox&&(s=x),a.verticalTextBox&&(s=y),Gt(t.textCollisionBox.collisionVertexArray,h.text.placed,!e||s,b.text,i.x,i.y);}}if(a.iconBox||a.verticalIconBox){const e=Boolean(!y&&a.verticalIconBox);let s;a.iconBox&&(s=e),a.verticalIconBox&&(s=!e),Gt(t.iconCollisionBox.collisionVertexArray,h.icon.placed,s,b.icon,_?i.x:0,_?i.y:0);}}}}if(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.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(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(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function Gt(t,e,i,a,s,o){a&&0!==a.length||(a=[0,0,0,0]);const r=a[0]-kt,n=a[1]-kt,l=a[2]-kt,h=a[3]-kt;t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,h),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,h);}const Ht=Math.pow(2,25),Wt=Math.pow(2,24),$t=Math.pow(2,17),Xt=Math.pow(2,16),Kt=Math.pow(2,9),Jt=Math.pow(2,8),Yt=Math.pow(2,1);function Qt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Ht+e*Wt+i*$t+e*Xt+i*Kt+e*Jt+i*Yt+e}const te=0;function ee(){return {isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return !1},projectTileCoordinates(t,e,i,a){throw new Error(\"Not implemented.\")},translatePosition:(t,e,i,a)=>function(t,e,i,a,s=!1){if(!i[0]&&!i[1])return [0,0];const o=s?\"map\"===a?t.angle:0:\"viewport\"===a?-t.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e];}return [s?i[0]:Ft(e,i[0],t.zoom),s?i[1]:Ft(e,i[1],t.zoom)]}(t,e,i,a),getCircleRadiusCorrection:t=>1}}class ie{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];}continuePlacement(t,e,i,a,s){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&o.now()-a>2;for(;this._currentPlacementIndex>=0;){const a=e[t[this._currentPlacementIndex]],o=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===a.type&&(!a.minzoom||a.minzoom<=o)&&(!a.maxzoom||a.maxzoom>o)){if(this._inProgressLayer||(this._inProgressLayer=new ie(a)),this._inProgressLayer.continuePlacement(i[a.source],this.placement,this._showCollisionBoxes,a,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const se=512/e.X/2;class oe{constructor(t,i,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const s=new Map;for(let t=0;t({x:Math.floor(t.anchorX*se),y:Math.floor(t.anchorY*se)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(a.positions.length>128){const t=new e.av(a.positions.length,16,Uint16Array);for(const{x:e,y:i}of a.positions)t.add(e,i);t.finish(),delete a.positions,a.index=t;}this._symbolsByKey[t]=a;}}getScaledCoordinates(t,i){const{x:a,y:s,z:o}=this.tileID.canonical,{x:r,y:n,z:l}=i.canonical,h=se/Math.pow(2,l-o),c=(n*e.X+t.anchorY)*h,u=s*e.X*se;return {x:Math.floor((r*e.X+t.anchorX)*h-a*e.X*se),y:Math.floor(c-u)}}findMatches(t,e,i){const a=this.tileID.canonical.zt))}}class re{constructor(){this.maxCrossTileID=0;}generate(){return ++this.maxCrossTileID}}class ne{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],a={};for(const t in i){const s=i[t];s.tileID=s.tileID.unwrapTo(s.tileID.wrap+e),a[s.tileID.key]=s;}this.indexes[t]=a;}this.lng=t;}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(let t=0;tt.overscaledZ)for(const i in s){const o=s[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,a);}else {const o=s[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,a);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}const he=(t,i)=>e.t(t,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),ce=e.aw();class ue extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||this.sourceCaches[t].reload();}},this.map=t,this.dispatcher=new j(N(),t._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler(\"GI\",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new C(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new le,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",e.ay()),nt().on(st,this._rtlPluginLoaded),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),i.validate=\"boolean\"!=typeof i.validate||i.validate;const s=this.map._requestManager.transformRequest(t,\"Style\");this._loadStyleRequest=new AbortController;const o=this._loadStyleRequest;e.h(s,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,a);})).catch((t=>{this._loadStyleRequest=null,t&&!o.signal.aborted&&this.fire(new e.j(t));}));}loadJSON(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,a);})).catch((()=>{}));}loadEmpty(){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._load(ce,{validate:!1});}_load(t,i,a){var s;const o=i.transformStyle?i.transformStyle(a,t):t;if(!i.validate||!he(this,e.u(o))){this._loaded=!0,this.stylesheet=o;for(const t in o.sources)this.addSource(t,o.sources[t],{validate:!1});o.sprite?this._loadSprite(o.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(o.glyphs),this._createLayers(),this.light=new D(this.stylesheet.light),this.sky=new A(this.stylesheet.sky),this.map.setTerrain(null!==(s=this.stylesheet.terrain)&&void 0!==s?s:null),this.fire(new e.k(\"data\",{dataType:\"style\"})),this.fire(new e.k(\"style.load\"));}}_createLayers(){const t=e.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aA(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t;}}_loadSprite(t,i=!1,a=void 0){let s;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const r=x(t),n=a>1?\"@2x\":\"\",l={},h={};for(const{id:t,url:a}of r){const o=i.transformRequest(y(a,n,\".json\"),\"SpriteJSON\");l[t]=e.h(o,s);const r=i.transformRequest(y(a,n,\".png\"),\"SpriteImage\");h[t]=_.getImage(r,s);}return yield Promise.all([...Object.values(l),...Object.values(h)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const a in t){e[a]={};const s=o.getImageCanvasContext((yield i[a]).data),r=(yield t[a]).data;for(const t in r){const{width:i,height:o,x:n,y:l,sdf:h,pixelRatio:c,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m}=r[t];e[a][t]={data:null,pixelRatio:c,sdf:h,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m,spriteData:{width:i,height:o,x:n,y:l,context:s}};}}return e}))}(l,h)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const a=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of a)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const a in t[e]){const s=\"default\"===e?a:`${e}:${a}`;this._spritesImagesIds[e].push(s),s in this.imageManager.images?this.imageManager.updateImage(s,t[e][a],!1):this.imageManager.addImage(s,t[e][a]),i&&(this._changedImages[s]=!0);}}})).catch((t=>{this._spriteRequest=null,s=t,this.fire(new e.j(s));})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"})),a&&a(s);}));}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const a=t.sourceLayer;if(!a)return;const s=i.getSource();(\"geojson\"===s.type||s.vectorLayerIds&&-1===s.vectorLayerIds.indexOf(a))&&this.fire(new e.j(new Error(`Source layer \"${a}\" does not exist on source \"${s.id}\" as specified by style layer \"${t.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeByIds(t,i=!1){const a=this._serializedAllLayers();if(!t||0===t.length)return Object.values(i?e.aB(a):a);const s=[];for(const o of t)if(a[o]){const t=i?e.aB(a[o]):a[o];s.push(t);}return s}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];\"custom\"!==e.type&&(t[i]=e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;if(this.sky&&this.sky.hasTransition())return !0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if(\"reload\"===e)this._reloadSource(t);else {if(\"clear\"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t);}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates();}const a={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];a[t]=e.used,e.used=!1;}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const t in a){const i=this.sourceCaches[t];!!a[t]!=!!i.used&&i.fire(new e.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:t}));}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1;}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(t,!1),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1;}setState(t,i={}){var a;this._checkLoaded();const s=this.serialize();if(t=i.transformStyle?i.transformStyle(s,t):t,(null===(a=i.validate)||void 0===a||a)&&he(this,e.u(t)))return !1;(t=e.aB(t)).layers=e.az(t.layers);const o=e.aC(s,t),r=this._getOperationsToPerform(o);if(r.unimplemented.length>0)throw new Error(`Unimplemented: ${r.unimplemented.join(\", \")}.`);if(0===r.operations.length)return !1;for(const t of r.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const a of t)switch(a.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":e.push((()=>this.addLayer.apply(this,a.args)));break;case\"removeLayer\":e.push((()=>this.removeLayer.apply(this,a.args)));break;case\"setPaintProperty\":e.push((()=>this.setPaintProperty.apply(this,a.args)));break;case\"setLayoutProperty\":e.push((()=>this.setLayoutProperty.apply(this,a.args)));break;case\"setFilter\":e.push((()=>this.setFilter.apply(this,a.args)));break;case\"addSource\":e.push((()=>this.addSource.apply(this,a.args)));break;case\"removeSource\":e.push((()=>this.removeSource.apply(this,a.args)));break;case\"setLayerZoomRange\":e.push((()=>this.setLayerZoomRange.apply(this,a.args)));break;case\"setLight\":e.push((()=>this.setLight.apply(this,a.args)));break;case\"setGeoJSONSourceData\":e.push((()=>this.setGeoJSONSourceData.apply(this,a.args)));break;case\"setGlyphs\":e.push((()=>this.setGlyphs.apply(this,a.args)));break;case\"setSprite\":e.push((()=>this.setSprite.apply(this,a.args)));break;case\"setSky\":e.push((()=>this.setSky.apply(this,a.args)));break;case\"setTerrain\":e.push((()=>this.map.setTerrain.apply(this,a.args)));break;case\"setTransition\":e.push((()=>{}));break;default:i.push(a.command);}return {operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t);}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,a={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source \"${t}\" already exists.`);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(e.u.source,`sources.${t}`,i,null,a))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const s=this.sourceCaches[t]=new ut(t,i,this.dispatcher);s.style=this,s.setEventedParent(this,(()=>({isSourceLoaded:s.loaded(),source:s.serialize(),sourceId:t}))),s.onAdd(this.map),this._changed=!0;}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source \"${t}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if(\"geojson\"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,a={}){this._checkLoaded();const s=t.id;if(this.getLayer(s))return void this.fire(new e.j(new Error(`Layer \"${s}\" already exists on this map.`)));let o;if(\"custom\"===t.type){if(he(this,e.aD(t)))return;o=e.aA(t);}else {if(\"source\"in t&&\"object\"==typeof t.source&&(this.addSource(s,t.source),t=e.aB(t),t=e.e(t,{source:s})),this._validate(e.u.layer,`layers.${s}`,t,{arrayIndex:-1},a))return;o=e.aA(t),this._validateLayer(o),o.setEventedParent(this,{layer:{id:s}});}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new e.j(new Error(`Cannot add layer \"${s}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,s),this._layerOrderChanged=!0,this._layers[s]=o,this._removedLayers[s]&&o.source&&\"custom\"!==o.type){const t=this._removedLayers[s];delete this._removedLayers[s],t.type!==o.type?this._updatedSources[o.source]=\"clear\":(this._updatedSources[o.source]=\"reload\",this.sourceCaches[o.source].pause());}this._updateLayer(o),o.onAdd&&o.onAdd(this.map);}}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const a=this._order.indexOf(t);this._order.splice(a,1);const s=i?this._order.indexOf(i):this._order.length;i&&-1===s?this.fire(new e.j(new Error(`Cannot move layer \"${t}\" before non-existing layer \"${i}\".`))):(this._order.splice(s,0,t),this._layerOrderChanged=!0);}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer \"${t}\".`)));i.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}getLayersOrder(){return [...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,a){this._checkLoaded();const s=this.getLayer(t);s?s.minzoom===i&&s.maxzoom===a||(null!=i&&(s.minzoom=i),null!=a&&(s.maxzoom=a),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer \"${t}\".`)));}setFilter(t,i,a={}){this._checkLoaded();const s=this.getLayer(t);if(s){if(!e.aE(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(e.u.filter,`layers.${s.id}.filter`,i,null,a)||(s.filter=e.aB(i),this._updateLayer(s)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer \"${t}\".`)));}getFilter(t){return e.aB(this.getLayer(t).filter)}setLayoutProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getLayoutProperty(i),a)||(o.setLayoutProperty(i,a,s),this._updateLayer(o)):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getLayoutProperty(t,i){const a=this.getLayer(t);if(a)return a.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer \"${t}\".`)));}setPaintProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getPaintProperty(i),a)||(o.setPaintProperty(i,a,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const a=t.source,s=t.sourceLayer,o=this.sourceCaches[a];if(void 0===o)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const r=o.getSource().type;\"geojson\"===r&&s?this.fire(new e.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||s?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),o.setFeatureState(s,t.id,i)):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(t,i){this._checkLoaded();const a=t.source,s=this.sourceCaches[a];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const o=s.getSource().type,r=\"vector\"===o?t.sourceLayer:void 0;\"vector\"!==o||r?i&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.j(new Error(\"A feature id is required to remove its specific state property.\"))):s.removeFeatureState(r,t.id,i):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(t){this._checkLoaded();const i=t.source,a=t.sourceLayer,s=this.sourceCaches[i];if(void 0!==s)return \"vector\"!==s.getSource().type||a?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),s.getFeatureState(a,t.id)):void this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aF(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order,!0),a=this.map.getTerrain()||void 0,s=this.stylesheet;return e.aG({version:s.version,name:s.name,metadata:s.metadata,light:s.light,sky:s.sky,center:s.center,zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,sprite:s.sprite,glyphs:s.glyphs,transition:s.transition,sources:t,layers:i,terrain:a},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},a=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o)){i[o]=s;for(const e of t){const t=e[o];if(t)for(const e of t)a.push(e);}}}a.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const s=[];for(let o=this._order.length-1;o>=0;o--){const r=this._order[o];if(e(r))for(let t=a.length-1;t>=0;t--){const e=a[t].feature;if(i[e.layer.id]{const a=i.featureSortOrder;if(a){const i=a.indexOf(t.featureIndex);return a.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of s)e.push(t);}}for(const e in n)n[e].forEach((a=>{const s=a.feature,o=i[t[e].source].getFeatureState(s.layer[\"source-layer\"],s.id);s.source=s.layer.source,s.layer[\"source-layer\"]&&(s.sourceLayer=s.layer[\"source-layer\"]),s.state=o;}));return n}(this._layers,r,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.u.filter,\"querySourceFeatures.filter\",i.filter,null,i);const a=this.sourceCaches[t];return a?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),a=[],s={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const a=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng);r=r||a;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),t.zoom))&&(this.pauseablePlacement=new ae(t,this.map.terrain,this._order,s,e,i,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[\"\"]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.u.glyphs,\"glyphs\",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t));}addSprite(t,i,a={},s){this._checkLoaded();const o=[{id:t,url:i}],r=[...x(this.stylesheet.sprite),...o];this._validate(e.u.sprite,\"sprite\",r,null,a)||(this.stylesheet.sprite=r,this._loadSprite(o,!0,s));}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}else this.fire(new e.j(new Error(`Sprite \"${t}\" doesn't exists on this map.`)));}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},a){this._checkLoaded(),t&&this._validate(e.u.sprite,\"sprite\",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)));}}var de=e.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);const _e={prelude:pe(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\n\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\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(unpack_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;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:pe(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:pe(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:pe(\"varying vec3 v_data;varying 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\\nvoid 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(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying 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\\nvoid 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);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),clippingMask:pe(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:pe(\"uniform highp float u_intensity;varying 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);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying 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;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),heatmapTexture:pe(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:pe(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:pe(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying 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);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying 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;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;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(0.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:pe(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:pe(\"#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_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute 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);}\"),fillOutline:pe(\"varying 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\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying 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;}\"),fillOutlinePattern:pe(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillPattern:pe(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),fillExtrusion:pe(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform 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;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),fillExtrusionPattern:pe(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hillshadePrepare:pe(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying 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:pe(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(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);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:pe(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\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);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\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\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\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\\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;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\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#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:pe(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\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);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\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\\nvoid main() {\\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\\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;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\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#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:pe(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\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_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\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_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\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#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:pe(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\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);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\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 floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\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 floorwidth\\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;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\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#endif\\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),raster:pe(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:pe(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_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 bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:pe(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying 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\\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\\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 inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_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_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\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\\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\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:pe(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying 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\\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\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=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;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\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\\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\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:pe(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:pe(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:pe(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:pe(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function pe(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=e.match(/attribute ([\\w]+) ([\\w]+)/g),s=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=o?o.concat(s):s,n={};return {fragmentSource:t=t.replace(i,((t,e,i,a,s)=>(n[s]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,a,s)=>{const o=\"float\"===a?\"vec2\":\"vec4\",r=s.match(/color/)?\"color\":o;return n[s]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`})),staticAttributes:a,staticUniforms:r}}class me{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;}bind(t,e,i,a,s,o,r,n,l){this.context=t;let h=this.boundPaintVertexBuffers.length!==a.length;for(let t=0;!h&&t({u_matrix:t,u_texture:0,u_ele_delta:i,u_fog_matrix:a,u_fog_color:s?s.properties.get(\"fog-color\"):e.aM.white,u_fog_ground_blend:s?s.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:s?s.calculateFogBlendOpacity(o):0,u_horizon_color:s?s.properties.get(\"horizon-color\"):e.aM.white,u_horizon_fog_blend:s?s.properties.get(\"horizon-fog-blend\"):1});function ge(t){const e=[];for(let i=0;i({u_depth:new e.aH(t,i.u_depth),u_terrain:new e.aH(t,i.u_terrain),u_terrain_dim:new e.aI(t,i.u_terrain_dim),u_terrain_matrix:new e.aJ(t,i.u_terrain_matrix),u_terrain_unpack:new e.aK(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aI(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=a?a.getUniforms(t,b):[];}draw(t,e,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(a),t.setColorMode(s),t.setCullFace(o),n){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,n.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,n.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(n[t]);}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(r[t]);p&&p.setUniforms(t,this.binderUniforms,d,{zoom:_});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1;}for(const i of u.get()){const a=i.vaos||(i.vaos={});(a[l]||(a[l]=new me)).bind(t,this,h,p?p.getPaintVertexBuffers():[],c,i.vertexOffset,m,f,g),v.drawElements(e,i.primitiveLength*x,v.UNSIGNED_SHORT,i.primitiveOffset*x*2);}}}function xe(t,e,i){const a=1/Ft(i,1,e.transform.tileZoom),s=Math.pow(2,i.tileID.overscaledZ),o=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,r=o*(i.tileID.canonical.x+i.tileID.wrap*s),n=o*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[a,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const ye=(t,i,a,s)=>{const o=i.style.light,r=o.properties.get(\"position\"),n=[r.x,r.y,r.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();\"viewport\"===o.properties.get(\"anchor\")&&function(t,e){var i=Math.sin(e),a=Math.cos(e);t[0]=a,t[1]=i,t[2]=0,t[3]=-i,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1;}(l,-i.transform.angle),function(t,e,i){var a=e[0],s=e[1],o=e[2];t[0]=a*i[0]+s*i[3]+o*i[6],t[1]=a*i[1]+s*i[4]+o*i[7],t[2]=a*i[2]+s*i[5]+o*i[8];}(n,n,l);const h=o.properties.get(\"color\");return {u_matrix:t,u_lightpos:n,u_lightintensity:o.properties.get(\"intensity\"),u_lightcolor:[h.r,h.g,h.b],u_vertical_gradient:+a,u_opacity:s}},be=(t,i,a,s,o,r,n)=>e.e(ye(t,i,a,s),xe(r,i,n),{u_height_factor:-Math.pow(2,o.overscaledZ)/n.tileSize/8}),we=t=>({u_matrix:t}),Te=(t,i,a,s)=>e.e(we(t),xe(a,i,s)),Ie=(t,e)=>({u_matrix:t,u_world:e}),Ee=(t,i,a,s,o)=>e.e(Te(t,i,a,s),{u_world:o}),Pe=(t,e,i,a)=>{const s=t.transform;let o,r;if(\"map\"===a.paint.get(\"circle-pitch-alignment\")){const t=Ft(i,1,s.zoom);o=!0,r=[t,t];}else o=!1,r=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===a.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,a.paint.get(\"circle-translate\"),a.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},Ce=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),Se=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),ze=t=>({u_matrix:t}),De=(t,e,i,a)=>({u_matrix:t,u_extrude_scale:Ft(e,1,i),u_intensity:a});function Me(t,i){const a=Math.pow(2,i.canonical.z),s=i.canonical.y;return [new e.Z(0,s/a).toLngLat().lat,new e.Z(0,(s+1)/a).toLngLat().lat]}const Ae=(t,e,i,a)=>{const s=t.transform;return {u_matrix:Be(t,e,i,a),u_ratio:1/Ft(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Re=(t,i,a,s,o)=>e.e(Ae(t,i,a,o),{u_image:0,u_image_height:s}),ke=(t,e,i,a,s)=>{const o=t.transform,r=Fe(e,o);return {u_matrix:Be(t,e,i,s),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Ft(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Le=(t,i,a,s,o,r)=>{const n=t.lineAtlas,l=Fe(i,t.transform),h=\"round\"===a.layout.get(\"line-cap\"),c=n.getDash(s.from,h),u=n.getDash(s.to,h),d=c.width*o.fromScale,_=u.width*o.toScale;return e.e(Ae(t,i,a,r),{u_patternscale_a:[l/d,-c.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*t.pixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:o.t})};function Fe(t,e){return 1/Ft(t,1,e.tileZoom)}function Be(t,e,i,a){return t.translatePosMatrix(a?a.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Oe=(t,e,i,a,s)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*s.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:s.paint.get(\"raster-brightness-min\"),u_brightness_high:s.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=s.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(o=s.paint.get(\"raster-contrast\"),o>0?1/(1-o):1+o),u_spin_weights:Ne(s.paint.get(\"raster-hue-rotate\"))};var o,r;};function Ne(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const je=(t,e,i,a,s,o,r,n,l,h,c,u,d,_)=>{const p=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:p.width/p.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:n,u_label_plane_matrix:l,u_coord_matrix:h,u_is_text:+u,u_pitch_with_map:+a,u_is_along_line:s,u_is_variable_anchor:o,u_texsize:d,u_texture:0,u_translation:c,u_pitched_scale:_}},Ue=(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m)=>{const f=n.transform;return e.e(je(t,i,a,s,o,r,n,l,h,c,u,d,_,m),{u_gamma_scale:s?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:n.pixelRatio,u_is_halo:+p})},Ze=(t,i,a,s,o,r,n,l,h,c,u,d,_,p)=>e.e(Ue(t,i,a,s,o,r,n,l,h,c,u,!0,d,!0,p),{u_texsize_icon:_,u_texture_icon:1}),qe=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Ve=(t,i,a,s,o,r)=>e.e(function(t,e,i,a){const s=i.imageManager.getPattern(t.from.toString()),o=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,a.tileID.overscaledZ),h=a.tileSize*Math.pow(2,i.transform.tileZoom)/l,c=h*(a.tileID.canonical.x+a.tileID.wrap*l),u=h*a.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:s.tl,u_pattern_br_a:s.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:s.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Ft(a,1,i.transform.tileZoom),u_pixel_coord_upper:[c>>16,u>>16],u_pixel_coord_lower:[65535&c,65535&u]}}(s,r,a,o),{u_matrix:t,u_opacity:i}),Ge={fillExtrusion:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_opacity:new e.aI(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_height_factor:new e.aI(t,i.u_height_factor),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade),u_opacity:new e.aI(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aH(t,i.u_scale_with_map),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_extrude_scale:new e.aO(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_matrix:new e.aJ(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_pixel_extrude_scale:new e.aO(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_inv_matrix:new e.aJ(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_viewport_size:new e.aO(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aL(t,i.u_color),u_matrix:new e.aJ(t,i.u_matrix),u_overlay:new e.aH(t,i.u_overlay),u_overlay_scale:new e.aI(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aI(t,i.u_extrude_scale),u_intensity:new e.aI(t,i.u_intensity),u_matrix:new e.aJ(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_color_ramp:new e.aH(t,i.u_color_ramp),u_opacity:new e.aI(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_latrange:new e.aO(t,i.u_latrange),u_light:new e.aO(t,i.u_light),u_shadow:new e.aL(t,i.u_shadow),u_highlight:new e.aL(t,i.u_highlight),u_accent:new e.aL(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_dimension:new e.aO(t,i.u_dimension),u_zoom:new e.aI(t,i.u_zoom),u_unpack:new e.aK(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_image:new e.aH(t,i.u_image),u_image_height:new e.aI(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texsize:new e.aO(t,i.u_texsize),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_image:new e.aH(t,i.u_image),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_patternscale_a:new e.aO(t,i.u_patternscale_a),u_patternscale_b:new e.aO(t,i.u_patternscale_b),u_sdfgamma:new e.aI(t,i.u_sdfgamma),u_image:new e.aH(t,i.u_image),u_tex_y_a:new e.aI(t,i.u_tex_y_a),u_tex_y_b:new e.aI(t,i.u_tex_y_b),u_mix:new e.aI(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_tl_parent:new e.aO(t,i.u_tl_parent),u_scale_parent:new e.aI(t,i.u_scale_parent),u_buffer_scale:new e.aI(t,i.u_buffer_scale),u_fade_t:new e.aI(t,i.u_fade_t),u_opacity:new e.aI(t,i.u_opacity),u_image0:new e.aH(t,i.u_image0),u_image1:new e.aH(t,i.u_image1),u_brightness_low:new e.aI(t,i.u_brightness_low),u_brightness_high:new e.aI(t,i.u_brightness_high),u_saturation_factor:new e.aI(t,i.u_saturation_factor),u_contrast_factor:new e.aI(t,i.u_contrast_factor),u_spin_weights:new e.aN(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texsize_icon:new e.aO(t,i.u_texsize_icon),u_texture:new e.aH(t,i.u_texture),u_texture_icon:new e.aH(t,i.u_texture_icon),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_color:new e.aL(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_image:new e.aH(t,i.u_image),u_pattern_tl_a:new e.aO(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aO(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aO(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aO(t,i.u_pattern_br_b),u_texsize:new e.aO(t,i.u_texsize),u_mix:new e.aI(t,i.u_mix),u_pattern_size_a:new e.aO(t,i.u_pattern_size_a),u_pattern_size_b:new e.aO(t,i.u_pattern_size_b),u_scale_a:new e.aI(t,i.u_scale_a),u_scale_b:new e.aI(t,i.u_scale_b),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_ele_delta:new e.aI(t,i.u_ele_delta),u_fog_matrix:new e.aJ(t,i.u_fog_matrix),u_fog_color:new e.aL(t,i.u_fog_color),u_fog_ground_blend:new e.aI(t,i.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aI(t,i.u_fog_ground_blend_opacity),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon_fog_blend:new e.aI(t,i.u_horizon_fog_blend)}),terrainDepth:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ele_delta:new e.aI(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_terrain_coords_id:new e.aI(t,i.u_terrain_coords_id),u_ele_delta:new e.aI(t,i.u_ele_delta)}),sky:(t,i)=>({u_sky_color:new e.aL(t,i.u_sky_color),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon:new e.aI(t,i.u_horizon),u_sky_horizon_blend:new e.aI(t,i.u_sky_horizon_blend)})};class He{constructor(t,e,i){this.context=t;const a=t.gl;this.buffer=a.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);}}const We={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class $e{constructor(t,e,i,a){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=a,this.context=t;const s=t.gl;this.buffer=s.createBuffer(),t.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);}enableAttributes(t,e){for(let i=0;i0){const i=e.H();e.aQ(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aQ(i,i,m.placementViewportMatrix),h.push({circleArray:g,circleOffset:u,transform:p.posMatrix,invTransform:i,coord:p}),c+=g.length/4,u=c;}f&&l.draw(r,n.LINES,Fi.disabled,Oi.disabled,t.colorModeForRenderPass(),Ni.disabled,{u_matrix:p.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),a.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer);}var d;if(!o||!h.length)return;const _=t.useProgram(\"collisionCircle\"),p=new e.aR;p.resize(4*c),p._trim();let m=0;for(const t of h)for(let e=0;e=0&&(v[x.associatedIconIndex]={shiftedAnchor:D,angle:M});}else Rt(x.numGlyphs,f);}if(c){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i=\"map\"===a.layout.get(\"text-rotation-alignment\");wt(h,l.posMatrix,t,o,j,Z,v,c,i,f,l.toUnwrapped(),m.width,m.height,q,e);}const H=l.posMatrix,W=o&&E||G,$=x||W?Zi:j,X=U,K=_&&0!==a.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let J;J=_?h.iconsInText?Ze(I.kind,D,y,v,x,W,t,H,$,X,q,A,F,C):Ue(I.kind,D,y,v,x,W,t,H,$,X,q,o,A,!0,C):je(I.kind,D,y,v,x,W,t,H,$,X,q,o,A,C);const Y={program:z,buffers:u,uniformValues:J,atlasTexture:R,atlasTextureIcon:B,atlasInterpolation:k,atlasInterpolationIcon:L,isSDF:_,hasHalo:K};if(w&&h.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.a0([i]),sortKey:i.sortKey,state:Y,terrainData:M});}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:M});}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(_.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const s=i.uniformValues;i.hasHalo&&(s.u_is_halo=1,$i(i.buffers,e.segments,a,t,i.program,I,u,d,s,e.terrainData)),s.u_is_halo=0;}$i(i.buffers,e.segments,a,t,i.program,I,u,d,i.uniformValues,e.terrainData);}}function $i(t,e,i,a,s,o,r,n,l,h){const c=a.context;s.draw(c,c.gl.TRIANGLES,o,r,n,Ni.disabled,l,h,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,a.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Xi(t,e,i,a,s){if(!i||!a||!a.imageAtlas)return;const o=a.imageAtlas.patternPositions;let r=o[i.to.toString()],n=o[i.from.toString()];if(!r&&n&&(r=n),!n&&r&&(n=r),!r||!n){const t=s.getPaintProperty(e);r=o[t],n=o[t];}r&&n&&t.setConstantPatternPositions(r,n);}function Ki(t,e,i,a,s,o,r){const n=t.context.gl,l=\"fill-pattern\",h=i.paint.get(l),c=h&&h.constantOr(1),u=i.getCrossfadeParameters();let d,_,p,m,f;r?(_=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",d=n.LINES):(_=c?\"fillPattern\":\"fill\",d=n.TRIANGLES);const g=h.constantOr(null);for(const h of a){const a=e.getTile(h);if(c&&!a.patternsLoaded())continue;const v=a.getBucket(i);if(!v)continue;const x=v.programConfigurations.get(i.id),y=t.useProgram(_,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h);c&&(t.context.activeTexture.set(n.TEXTURE0),a.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Xi(x,l,g,a,i);const w=b?h:null,T=t.translatePosMatrix(w?w.posMatrix:h.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=v.indexBuffer2,f=v.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];p=\"fillOutlinePattern\"===_&&c?Ee(T,t,u,a,e):Ie(T,e);}else m=v.indexBuffer,f=v.segments,p=c?Te(T,t,u,a):we(T);y.draw(t.context,d,s,t.stencilModeForClipping(h),o,Ni.disabled,p,b,i.id,v.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,x);}}function Ji(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=\"fill-extrusion-pattern\",c=i.paint.get(h),u=c.constantOr(1),d=i.getCrossfadeParameters(),_=i.paint.get(\"fill-extrusion-opacity\"),p=c.constantOr(null);for(const c of a){const a=e.getTile(c),m=a.getBucket(i);if(!m)continue;const f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c),g=m.programConfigurations.get(i.id),v=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",g);u&&(t.context.activeTexture.set(l.TEXTURE0),a.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Xi(g,h,p,a,i);const x=t.translatePosMatrix(c.posMatrix,a,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=u?be(x,t,y,_,c,d,a):ye(x,t,y,_);v.draw(n,n.gl.TRIANGLES,s,o,r,Ni.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer);}}function Yi(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=i.fbo;if(!h)return;const c=t.useProgram(\"hillshade\"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,h.colorAttachment.get()),c.draw(n,l.TRIANGLES,s,o,r,Ni.disabled,((t,e,i,a)=>{const s=i.paint.get(\"hillshade-shadow-color\"),o=i.paint.get(\"hillshade-highlight-color\"),r=i.paint.get(\"hillshade-accent-color\");let n=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(n-=t.transform.angle);const l=!t.options.moving;return {u_matrix:a?a.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Me(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:s,u_highlight:o,u_accent:r}})(t,i,a,u?e:null),u,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function Qi(t,i,a,s,o,r){const n=t.context,l=n.gl,h=i.dem;if(h&&h.data){const c=h.dim,u=h.stride,d=h.getPixels();if(n.activeTexture.set(l.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new b(n,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);n.activeTexture.set(l.TEXTURE0);let _=i.fbo;if(!_){const t=new b(n,{width:c,height:c,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),_=i.fbo=n.createFramebuffer(c,c,!0,!1),_.colorAttachment.set(t.texture);}n.bindFramebuffer.set(_.framebuffer),n.viewport.set([0,0,c,c]),t.useProgram(\"hillshadePrepare\").draw(n,l.TRIANGLES,s,o,r,Ni.disabled,((t,i)=>{const a=i.stride,s=e.H();return e.aP(s,0,e.X,-e.X,0,0,1),e.J(s,s,[0,-e.X,0]),{u_matrix:s,u_image:1,u_dimension:[a,a],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function ta(t,i,a,s,r,n){const l=s.paint.get(\"raster-fade-duration\");if(!n&&l>0){const s=o.now(),n=(s-t.timeAdded)/l,h=i?(s-i.timeAdded)/l:-1,c=a.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),_=d&&t.refreshedUponExpiration?1:e.ac(d?n:1-h,0,1);return t.refreshedUponExpiration&&n>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}const ea=new e.aM(1,0,0,1),ia=new e.aM(0,1,0,1),aa=new e.aM(0,0,1,1),sa=new e.aM(1,0,1,1),oa=new e.aM(0,1,1,1);function ra(t,e,i,a){la(t,0,e+i/2,t.transform.width,i,a);}function na(t,e,i,a){la(t,e-i/2,0,i,t.transform.height,a);}function la(t,e,i,a,s,o){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,a*t.pixelRatio,s*t.pixelRatio),r.clear({color:o}),n.disable(n.SCISSOR_TEST);}function ha(t,i,a){const s=t.context,o=s.gl,r=a.posMatrix,n=t.useProgram(\"debug\"),l=Fi.disabled,h=Oi.disabled,c=t.colorModeForRenderPass(),u=\"$debug\",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a);s.activeTexture.set(o.TEXTURE0);const _=i.getTileByID(a.key).latestRawTileData,p=Math.floor((_&&_.byteLength||0)/1024),m=i.getTile(a).tileSize,f=512/Math.min(m,512)*(a.overscaledZ/t.transform.zoom)*.5;let g=a.canonical.toString();a.overscaledZ!==a.canonical.z&&(g+=` => ${a.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,a=t.context.gl,s=t.debugOverlayCanvas.getContext(\"2d\");s.clearRect(0,0,i.width,i.height),s.shadowColor=\"white\",s.shadowBlur=2,s.lineWidth=1.5,s.strokeStyle=\"white\",s.textBaseline=\"top\",s.font=\"bold 36px Open Sans, sans-serif\",s.fillText(e,5,5),s.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);}(t,`${g} ${p}kB`),n.draw(s,o.TRIANGLES,l,h,ki.alphaBlended,Ni.disabled,Se(r,e.aM.transparent,f),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),n.draw(s,o.LINE_STRIP,l,h,c,Ni.disabled,Se(r,e.aM.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);}function ca(t,e,i){const a=t.context,s=a.gl,o=t.colorModeForRenderPass(),r=new Fi(s.LEQUAL,Fi.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);for(const h of i){const i=t.renderToTexture.getTexture(h),c=e.getTerrainData(h.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.texture);const u=t.transform.calculatePosMatrix(h.tileID.toUnwrapped()),d=e.getMeshFrameDelta(t.transform.zoom),_=t.transform.calculateFogMatrix(h.tileID.toUnwrapped()),p=fe(u,d,_,t.style.sky,t.transform.pitch);n.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,p,c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}}class ua{constructor(t,e,i){this.vertexBuffer=t,this.indexBuffer=e,this.segments=i;}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null;}}class da{constructor(t,i){this.context=new Li(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ut.maxUnderzooming+ut.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new le;}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize();}setup(){const t=this.context,i=new e.aW;i.emplaceBack(0,0),i.emplaceBack(e.X,0),i.emplaceBack(0,e.X),i.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(i,de.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aW;a.emplaceBack(0,0),a.emplaceBack(e.X,0),a.emplaceBack(0,e.X),a.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(a,de.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const s=new e.$;s.emplaceBack(0,0,0,0),s.emplaceBack(e.X,0,e.X,0),s.emplaceBack(0,e.X,0,e.X),s.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(s,Y.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aW;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(o,de.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const r=new e.aY;r.emplaceBack(0),r.emplaceBack(1),r.emplaceBack(3),r.emplaceBack(2),r.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(r);const n=new e.aX;n.emplaceBack(0,1,2),n.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(n);const l=this.context.gl;this.stencilClearMode=new Oi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=e.H();e.aP(a,0,this.width,this.height,0,0,1),e.K(a,a,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,i.TRIANGLES,Fi.disabled,this.stencilClearMode,ki.disabled,Ni.disabled,ze(a),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,a=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(ki.disabled),i.setDepthMode(Fi.disabled);const s=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);s.draw(i,a.TRIANGLES,Fi.disabled,new Oi({func:a.ALWAYS,mask:0},e,255,a.KEEP,a.KEEP,a.REPLACE),ki.disabled,Ni.disabled,ze(t.posMatrix),o,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Oi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Oi({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),a=i[i.length-1].overscaledZ,s=i[0].overscaledZ-a+1;if(s>1){this.currentStencilSource=void 0,this.nextStencilID+s>256&&this.clearStencil();const t={};for(let i=0;i({u_sky_color:t.properties.get(\"sky-color\"),u_horizon_color:t.properties.get(\"horizon-color\"),u_horizon:(e.height/2+e.getHorizon())*i,u_sky_horizon_blend:t.properties.get(\"sky-horizon-blend\")*e.height/2*i}))(i,t.style.map.transform,t.pixelRatio),r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=Oi.disabled,l=t.colorModeForRenderPass(),h=t.useProgram(\"sky\");if(!i.mesh){const t=new e.aW;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const s=new e.aX;s.emplaceBack(0,1,2),s.emplaceBack(0,2,3),i.mesh=new ua(a.createVertexBuffer(t,de.members),a.createIndexBuffer(s),e.a0.simpleSegment(0,0,t.length,s.length));}h.draw(a,s.TRIANGLES,r,n,l,Ni.disabled,o,void 0,\"sky\",i.mesh.vertexBuffer,i.mesh.indexBuffer,i.mesh.segments);}(this,this.style.sky),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=a.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[a[this.currentLayer]],e=s[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),s=a.filter((t=>\"vector\"===t.getSource().type)),o=a.filter((t=>\"vector\"!==t.getSource().type)),r=t=>{(!i||i.getSource().maxzoomr(t))),i||o.forEach((t=>r(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let a=0;a0),s&&(e.a$(i,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const a=t.context,s=a.gl,o=ki.unblended,r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),h=t.useProgram(\"terrainDepth\");a.bindFramebuffer.set(i.getFramebuffer(\"depth\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aM.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),c={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,c,l,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain),function(t,i){const a=t.context,s=a.gl,o=ki.unblended,r=new Fi(s.LEQUAL,Fi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.getCoordsTexture(),h=i.sourceCache.getRenderableTiles(),c=t.useProgram(\"terrainCoords\");a.bindFramebuffer.set(i.getFramebuffer(\"coords\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aM.transparent,depth:1}),i.coordsIndex=[];for(const e of h){const h=i.getTerrainData(e.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(a,s.TRIANGLES,r,Oi.disabled,o,Ni.backCCW,u,h,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments),i.coordsIndex.push(e.tileID.key);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain));}renderLayer(t,i,a,s){if(!a.isHidden(this.transform.zoom)&&(\"background\"===a.type||\"custom\"===a.type||(s||[]).length))switch(this.id=a.id,a.type){case\"symbol\":!function(t,i,a,s,o){if(\"translucent\"!==t.renderPass)return;const r=Oi.disabled,n=t.colorModeForRenderPass();(a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(t,i,a,s,o,r,n,l,h){const c=i.transform,u=ee(),d=\"map\"===o,_=\"map\"===r;for(const o of t){const t=s.getTile(o),r=t.getBucket(a);if(!r||!r.text||!r.text.segments.get().length)continue;const p=e.ag(r.textSizeData,c.zoom),m=Ft(t,1,i.transform.zoom),f=gt(o.posMatrix,_,d,i.transform,m),g=\"none\"!==a.layout.get(\"icon-text-fit\")&&r.hasIconData();if(p){const e=Math.pow(2,c.zoom-t.tileID.overscaledZ),a=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(o,t,e):null,s=u.translatePosition(c,t,n,l);Gi(r,d,_,h,c,f,o.posMatrix,e,p,g,u,s,o.toUnwrapped(),a);}}}(s,t,a,i,a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),o),0!==a.paint.get(\"icon-opacity\").constantOr(1)&&Wi(t,i,a,s,!1,a.paint.get(\"icon-translate\"),a.paint.get(\"icon-translate-anchor\"),a.layout.get(\"icon-rotation-alignment\"),a.layout.get(\"icon-pitch-alignment\"),a.layout.get(\"icon-keep-upright\"),r,n),0!==a.paint.get(\"text-opacity\").constantOr(1)&&Wi(t,i,a,s,!0,a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(Ui(t,i,a,s,!0),Ui(t,i,a,s,!1));}(t,i,a,s,this.style.placement.variableOffsets);break;case\"circle\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"circle-opacity\"),r=a.paint.get(\"circle-stroke-width\"),n=a.paint.get(\"circle-stroke-opacity\"),l=!a.layout.get(\"circle-sort-key\").isConstant();if(0===o.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const h=t.context,c=h.gl,u=t.depthModeForSublayer(0,Fi.ReadOnly),d=Oi.disabled,_=t.colorModeForRenderPass(),p=[];for(let o=0;ot.sortKey-e.sortKey));for(const e of p){const{programConfiguration:i,program:s,layoutVertexBuffer:o,indexBuffer:r,uniformValues:n,terrainData:l}=e.state;s.draw(h,c.TRIANGLES,u,d,_,Ni.disabled,n,l,a.id,o,r,e.segments,a.paint,t.transform.zoom,i);}}(t,i,a,s);break;case\"heatmap\":!function(t,i,a,s){if(0!==a.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){const o=t.context,r=o.gl,n=Oi.disabled,l=new ki([r.ONE,r.ONE],e.aM.transparent,[!0,!0,!0,!0]);!function(t,e,i){const a=t.gl;t.activeTexture.set(a.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let s=i.heatmapFbo;if(s)a.bindTexture(a.TEXTURE_2D,s.colorAttachment.get()),t.bindFramebuffer.set(s.framebuffer);else {const o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),s=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,i,a){var s,o;const r=t.gl,n=null!==(s=t.HALF_FLOAT)&&void 0!==s?s:r.UNSIGNED_BYTE,l=null!==(o=t.RGBA16F)&&void 0!==o?o:r.RGBA;r.texImage2D(r.TEXTURE_2D,0,l,e.width/4,e.height/4,0,r.RGBA,n,null),a.colorAttachment.set(i);}(t,e,o,s);}}(o,t,a),o.clear({color:e.aM.transparent});for(let e=0;e{const o=e.H();e.aP(o,0,t.width,t.height,0,0,1);const r=t.context.gl;return {u_matrix:o,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}})(t,i),null,i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom);}(t,a));}(t,i,a,s);break;case\"line\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"line-opacity\"),r=a.paint.get(\"line-width\");if(0===o.constantOr(1)||0===r.constantOr(1))return;const n=t.depthModeForSublayer(0,Fi.ReadOnly),l=t.colorModeForRenderPass(),h=a.paint.get(\"line-dasharray\"),c=a.paint.get(\"line-pattern\"),u=c.constantOr(1),d=a.paint.get(\"line-gradient\"),_=a.getCrossfadeParameters(),p=u?\"linePattern\":h?\"lineSDF\":d?\"lineGradient\":\"line\",m=t.context,f=m.gl;let g=!0;for(const o of s){const s=i.getTile(o);if(u&&!s.patternsLoaded())continue;const r=s.getBucket(a);if(!r)continue;const v=r.programConfigurations.get(a.id),x=t.context.program.get(),y=t.useProgram(p,v),w=g||y.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(o),I=c.constantOr(null);if(I&&s.imageAtlas){const t=s.imageAtlas,e=t.patternPositions[I.to.toString()],i=t.patternPositions[I.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const E=T?o:null,P=u?ke(t,s,a,_,E):h?Le(t,s,a,h,_,E):d?Re(t,s,a,r.lineClipsArray.length,E):Ae(t,s,a,E);if(u)m.activeTexture.set(f.TEXTURE0),s.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),v.updatePaintBuffers(_);else if(h&&(w||t.lineAtlas.dirty))m.activeTexture.set(f.TEXTURE0),t.lineAtlas.bind(m);else if(d){const s=r.gradients[a.id];let n=s.texture;if(a.gradientVersion!==s.version){let l=256;if(a.stepInterpolant){const a=i.getSource().maxzoom,s=o.canonical.z===a?Math.ceil(1<20&&o.texParameterf(o.TEXTURE_2D,s.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,s.extTextureFilterAnisotropicMax);const y=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a),b=y?a:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(a.toUnwrapped(),d),T=Oe(w,v||[0,0],g||1,f,i);r instanceof Q?n.draw(s,o.TRIANGLES,c,Oi.disabled,l,Ni.disabled,T,y,i.id,r.boundsBuffer,t.quadTriangleIndexBuffer,r.boundsSegments):n.draw(s,o.TRIANGLES,c,h[a.overscaledZ],l,Ni.disabled,T,y,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}}(t,i,a,s);break;case\"background\":!function(t,e,i,a){const s=i.paint.get(\"background-color\"),o=i.paint.get(\"background-opacity\");if(0===o)return;const r=t.context,n=r.gl,l=t.transform,h=l.tileSize,c=i.paint.get(\"background-pattern\");if(t.isPatternMissing(c))return;const u=!c&&1===s.a&&1===o&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass!==u)return;const d=Oi.disabled,_=t.depthModeForSublayer(0,\"opaque\"===u?Fi.ReadWrite:Fi.ReadOnly),p=t.colorModeForRenderPass(),m=t.useProgram(c?\"backgroundPattern\":\"background\"),f=a||l.coveringTiles({tileSize:h,terrain:t.style.map.terrain});c&&(r.activeTexture.set(n.TEXTURE0),t.imageManager.bind(t.context));const g=i.getCrossfadeParameters();for(const e of f){const l=a?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),u=c?Ve(l,o,t,c,{tileID:e,tileSize:h},g):qe(l,o,s),f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(r,n.TRIANGLES,_,d,p,Ni.disabled,u,f,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}(t,0,a,s);break;case\"custom\":!function(t,e,i){const a=t.context,s=i.implementation;if(\"offscreen\"===t.renderPass){const e=s.prerender;e&&(t.setCustomLayerDefaults(),a.setColorMode(t.colorModeForRenderPass()),e.call(s,a.gl,t.transform.customLayerMatrix()),a.setDirty(),t.setBaseState());}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),a.setColorMode(t.colorModeForRenderPass()),a.setStencilMode(Oi.disabled);const e=\"3d\"===s.renderingMode?new Fi(t.context.gl.LEQUAL,Fi.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Fi.ReadOnly);a.setDepthMode(e),s.render(a.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),a.setDirty(),t.setBaseState(),a.bindFramebuffer.set(null);}}(t,0,a);}}translatePosMatrix(t,i,a,s,o){if(!a[0]&&!a[1])return t;const r=o?\"map\"===s?this.transform.angle:0:\"viewport\"===s?-this.transform.angle:0;if(r){const t=Math.sin(r),e=Math.cos(r);a=[a[0]*e-a[1]*t,a[0]*t+a[1]*e];}const n=[o?a[0]:Ft(i,a[0],this.transform.zoom),o?a[1]:Ft(i,a[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,n),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return !1;if(!t.from||!t.to)return !0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new ve(this.context,_e[t],e,Ge[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class _a{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,i,a){const s=Math.pow(2,a),o=[[-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((a=>{const o=1/(a=e.af([],a,t))[3]/i*s;return e.b0(a,a,[o,o,1/a[3],o])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var i=e[0],a=e[1],s=e[2],o=i*i+a*a+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}([],function(t,e,i){var a=e[0],s=e[1],o=e[2],r=i[0],n=i[1],l=i[2];return t[0]=s*l-o*n,t[1]=o*r-a*l,t[2]=a*n-s*r,t}([],g([],o[t[0]],o[t[1]]),g([],o[t[2]],o[t[1]]))),i=-((a=e)[0]*(s=o[t[1]])[0]+a[1]*s[1]+a[2]*s[2]);var a,s;return e.concat(i)}));return new _a(o,r)}}class pa{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,i){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max));}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),a=m(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(a=!1);}if(a)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let s=0;sthis.max[e]-this.min[e])return 0}return 1}}class ma{constructor(t=0,e=0,i=0,a=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(a)||a<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=a;}interpolate(t,i,a){return null!=i.top&&null!=t.top&&(this.top=e.y.number(t.top,i.top,a)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.y.number(t.bottom,i.bottom,a)),null!=i.left&&null!=t.left&&(this.left=e.y.number(t.left,i.left,a)),null!=i.right&&null!=t.right&&(this.right=e.y.number(t.right,i.right,a)),this}getCenter(t,i){const a=e.ac((this.left+t-this.right)/2,0,t),s=e.ac((this.top+i-this.bottom)/2,0,i);return new e.P(a,s)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new ma(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const fa=85.051129;class ga{constructor(t,i,a,s,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==a?0:a,this._maxPitch=null==s?60:s,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ma,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0;}clone(){const t=new ga(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices();}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(t){const i=-e.b2(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var a=e[0],s=e[1],o=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=a*l+o*n,t[1]=s*l+r*n,t[2]=a*-n+o*l,t[3]=s*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ac(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices());}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const i=[new e.b3(0,t)];if(this._renderWorldCopies){const a=this.pointCoordinate(new e.P(0,0)),s=this.pointCoordinate(new e.P(this.width,0)),o=this.pointCoordinate(new e.P(this.width,this.height)),r=this.pointCoordinate(new e.P(0,this.height)),n=Math.floor(Math.min(a.x,s.x,o.x,r.x)),l=Math.floor(Math.max(a.x,s.x,o.x,r.x)),h=1;for(let a=n-h;a<=l+h;a++)0!==a&&i.push(new e.b3(a,t));}return i}coveringTiles(t){var i,a;let s=this.coveringZoomLevel(t);const o=s;if(void 0!==t.minzoom&&st.maxzoom&&(s=t.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=e.Z.fromLngLat(this.center),l=Math.pow(2,s),h=[l*r.x,l*r.y,0],c=[l*n.x,l*n.y,0],u=_a.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,s);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=s);const _=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,p=t=>({aabb:new pa([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],f=[],g=s,x=t.reparseOverscaled?o:s;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(p(-t)),m.push(p(t));for(m.push(p(0));m.length>0;){const s=m.pop(),o=s.x,r=s.y;let n=s.fullyVisible;if(!n){const t=s.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=t.terrain?h:c,p=s.aabb.distanceX(l),y=s.aabb.distanceY(l),b=Math.max(Math.abs(p),Math.abs(y));if(s.zoom===g||b>_+(1<=d){const t=g-s.zoom,i=h[0]-.5-(o<>1),u=s.zoom+1;let d=s.aabb.quadrant(l);if(t.terrain){const o=new e.S(u,s.wrap,u,h,c),r=t.terrain.getMinMaxElevation(o),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(a=r.maxElevation)&&void 0!==a?a:this.elevation;d=new pa([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}m.push({aabb:d,zoom:u,x:h,y:c,wrap:s.wrap,fullyVisible:n});}}return f.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const i=e.ac(t.lat,-85.051129,fa);return new e.P(e.O(t.lng)*this.worldSize,e.Q(i)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,s=this.pointLocation(this.centerPoint,t),o=t.getElevationForLngLatZoom(s,this.tileZoom);if(!(this.elevation-o))return;const r=a+i-o,n=Math.cos(this._pitch)*this.cameraToCenterDistance/r/e.b4(1,s.lat),l=this.scaleZoom(n/this.tileSize);this._elevation=o,this._center=s,this.zoom=l;}setLocationAtPoint(t,i){const a=this.pointCoordinate(i),s=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(t),r=new e.Z(o.x-(a.x-s.x),o.y-(a.y-s.y));this.center=this.coordinateLocation(r),this._renderWorldCopies&&(this.center=this.center.wrap());}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const a=[t.x,t.y,0,1],s=[t.x,t.y,1,1];e.af(a,a,this.pixelMatrixInverse),e.af(s,s,this.pixelMatrixInverse);const o=a[3],r=s[3],n=a[1]/o,l=s[1]/r,h=a[2]/o,c=s[2]/r,u=h===c?0:(0-h)/(c-h);return new e.Z(e.y.number(a[0]/o,s[0]/r,u)/this.worldSize,e.y.number(n,l,u)/this.worldSize)}coordinatePoint(t,i=0,a=this.pixelMatrix){const s=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.af(s,s,a),new e.P(s[0]/s[3],s[1]/s[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return (new H).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new H([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,fa]);}calculateTileMatrix(t){const i=t.canonical,a=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*t.wrap,o=e.an(new Float64Array(16));return e.J(o,o,[s*a,i.y*a,0]),e.K(o,o,[a/e.X,a/e.X,1]),o}calculatePosMatrix(t,i=!1){const a=t.key,s=i?this._alignedPosMatrixCache:this._posMatrixCache;if(s[a])return s[a];const o=this.calculateTileMatrix(t);return e.L(o,i?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,o),s[a]=new Float32Array(o),s[a]}calculateFogMatrix(t){const i=t.key,a=this._fogMatrixCache;if(a[i])return a[i];const s=this.calculateTileMatrix(t);return e.L(s,this.fogMatrix,s),a[i]=new Float32Array(s),a[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ac(+i,this.minZoom,this.maxZoom);const a={center:new e.N(t.lng,t.lat),zoom:i};let s=this.lngRange;if(!this._renderWorldCopies&&null===s){const t=180-1e-10;s=[-t,t];}const o=this.tileSize*this.zoomScale(a.zoom);let r=0,n=o,l=0,h=o,c=0,u=0;const{x:d,y:_}=this.size;if(this.latRange){const t=this.latRange;r=e.Q(t[1])*o,n=e.Q(t[0])*o,n-r<_&&(c=_/(n-r));}s&&(l=e.b2(e.O(s[0])*o,0,o),h=e.b2(e.O(s[1])*o,0,o),hn&&(g=n-t);}if(s){const t=(l+h)/2;let i=p;this._renderWorldCopies&&(i=e.b2(p,t-o/2,t+o/2));const a=d/2;i-ah&&(f=h-a);}if(void 0!==f||void 0!==g){const t=new e.P(null!=f?f:p,null!=g?g:m);a.center=this.unproject.call({worldSize:o},t).wrap();}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b4(1,this.center.lat)*this.worldSize;let s=e.an(new Float64Array(16));e.K(s,s,[this.width/2,-this.height/2,1]),e.J(s,s,[1,-1,0]),this.labelPlaneMatrix=s,s=e.an(new Float64Array(16)),e.K(s,s,[1,-1,1]),e.J(s,s,[-1,-1,0]),e.K(s,s,[2/this.width,2/this.height,1]),this.glCoordMatrix=s;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),r=Math.min(this.elevation,this.minElevationForCurrentTile),n=o-r*this._pixelPerMeter/Math.cos(this._pitch),l=r<0?n:o,h=Math.PI/2+this._pitch,c=this._fov*(.5+t.y/this.height),u=Math.sin(c)*l/Math.sin(e.ac(Math.PI-h-c,.01,Math.PI-.01)),d=this.getHorizon(),_=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),p=Math.sin(_)*l/Math.sin(e.ac(Math.PI-h-_,.01,Math.PI-.01)),m=Math.min(u,p);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,s=new Float64Array(16),e.b5(s,this._fov,this.width/this.height,this.nearZ,this.farZ),s[8]=2*-t.x/this.width,s[9]=2*t.y/this.height,this.projectionMatrix=e.ae(s),e.K(s,s,[1,-1,1]),e.J(s,s,[0,0,-this.cameraToCenterDistance]),e.b6(s,s,this._pitch),e.ad(s,s,this.angle),e.J(s,s,[-i,-a,0]),this.mercatorMatrix=e.K([],s,[this.worldSize,this.worldSize,this.worldSize]),e.K(s,s,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,s),e.J(s,s,[0,0,-this.elevation]),this.modelViewProjectionMatrix=s,this.invModelViewProjectionMatrix=e.as([],s),this.fogMatrix=new Float64Array(16),e.b5(this.fogMatrix,this._fov,this.width/this.height,o,this.farZ),this.fogMatrix[8]=2*-t.x/this.width,this.fogMatrix[9]=2*t.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b6(this.fogMatrix,this.fogMatrix,this._pitch),e.ad(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-i,-a,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,s);const f=this.width%2/2,g=this.height%2/2,v=Math.cos(this.angle),x=Math.sin(this.angle),y=i-Math.round(i)+v*f+x*g,b=a-Math.round(a)+v*g+x*f,w=new Float64Array(s);if(e.J(w,w,[y>.5?y-1:y,b>.5?b-1:b,0]),this.alignedModelViewProjectionMatrix=w,s=e.as(new Float64Array(16),this.pixelMatrix),!s)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=s,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.af(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return [t[0],i];{let a=i.x,s=i.y,o=i.x,r=i.y;for(const e of t)a=Math.min(a,e.x),s=Math.min(s,e.y),o=Math.max(o,e.x),r=Math.max(r,e.y);return [new e.P(a,s),new e.P(o,s),new e.P(o,r),new e.P(a,r),new e.P(a,s)]}}lngLatToCameraDepth(t,i){const a=this.locationCoordinate(t),s=[a.x*this.worldSize,a.y*this.worldSize,i,1];return e.af(s,s,this.modelViewProjectionMatrix),s[2]/s[3]}}function va(t,e){let i,a=!1,s=null,o=null;const r=()=>{s=null,a&&(t.apply(o,i),s=setTimeout(r,e),a=!1);};return (...t)=>(a=!0,o=this,i=t,s||r(),s)}class xa{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t);},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join(\"/\");let i=e;i.split(\"&\").length>0&&(i=i.split(\"&\")[0]),this._hashName&&(i=`${this._hashName}=${e}`);let a=window.location.hash.replace(i,\"\");a.startsWith(\"#&\")?a=a.slice(0,1)+a.slice(2):\"#\"===a&&(a=\"\");let s=window.location.href.replace(/(#.+)?$/,a);s=s.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,s);},this._updateHash=va(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t);}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,a=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),s=Math.pow(10,a),o=Math.round(e.lng*s)/s,r=Math.round(e.lat*s)/s,n=this._map.getBearing(),l=this._map.getPitch();let h=\"\";if(h+=t?`/${o}/${r}/${i}`:`${i}/${r}/${o}`,(n||l)&&(h+=\"/\"+Math.round(10*n)/10),l&&(h+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const a=i.split(\"=\")[0];return a===t?(e=!0,`${a}=${h}`):i})).filter((t=>t));return e||i.push(`${t}=${h}`),`#${i.join(\"&\")}`}return `#${h}`}}const ya={linearity:.3,easing:e.b7(0,0,.3,1)},ba=e.e({deceleration:2500,maxSpeed:1400},ya),wa=e.e({deceleration:20,maxSpeed:1400},ya),Ta=e.e({deceleration:1e3,maxSpeed:360},ya),Ia=e.e({deceleration:1e3,maxSpeed:90},ya);class Ea{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=o.now();for(;t.length>0&&e-t[0].time>160;)t.shift();}_onMoveEnd(t){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:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){const o=Ca(i.pan.mag(),a,e.e({},ba,t||{}));s.offset=i.pan.mult(o.amount/i.pan.mag()),s.center=this._map.transform.center,Pa(s,o);}if(i.zoom){const t=Ca(i.zoom,a,wa);s.zoom=this._map.transform.zoom+t.amount,Pa(s,t);}if(i.bearing){const t=Ca(i.bearing,a,Ta);s.bearing=this._map.transform.bearing+e.ac(t.amount,-179,179),Pa(s,t);}if(i.pitch){const t=Ca(i.pitch,a,Ia);s.pitch=this._map.transform.pitch+t.amount,Pa(s,t);}if(s.zoom||s.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;s.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),e.e(s,{noMoveStart:!0})}}function Pa(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,a)=>t.add(e.div(a.length))),new e.P(0,0));super(t,{points:o,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:a}),this._defaultPrevented=!1;}}class Da extends e.k{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}}class Ma{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new Da(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Sa(t.type,this._map,t))}mouseup(t){this._map.fire(new Sa(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Sa(t.type,this._map,t));}dblclick(t){return this._firePreventable(new Sa(t.type,this._map,t))}mouseover(t){this._map.fire(new Sa(t.type,this._map,t));}mouseout(t){this._map.fire(new Sa(t.type,this._map,t));}touchstart(t){return this._firePreventable(new za(t.type,this._map,t))}touchmove(t){this._map.fire(new za(t.type,this._map,t));}touchend(t){this._map.fire(new za(t.type,this._map,t));}touchcancel(t){this._map.fire(new za(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Aa{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new Sa(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Sa(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Sa(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Ra{constructor(t){this._map=t;}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return {lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class ka{constructor(t,e){this._map=t,this._tr=new Ra(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(a,s,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",t);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function La(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),a.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=La(a,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const a=La(i,e);for(const t in this.touches){const e=a[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0);}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class Ba{constructor(t){this.singleTap=new Fa(t),this.numTaps=t.numTaps,this.reset();}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();}touchstart(t,e,i){this.singleTap.touchstart(t,e,i);}touchmove(t,e,i){this.singleTap.touchmove(t,e,i);}touchend(t,e,i){const a=this.singleTap.touchend(t,e,i);if(a){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(a)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=a,this.count===this.numTaps)return this.reset(),a}}}class Oa{constructor(t){this._tr=new Ra(t),this._zoomIn=new Ba({numTouches:1,numTaps:2}),this._zoomOut=new Ba({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);}touchend(t,e,i){const a=this._zoomIn.touchend(t,e,i),s=this._zoomOut.touchend(t,e,i),o=this._tr;return a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(a)},{originalEvent:t})}):s?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(s)},{originalEvent:t})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Na{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset();}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t);}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0));}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const a=e.length?e[0]:e;return !this._moved&&a.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault();};},Va=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Na({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:qa})},Ga=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Na({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:qa})};class Ha{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0);}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active){if(!this._shouldBePrevented(i.length))return t.preventDefault(),this._calculateTransform(t,e,i);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",t);}}touchend(t,e,i){this._calculateTransform(t,e,i),this._active&&this._shouldBePrevented(i.length)&&this.reset();}touchcancel(){this.reset();}_calculateTransform(t,i,a){a.length>0&&(this._active=!0);const s=La(a,i),o=new e.P(0,0),r=new e.P(0,0);let n=0;for(const t in s){const e=s[t],i=this._touches[t];i&&(o._add(e),r._add(e.sub(i)),n++,s[t]=e);}if(this._touches=s,this._shouldBePrevented(n)||!r.mag())return;const l=r.div(n);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class ts extends Wa{constructor(t){super(),this._currentTouchCount=0,this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,Qa(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const a=t[0].sub(this._lastPoints[0]),s=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(a,s,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(a.y+s.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const a=t.mag()>=2,s=e.mag()>=2;if(!a&&!s)return;if(!a||!s)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Qa(t)&&Qa(e)&&o}}const es={panStep:100,bearingStep:15,pitchStep:10};class is{constructor(t){this._tr=new Ra(t);const e=es;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,a=0,s=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),s=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),s=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,a=0),{cameraAnimation:r=>{const n=this._tr;r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:as,zoom:e?Math.round(n.zoom)+e*(t.shiftKey?2:1):n.zoom,bearing:n.bearing+i*this._bearingStep,pitch:n.pitch+a*this._pitchStep,offset:[-s*this._panStep,-o*this._panStep],center:n.center},{originalEvent:t});}}}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 as(t){return t*(2-t)}const ss=4.000244140625;class os{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},this._map=t,this._tr=new Ra(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222;}setZoomRate(t){this._defaultZoomRate=t;}setWheelZoomRate(t){this._wheelZoomRate=t;}isEnabled(){return !!this._enabled}isActive(){return !!this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around);}disable(){this.isEnabled()&&(this._enabled=!1);}_shouldBePrevented(t){return !!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=o.now(),a=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%ss==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(a*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault();}_start(t){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 i=r.mousePos(this._map.getCanvas(),t),a=this._tr;this._around=i.y>a.transform.height/2-a.transform.getHorizon()?e.N.convert(this._aroundCenter?a.center:a.unproject(i)):e.N.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>ss?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const a=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:t.zoom,a=this._startZoom,s=this._easing;let r,n=!1;const l=o.now()-this._lastWheelEventTime;if(\"wheel\"===this._type&&a&&s&&l){const t=Math.min(l/200,1),o=s(t);r=e.y.number(a,i,o),t<1?this._frameId||(this._frameId=!0):n=!0;}else r=i,n=!0;return this._active=!0,n&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!n,zoomDelta:r-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b8;if(this._prevEase){const t=this._prevEase,a=(o.now()-t.start)/t.duration,s=t.easing(a+.01)-t.easing(a),r=.27/Math.sqrt(s*s+1e-4)*.01,n=Math.sqrt(.0729-r*r);i=e.b7(r,n,.25,1);}return this._prevEase={start:o.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);}}class rs{constructor(t,e){this._clickZoom=t,this._tapZoom=e;}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 ns{constructor(t){this._tr=new Ra(t),this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class ls{constructor(){this._tap=new Ba({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset();}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const a=e[0],s=t.timeStamp-this._tapTime<500,o=this._tapPoint.dist(a)<30;s&&o?i.length>0&&(this._swipePoint=a,this._swipeTouch=i[0].identifier):this.reset();}else this._tap.touchstart(t,e,i);}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const a=e[0],s=a.y-this._swipePoint.y;return this._swipePoint=a,t.preventDefault(),this._active=!0,{zoomDelta:s/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else {const a=this._tap.touchend(t,e,i);a&&(this._tapTime=t.timeStamp,this._tapPoint=a);}}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class hs{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class cs{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,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 us{constructor(t,e,i,a){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=a,this._rotationDisabled=!1,this._enabled=!0;}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}class ds{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._map=t,this._options=e,this._enabled=!1;}isActive(){return !1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add(\"maplibregl-cooperative-gestures\"),this._container=r.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");\"metaKey\"===this._bypassKey&&(e=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));const i=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),a=document.createElement(\"div\");a.className=\"maplibregl-desktop-message\",a.textContent=e,this._container.appendChild(a);const s=document.createElement(\"div\");s.className=\"maplibregl-mobile-message\",s.textContent=i,this._container.appendChild(s),this._container.setAttribute(\"aria-hidden\",\"true\");}_destroyUI(){this._container&&(r.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container;}enable(){this._setupUI(),this._enabled=!0;}disable(){this._enabled=!1,this._destroyUI();}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,i){this._enabled&&(this._map.fire(new e.k(\"cooperativegestureprevented\",{gestureType:t,originalEvent:i})),this._container.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._container.classList.remove(\"maplibregl-show\");}),100));}}const _s=t=>t.zoom||t.drag||t.pitch||t.rotate;class ps extends e.k{}function ms(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class fs{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`);},this.handleEvent=(t,e)=>{if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},s={},o={},n=t.touches,l=n?this._getMapTouches(n):void 0,h=l?r.touchPos(this._map.getCanvas(),l):r.mousePos(this._map.getCanvas(),t);for(const{handlerName:r,handler:n,allowed:c}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(o,c,r)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,h,l),this.mergeHandlerResult(a,s,u,r,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(o[r]=n);}const c={};for(const t in this._previousActiveHandlers)o[t]||(c[t]=i);this._previousActiveHandlers=o,(Object.keys(c).length||ms(a))&&(this._changes.push([a,s,c]),this._triggerRenderFrame()),(Object.keys(o).length||ms(a))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=a;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ea(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)r.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)r.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Ma(e,t));const a=e.boxZoom=new ka(e,t);this._add(\"boxZoom\",a),t.interactive&&t.boxZoom&&a.enable();const s=e.cooperativeGestures=new ds(e,t.cooperativeGestures);this._add(\"cooperativeGestures\",s),t.cooperativeGestures&&s.enable();const o=new Oa(e),n=new ns(e);e.doubleClickZoom=new rs(n,o),this._add(\"tapZoom\",o),this._add(\"clickZoom\",n),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new ls;this._add(\"tapDragZoom\",l);const h=e.touchPitch=new ts(e);this._add(\"touchPitch\",h),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Va(t),u=Ga(t);e.dragRotate=new cs(t,c,u),this._add(\"mouseRotate\",c,[\"mousePitch\"]),this._add(\"mousePitch\",u,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new Ua({checkCorrectEvent:t=>0===r.mouseButton(t)&&!t.ctrlKey});return new Na({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:qa})})(t),_=new Ha(t,e);e.dragPan=new hs(i,d,_),this._add(\"mousePan\",d),this._add(\"touchPan\",_,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const p=new Ya,m=new Ka;e.touchZoomRotate=new us(i,m,p,l),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const f=e.scrollZoom=new os(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",f,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new is(e);this._add(\"keyboard\",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new Aa(e));}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return Boolean(_s(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const a in t)if(a!==i&&(!e||e.indexOf(a)<0))return !0;return !1}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,a,s,o){if(!a)return;e.e(t,a);const r={handlerName:s,originalEvent:a.originalEvent||o};void 0!==a.zoomDelta&&(i.zoom=r),void 0!==a.panDelta&&(i.drag=r),void 0!==a.pitchDelta&&(i.pitch=r),void 0!==a.bearingDelta&&(i.rotate=r);}_applyChanges(){const t={},i={},a={};for(const[s,o,r]of this._changes)s.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(s.panDelta)),s.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(t.around=s.around),void 0!==s.pinchAround&&(t.pinchAround=s.pinchAround),s.noInertia&&(t.noInertia=s.noInertia),e.e(i,o),e.e(a,r);this._updateMapTransform(t,i,a),this._changes=[];}_updateMapTransform(t,e,i){const a=this._map,s=a._getTransformForUpdate(),o=a.terrain;if(!(ms(t)||o&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:r,zoomDelta:n,bearingDelta:l,pitchDelta:h,around:c,pinchAround:u}=t;void 0!==u&&(c=u),a._stop(!0),c=c||a.transform.centerPoint;const d=s.pointLocation(r?c.sub(r):c);l&&(s.bearing+=l),h&&(s.pitch+=h),n&&(s.zoom+=n),o?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?s.center=s.pointLocation(s.centerPoint.sub(r)):s.setLocationAtPoint(d,c):(this._terrainMovement=!0,this._map._elevationFreeze=!0,s.setLocationAtPoint(d,c)):s.setLocationAtPoint(d,c),a._applyUpdatedTransform(s),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);}_fireEvents(t,i,a){const s=_s(this._eventsInProgress),r=_s(t),n={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(n[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!s&&r&&this._fireEvent(\"movestart\",r.originalEvent);for(const t in n)this._fireEvent(t,n[t]);r&&this._fireEvent(\"move\",r.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const l={};let h;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:a}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],h=i[e]||a,l[`${t}end`]=h);}for(const t in l)this._fireEvent(t,l[t]);const c=_s(this._eventsInProgress),u=(s||r)&&!c;if(u&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t);}if(a&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new ps(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}class gs extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState;}));}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,i,a){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),a)}panTo(t,i,a){return this.easeTo(e.e({center:t},i),a)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,a){return this.easeTo(e.e({zoom:t},i),a)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,i,a){return this.easeTo(e.e({bearing:t},i),a)}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(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(s.zoom=e.y.number(r,g,a)),this._rotating&&(s.bearing=e.y.number(n,c,a)),this._pitching&&(s.pitch=e.y.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a),b)s.setLocationAtPoint(b,w);else {const t=s.zoomScale(s.zoom-r),e=g>r?Math.min(2,y):Math.max(.5,y),i=Math.pow(e,1-a),o=s.unproject(v.add(x.mult(a*i)).mult(t));s.setLocationAtPoint(s.renderWorldCopies?o.wrap():o,p);}this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,a={}){this._moving=!0,i||a.moving||this.fire(new e.k(\"movestart\",t)),this._zooming&&!a.zooming&&this.fire(new e.k(\"zoomstart\",t)),this._rotating&&!a.rotating&&this.fire(new e.k(\"rotatestart\",t)),this._pitching&&!a.pitching&&this.fire(new e.k(\"pitchstart\",t));}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0;}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i;}this.transform.elevation=e.y.number(this._elevationStart,this._elevationTarget,t);}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain);}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),i=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const i=t.clone();for(const t of e){const e=i.clone(),{center:a,zoom:s,pitch:o,bearing:r,elevation:n}=t(e);a&&(e.center=a),void 0!==s&&(e.zoom=s),void 0!==o&&(e.pitch=o),void 0!==r&&(e.bearing=r),void 0!==n&&(e.elevation=n),i.apply(e);}this.transform.apply(i);}_fireMoveEvents(t){this.fire(new e.k(\"move\",t)),this._zooming&&this.fire(new e.k(\"zoom\",t)),this._rotating&&this.fire(new e.k(\"rotate\",t)),this._pitching&&this.fire(new e.k(\"pitch\",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const a=this._zooming,s=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new e.k(\"zoomend\",t)),s&&this.fire(new e.k(\"rotateend\",t)),o&&this.fire(new e.k(\"pitchend\",t)),this.fire(new e.k(\"moveend\",t));}flyTo(t,i){var a;if(!t.essential&&o.prefersReducedMotion){const a=e.M(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(a,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b8},t);const s=this._getTransformForUpdate(),r=s.zoom,n=s.bearing,l=s.pitch,h=s.padding,c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,u=\"pitch\"in t?+t.pitch:l,d=\"padding\"in t?t.padding:s.padding,_=e.P.convert(t.offset);let p=s.centerPoint.add(_);const m=s.pointLocation(p),{center:f,zoom:g}=s.getConstrained(e.N.convert(t.center||m),null!==(a=t.zoom)&&void 0!==a?a:r);this._normalizeCenter(f,s);const v=s.zoomScale(g-r),x=s.project(m),y=s.project(f).sub(x);let b=t.curve;const w=Math.max(s.width,s.height),T=w/v,I=y.mag();if(\"minZoom\"in t){const i=e.ac(Math.min(t.minZoom,r,g),s.minZoom,s.maxZoom),a=w/s.zoomScale(i-r);b=Math.sqrt(a/I*2);}const E=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*E*E*I*I)/(2*(t?T:w)*E*I);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return (Math.exp(t)-Math.exp(-t))/2}function S(t){return (Math.exp(t)+Math.exp(-t))/2}const z=P(!1);let D=function(t){return S(z)/S(z+b*t)},M=function(t){return w*((S(z)*(C(e=z+b*t)/S(e))-C(z))/E)/I;var e;},A=(P(!0)-z)/b;if(Math.abs(I)<1e-6||!isFinite(A)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,D=t=>Math.exp(e*b*t);}return t.duration=\"duration\"in t?+t.duration:1e3*A/(\"screenSpeed\"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=n!==c,this._pitching=u!==l,this._padding=!s.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(f),this._ease((a=>{const o=a*A,m=1/D(o);s.zoom=1===a?g:r+s.scaleZoom(m),this._rotating&&(s.bearing=e.y.number(n,c,a)),this._pitching&&(s.pitch=e.y.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a);const v=1===a?f:s.unproject(x.add(y.mult(M(o))).mult(m));s.setLocationAtPoint(s.renderWorldCopies?v.wrap():v,p),this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i);}),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=o.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_normalizeBearing(t,i){t=e.b2(t,-180,180);const a=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const vs={compact:!0,customAttribution:'MapLibre'};class xs{constructor(t=vs){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")));},this._updateData=t=>{!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType&&\"terrain\"!==t.type||this._updateAttributions();},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"));},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\");},this.options=t;}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=r.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=r.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id;}const e=this._map.style.sourceCaches;for(const i in e){const a=e[i];if(a.used||a.usedForTerrain){const e=a.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution);}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let a=i+1;a=0)return !1;return !0}));const i=t.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null);}}class ys{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\"):e.classList.remove(\"maplibregl-compact\");}},this.options=t;}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=r.create(\"div\",\"maplibregl-ctrl\");const e=r.create(\"a\",\"maplibregl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){r.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}}class bs{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}var ws=e.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class Ts extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const a={};for(const s of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))a[s.key]=!0,this._renderableTilesKeys.push(s.key),this._tiles[s.key]||(s.posMatrix=new Float64Array(16),e.aP(s.posMatrix,0,e.X,0,e.X,0,1),this._tiles[s.key]=new lt(s,this.tileSize));for(const t in this._tiles)a[t]||delete this._tiles[t];}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[]);}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const a of this._renderableTilesKeys){const s=this._tiles[a].tileID;if(s.canonical.equals(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16),e.aP(s.posMatrix,0,e.X,0,e.X,0,1),i[a]=s;}else if(s.canonical.isChildOf(t.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=s.canonical.z-t.canonical.z,n=s.canonical.x-(s.canonical.x>>r<>r<>r;e.aP(o.posMatrix,0,h,0,h,0,1),e.J(o.posMatrix,o.posMatrix,[-n*h,-l*h,0]),i[a]=o;}else if(t.canonical.isChildOf(s.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=t.canonical.z-s.canonical.z,n=t.canonical.x-(t.canonical.x>>r<>r<>r;e.aP(o.posMatrix,0,e.X,0,e.X,0,1),e.J(o.posMatrix,o.posMatrix,[n*h,l*h,0]),e.K(o.posMatrix,o.posMatrix,[1/2**r,1/2**r,0]),i[a]=o;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let a=t.overscaledZ-this.deltaZoom;if(a>i.maxzoom&&(a=i.maxzoom),a=i.minzoom&&(!s||!s.dem);)s=this.sourceCache.getTileByID(t.scaledTo(a--).key);return s}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Is{constructor(t,e,i){this.painter=t,this.sourceCache=new Ts(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024;}getDEMElevation(t,i,a,s=e.X){var o;if(!(i>=0&&i=0&&at.canonical.z&&(t.canonical.z>=a?s=t.canonical.z-a:e.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const o=t.canonical.x-(t.canonical.x>>s<>s<>8<<4|t>>8,i[e+3]=0;const a=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),s=new b(t,a,t.gl.RGBA,{premultiply:!1});return s.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=s,s}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),a=this.painter.context,s=a.gl,o=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),r=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),n=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(o,n-r-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),h=i[1]+((15&i[2])<<8),c=this.coordsIndex[255-i[3]],u=c&&this.sourceCache.getTileByID(c);if(!u)return null;const d=this._coordsTextureSize,_=(1<t.id!==e)),this._recentlyUsed.push(t.id);}stampObject(t){t.stamp=++this._stamp;}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1;}freeAllObjects(){for(const t of this._objects)this.freeObject(t);}isFull(){return !(this._objects.length!t.inUse))}}const Ps={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Cs{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Es(t.context,30,e.sourceCache.tileSize*e.qualityFactor);}destruct(){this.pool.destruct();}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t]);}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],a=i.source;if(Ps[i.type]&&!this._coordsDescendingInvStr[a]){this._coordsDescendingInvStr[a]={};for(const t in this._coordsDescendingInv[a])this._coordsDescendingInvStr[a][t]=this._coordsDescendingInv[a][t].map((t=>t.key)).sort().join();}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[]);}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return !1;const i=t.type,a=this.painter,s=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Ps[i]&&(this._prevType&&Ps[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!s))return !0;if(Ps[this._prevType]||Ps[i]&&s){this._prevType=i;const t=this._stacks.length-1,s=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(ca(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[t]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:e.aM.transparent,stencil:0}),a.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd;},As={showCompass:!0,showZoom:!0,visualizePitch:!1};class Rs{constructor(t,i,a=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),r.mousePos(this.element,t)),r.addEventListener(window,\"mousemove\",this.mousemove),r.addEventListener(window,\"mouseup\",this.mouseup);},this.mousemove=t=>{this.moveMouse(t,r.mousePos(this.element,t));},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp();},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),r.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.addEventListener(window,\"touchend\",this.touchend));},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos));},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();},this._clickTolerance=10;const s=t.dragRotate._mouseRotate.getClickTolerance(),o=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=Va({clickTolerance:s,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Za;return new Na({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:Ms})})({clickTolerance:s,enable:!0}),this.map=t,a&&(this.mousePitch=Ga({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Za;return new Na({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:Ms})})({clickTolerance:o,enable:!0})),r.addEventListener(i,\"mousedown\",this.mousedown),r.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(i,\"touchcancel\",this.reset);}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),r.disableDrag();}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),r.disableDrag();}moveMouse(t,e){const i=this.map,{bearingDelta:a}=this.mouseRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.mousePitch){const{pitchDelta:a}=this.mousePitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}moveTouch(t,e){const i=this.map,{bearingDelta:a}=this.touchRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.touchPitch){const{pitchDelta:a}=this.touchPitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}off(){const t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){r.enableDrag(),r.removeEventListener(window,\"mousemove\",this.mousemove),r.removeEventListener(window,\"mouseup\",this.mouseup),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend);}}let ks;function Ls(t,i,a){const s=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),i){const s=new e.N(t.lng-360,t.lat),o=new e.N(t.lng+360,t.lat),r=a.locationPoint(t).distSqr(i);a.locationPoint(s).distSqr(i)180;){const e=a.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=a.width&&e.y<=a.height)break;t.lng>a.center.lng?t.lng-=360:t.lng+=360;}return t.lng!==s.lng&&a.locationPoint(t).y>a.height/2-a.getHorizon()?t:s}const Fs={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Bs(t,e,i){const a=t.classList;for(const t in Fs)a.remove(`maplibregl-${i}-anchor-${t}`);a.add(`maplibregl-${i}-anchor-${e}`);}class Os extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();(\"terrain\"===(null==t?void 0:t.type)||\"render\"===(null==t?void 0:t.type)&&!i)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ls(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let a=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?a=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(a=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let s=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?s=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(s=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,`${Fs[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${a}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&\"moveend\"===t.type);})).catch((()=>{}));},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e;}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new e.k(\"dragstart\"))),this.fire(new e.k(\"drag\")));},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new e.k(\"dragend\")),this._state=\"inactive\";},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},this._anchor=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._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&\"auto\"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=r.create(\"div\");const i=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),a=41,s=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${a}px`),i.setAttributeNS(null,\"width\",`${s}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${s} ${a}`);const o=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");o.setAttributeNS(null,\"stroke\",\"none\"),o.setAttributeNS(null,\"stroke-width\",\"1\"),o.setAttributeNS(null,\"fill\",\"none\"),o.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const h=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(const t of h){const e=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e);}const c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"fill\",this._color);const u=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");u.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),c.appendChild(u);const d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),d.appendChild(_);const p=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),p.setAttributeNS(null,\"fill\",\"#FFFFFF\");const m=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");f.setAttributeNS(null,\"fill\",\"#000000\"),f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"cx\",\"5.5\"),f.setAttributeNS(null,\"cy\",\"5.5\"),f.setAttributeNS(null,\"r\",\"5.4999962\");const g=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(f),m.appendChild(g),n.appendChild(l),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(m),i.appendChild(n),i.setAttributeNS(null,\"height\",a*this._scale+\"px\"),i.setAttributeNS(null,\"width\",s*this._scale+\"px\"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14]);}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),Bs(this._element,this._anchor,\"marker\"),t&&t.className)for(const e of t.className.split(\" \"))this._element.classList.add(e);this._popup=null;}addTo(t){return this.remove(),this._map=t,this._element.setAttribute(\"aria-label\",t._getUIString(\"Marker.Title\")),t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),t.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,i=13.5,a=Math.abs(i)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[a,-1*(e-i+a)],\"bottom-right\":[-a,-1*(e-i+a)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,a;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else {if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null;}),100);}const s=this._map,o=s.terrain.depthAtPoint(this._pos),r=s.terrain.getElevationForLngLatZoom(this._lngLat,s.transform.tileZoom);if(s.transform.lngLatToCameraDepth(this._lngLat,r)-o<.006)return void(this._element.style.opacity=this._opacity);const n=-this._offset.y/s.transform._pixelPerMeter,l=Math.sin(s.getPitch()*Math.PI/180)*n,h=s.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),c=s.transform.lngLatToCameraDepth(this._lngLat,r+l)-h>.006;(null===(a=this._popup)||void 0===a?void 0:a.isOpen())&&c&&this._popup.remove(),this._element.style.opacity=c?this._opacityWhenCovered:this._opacity;}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t);}removeClassName(t){this._element.classList.remove(t);}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Ns={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let js=0,Us=!1;const Zs={maxWidth:100,unit:\"metric\"};function qs(t,e,i){const a=i&&i.maxWidth||100,s=t._container.clientHeight/2,o=t.unproject([0,s]),r=t.unproject([a,s]),n=o.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?Vs(e,a,i/5280,t._getUIString(\"ScaleControl.Miles\")):Vs(e,a,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Vs(e,a,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?Vs(e,a,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Vs(e,a,n,t._getUIString(\"ScaleControl.Meters\"));}function Vs(t,e,i,a){const s=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(s/i)+\"px\",t.innerHTML=`${s} ${a}`;}const Gs={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Hs=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Ws(t){if(t){if(\"number\"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return {center:new e.P(0,0),top:new e.P(0,t),\"top-left\":new e.P(i,i),\"top-right\":new e.P(-i,i),bottom:new e.P(0,-t),\"bottom-left\":new e.P(i,-i),\"bottom-right\":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),\"top-left\":e.P.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.P.convert(t[\"top-right\"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),\"bottom-left\":e.P.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.P.convert(t[\"bottom-right\"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return Ws(new e.P(0,0))}const $s=i;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=xs,t.BoxZoomHandler=ka,t.CanvasSource=et,t.CooperativeGesturesHandler=ds,t.DoubleClickZoomHandler=rs,t.DragPanHandler=hs,t.DragRotateHandler=cs,t.EdgeInsets=ma,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange();},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen();},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.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\");}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){r.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange);}_setupUI(){const t=this._fullscreenButton=r.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"maplibregl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange);}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new e.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable());}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen();}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen();}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize();}},t.GeoJSONSource=J,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k(\"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(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"geolocate\",t)),this._finish();}},this._updateCamera=t=>{const i=new e.N(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,s=this._map.getBearing(),o=e.e({bearing:s},this.options.fitBoundsOptions),r=H.fromLngLat(i,a);this._map.fitBounds(r,o,{geolocateSource:!0});},this._updateMarker=t=>{if(t){const i=new e.N(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();},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===t.code&&Us)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"error\",t)),this._finish();}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=r.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0);},this._finishSetupUI=t=>{if(this._map){if(!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.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Os({element:this._dotElement}),this._circleElement=r.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Os({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||t.originalEvent&&\"resize\"===t.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new e.k(\"trackuserlocationend\")),this.fire(new e.k(\"userlocationlostfocus\")));}));}},this.options=e.e({},Ns,t);}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==ks&&!t)return ks;if(void 0===window.navigator.permissions)return ks=!!window.navigator.geolocation,ks;try{const t=yield window.navigator.permissions.query({name:\"geolocation\"});ks=\"denied\"!==t.state;}catch(t){ks=!!window.navigator.geolocation;}return ks}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,js=0,Us=!1;}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),a=e.distanceTo(i),s=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${s}px`,this._circleElement.style.height=`${s}px`;}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.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":js--,Us=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new e.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k(\"trackuserlocationstart\")),this.fire(new e.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),js++,js>1?(t={maximumAge:6e5,timeout:0},Us=!0):(t=this.options.positionOptions,Us=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},t.Hash=xa,t.ImageSource=Q,t.KeyboardHandler=is,t.LngLatBounds=H,t.LogoControl=ys,t.Map=class extends gs{constructor(t){e.be.mark(e.bf.create);const i=Object.assign(Object.assign({},Ds),t);if(null!=i.minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=i.minPitch&&null!=i.maxPitch&&i.minPitch>i.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=i.minPitch&&i.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=i.maxPitch&&i.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new ga(i.minZoom,i.maxZoom,i.minPitch,i.maxPitch,i.renderWorldCopies),{bearingSnap:i.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new bs,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k(\"webglcontextlost\",{originalEvent:t}));},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k(\"webglcontextrestored\",{originalEvent:t}));},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update();},this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._maxTileCacheZoomLevels=i.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===i.preserveDrawingBuffer,this._antialias=!0===i.antialias,this._trackResize=!0===i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=!0===i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=!0===i.crossSourceCollisions,this._collectResourceTiming=!0===i.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ss),i.locale),this._clickTolerance=i.clickTolerance,this._overridePixelRatio=i.pixelRatio,this._maxCanvasSize=i.maxCanvasSize,this.transformCameraUpdate=i.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===i.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=_.addThrottleControl((()=>this.isMoving())),this._requestManager=new p(i.transformRequest),\"string\"==typeof i.container){if(this._container=document.getElementById(i.container),!this._container)throw new Error(`Container '${i.container}' not found.`)}else {if(!(i.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=i.container;}if(i.maxBounds&&this.setMaxBounds(i.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))).on(\"moveend\",(()=>this._update(!1))).on(\"zoom\",(()=>this._update(!0))).on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})).once(\"idle\",(()=>{this._idleTriggered=!0;})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=va((t=>{this._trackResize&&!this._removed&&this.resize(t)._update();}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0;})),this._resizeObserver.observe(this._container);}this.handlers=new fs(this,i),this._hash=i.hash&&new xa(\"string\"==typeof i.hash&&i.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch}),i.bounds&&(this.resize(),this.fitBounds(i.bounds,e.e({},i.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=i.localIdeographFontFamily,this._validateStyle=i.validateStyle,i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily}),i.attributionControl&&this.addControl(new xs(\"boolean\"==typeof i.attributionControl?void 0:i.attributionControl)),i.maplibreLogo&&this.addControl(new ys,i.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t));})),this.on(\"dataloading\",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t));})),this.on(\"dataabort\",(t=>{this.fire(new e.k(\"sourcedataabort\",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.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const a=t.onAdd(this);this._controls.push(t);const s=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?s.insertBefore(a,s.firstChild):s.appendChild(a),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(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(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,a){return null==a&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,a)}resize(t){var i;const a=this._containerDimensions(),s=a[0],o=a[1],r=this._getClampedPixelRatio(s,o);if(this._resizeCanvas(s,o,r),this.painter.resize(s,o,r),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(s,o);this._resizeCanvas(s,o,e),this.painter.resize(s,o,e);}this.transform.resize(s,o),null===(i=this._requestedCameraState)||void 0===i||i.resize(s,o);const n=!this._moving;return n&&(this.stop(),this.fire(new e.k(\"movestart\",t)).fire(new e.k(\"move\",t))),this.fire(new e.k(\"resize\",t)),n&&this.fire(new e.k(\"moveend\",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:a}=this._maxCanvasSize,s=this.getPixelRatio(),o=t*s,r=e*s;return Math.min(o>i?i/o:1,r>a?a/r:1)*s}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize();}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(H.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;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;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let a=!1;const s=s=>{const o=this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[];o.length?a||(a=!0,i.call(this,new Sa(t,this,s.originalEvent,{features:o}))):a=!1;};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:()=>{a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let a=!1;const s=s=>{(this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[]).length?a=!0:a&&(a=!1,i.call(this,new Sa(t,this,s.originalEvent)));},o=e=>{a&&(a=!1,i.call(this,new Sa(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:o}}}{const a=t=>{const a=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];a.length&&(t.features=a,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:a}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const a=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(a);for(const t in a.delegates)this.on(t,a.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const a=this._createDelegatedListener(t,e,i);for(const t in a.delegates)this.once(t,a.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(a=>{const s=this._delegatedListeners[t];for(let t=0;tthis._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new ue(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ue(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());}_diffStyle(t,i){if(\"string\"==typeof t){const a=this._requestManager.transformRequest(t,\"Style\");e.h(a,new AbortController).then((t=>{this._updateDiff(t.data,i);})).catch((t=>{t&&this.fire(new e.j(t));}));}else \"object\"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0);}catch(a){e.w(`Unable to perform style diff: ${a.message||a.error||a}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}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.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)));}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const a=this.style._layers[i];\"hillshade\"===a.type&&a.source===t.source&&e.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\");}this.terrain=new Is(this.painter,i,t),this.painter.renderToTexture=new Cs(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{\"style\"===e.dataType?this.terrain.sourceCache.freeRtt():\"source\"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID));},this.style.on(\"data\",this._terrainDataCallback);}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k(\"terrain\",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}}return !0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,a={}){const{pixelRatio:s=1,sdf:r=!1,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u}=a;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(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`\")));{const{width:a,height:o,data:d}=i,_=i;return this.style.addImage(t,{data:new e.R({width:a,height:o},new Uint8Array(d)),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0,userImage:_}),_.onAdd&&_.onAdd(this,t),this}}{const{width:a,height:d,data:_}=o.getImageData(i);this.style.addImage(t,{data:new e.R({width:a,height:d},_),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0});}}updateImage(t,i){const a=this.style.getImage(t);if(!a)return this.fire(new e.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const s=i instanceof HTMLImageElement||e.b(i)?o.getImageData(i):i,{width:r,height:n,data:l}=s;if(void 0===r||void 0===n)return this.fire(new e.j(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(r!==a.data.width||n!==a.data.height)return this.fire(new e.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const h=!(i instanceof HTMLImageElement||e.b(i));return a.data.replace(l,h),this.style.updateImage(t,a),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(t){return _.getImage(this._requestManager.transformRequest(t,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,a={}){return this.style.setPaintProperty(t,e,i,a),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,a={}){return this.style.setLayoutProperty(t,e,i,a),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0);})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0);})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\");const e=this._canvasContainer=r.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=r.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");const i=this._containerDimensions(),a=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],a);const s=this._controlContainer=r.create(\"div\",\"maplibregl-control-container\",t),o=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{o[t]=r.create(\"div\",`maplibregl-ctrl-${t} `,s);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener(\"webglcontextcreationerror\",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type);}),{once:!0});const i=this._canvas.getContext(\"webgl2\",t)||this._canvas.getContext(\"webgl\",t);if(!i){const t=\"Failed to initialize WebGL\";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new da(i,this.transform),n.testSupport(i);}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t);}_render(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,s=o.now();this.style.zoomHistory.update(t,s);const r=new e.z(t,{now:s,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r);}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k(\"load\"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const s=this._sourcesDirty||this._styleDirty||this._placementDirty;return s||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k(\"idle\")),!this._loaded||this._fullyLoaded||s||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),_.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");(null==i?void 0:i.loseContext)&&i.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),r.remove(this._canvasContainer),r.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k(\"remove\"));}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t);})).catch((()=>{})));}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());}get showPadding(){return !!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());}get repaint(){return !!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(t){this._vertices=t,this._update();}get version(){return zs}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Sa,t.MapTouchEvent=za,t.MapWheelEvent=Da,t.Marker=Os,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t;},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);},this.options=e.e({},As,t),this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=r.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Rs(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){r.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;}_createButton(t,e){const i=r.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new e.k(\"close\"))),this),this._onMouseUp=t=>{this._update(t.point);},this._onMouseMove=t=>{this._update(t.point);},this._onDrag=t=>{this._update(t.point);},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=r.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(\" \"))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\");}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ls(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let a=this.options.anchor;const s=Ws(this.options.offset);if(!a){const t=this._container.offsetWidth,e=this._container.offsetHeight;let o;o=i.y+s.bottom.ythis._map.transform.height-e?[\"bottom\"]:[],i.xthis._map.transform.width-t/2&&o.push(\"right\"),a=0===o.length?\"bottom\":o.join(\"-\");}let o=i.add(s[a]);this.options.subpixelPositioning||(o=o.round()),r.setTransform(this._container,`${Fs[a]} translate(${o.x}px,${o.y}px)`),Bs(this._container,a,\"popup\");},this._onClose=()=>{this.remove();},this.options=e.e(Object.create(Gs),t);}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.k(\"open\")),this}isOpen(){return !!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement(\"body\");let a;for(i.innerHTML=t;a=i.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t;}_createCloseButton(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Hs);t&&t.focus();}},t.RasterDEMTileSource=K,t.RasterTileSource=X,t.ScaleControl=class{constructor(t){this._onMove=()=>{qs(this._map,this._container,this.options);},this.setUnit=t=>{this.options.unit=t,qs(this._map,this._container,this.options);},this.options=Object.assign(Object.assign({},Zs),t);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}},t.ScrollZoomHandler=os,t.Style=ue,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"));},this.options=t;}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=r.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){r.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}},t.TwoFingersTouchPitchHandler=ts,t.TwoFingersTouchRotateHandler=Ya,t.TwoFingersTouchZoomHandler=Ka,t.TwoFingersTouchZoomRotateHandler=us,t.VectorTileSource=$,t.VideoSource=tt,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(at(t))throw new Error(`A source type called \"${t}\" already exists.`);((t,e)=>{it[t]=e;})(t,i);})),t.clearPrewarmedResources=function(){const t=B;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(k),B=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()\"));},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return nt().getRTLTextPluginStatus()},t.getVersion=function(){return $s},t.getWorkerCount=function(){return L.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return U().broadcast(\"IS\",t)},t.prewarm=function(){N().acquire(k);},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t;},t.setRTLTextPlugin=function(t,e){return nt().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){L.workerCount=t;},t.setWorkerUrl=function(t){e.a.WORKER_URL=t;};}));\n\n//\n// Our custom intro provides a specialized \"define()\" function, called by the\n// AMD modules below, that sets up the worker blob URL and then executes the\n// main module, storing its exported value as 'maplibregl'\n\n\nvar maplibregl$1 = maplibregl;\n\nreturn maplibregl$1;\n\n}));\n//# sourceMappingURL=maplibre-gl.js.map\n","import {\r\n DomEvent,\r\n DomUtil,\r\n extend,\r\n latLngBounds,\r\n Layer,\r\n setOptions,\r\n Util\r\n} from 'leaflet';\r\nimport maplibregl from 'maplibre-gl';\r\n\r\nexport const setRTLTextPlugin = (url, callback, deferred) => {\r\n maplibregl.setRTLTextPlugin(url, callback, deferred);\r\n};\r\n\r\nexport var MaplibreGLJSLayer = Layer.extend({\r\n options: {\r\n updateInterval: 32,\r\n // How much to extend the overlay view (relative to map size)\r\n // e.g. 0.1 would be 10% of map view in each direction\r\n padding: 0.1,\r\n // whether or not to register the mouse and keyboard\r\n // events on the mapbox overlay\r\n interactive: false,\r\n // set the tilepane as the default pane to draw gl tiles\r\n pane: 'tilePane'\r\n },\r\n\r\n initialize: function (options) {\r\n setOptions(this, options);\r\n\r\n // setup throttling the update event when panning\r\n this._throttledUpdate = Util.throttle(\r\n this._update,\r\n this.options.updateInterval,\r\n this\r\n );\r\n },\r\n\r\n onAdd: function (map) {\r\n if (!this._container) {\r\n this._initContainer();\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n map.getPane(paneName).appendChild(this._container);\r\n\r\n this._initGL();\r\n\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n // work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47\r\n if (map.options.zoomAnimation) {\r\n DomEvent.on(\r\n map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n if (this._map._proxy && this._map.options.zoomAnimation) {\r\n DomEvent.off(\r\n this._map._proxy,\r\n DomUtil.TRANSITION_END,\r\n this._transitionEnd,\r\n this\r\n );\r\n }\r\n\r\n const paneName = this.getPaneName();\r\n\r\n map.getPane(paneName).removeChild(this._container);\r\n this._container = null;\r\n\r\n this._glMap.remove();\r\n this._glMap = null;\r\n },\r\n\r\n getEvents: function () {\r\n return {\r\n move: this._throttledUpdate, // sensibly throttle updating while panning\r\n zoomanim: this._animateZoom, // applies the zoom animation to the \r\n zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming\r\n zoomstart: this._zoomStart, // flag starting a zoom to disable panning\r\n zoomend: this._zoomEnd,\r\n resize: this._resize\r\n };\r\n },\r\n\r\n getMaplibreMap: function () {\r\n return this._glMap;\r\n },\r\n\r\n getCanvas: function () {\r\n return this._glMap.getCanvas();\r\n },\r\n\r\n getSize: function () {\r\n return this._map.getSize().multiplyBy(1 + this.options.padding * 2);\r\n },\r\n\r\n getOpacity: function () {\r\n return this.options.opacity;\r\n },\r\n\r\n setOpacity: function (opacity) {\r\n this.options.opacity = opacity;\r\n this._container.style.opacity = opacity;\r\n },\r\n\r\n getBounds: function () {\r\n const halfSize = this.getSize().multiplyBy(0.5);\r\n const center = this._map.latLngToContainerPoint(this._map.getCenter());\r\n return latLngBounds(\r\n this._map.containerPointToLatLng(center.subtract(halfSize)),\r\n this._map.containerPointToLatLng(center.add(halfSize))\r\n );\r\n },\r\n\r\n getContainer: function () {\r\n return this._container;\r\n },\r\n\r\n // returns the pane name set in options if it is a valid pane, defaults to tilePane\r\n getPaneName: function () {\r\n return this._map.getPane(this.options.pane)\r\n ? this.options.pane\r\n : 'tilePane';\r\n },\r\n\r\n _resize: function () {\r\n return this._glMap._resize;\r\n },\r\n\r\n _initContainer: function () {\r\n if (this._container) {\r\n return;\r\n }\r\n\r\n this._container = DomUtil.create('div', 'leaflet-gl-layer');\r\n\r\n const size = this.getSize();\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n this._container.style.width = size.x + 'px';\r\n this._container.style.height = size.y + 'px';\r\n\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(this._container, topLeft);\r\n },\r\n\r\n _initGL: function () {\r\n if (this._glMap) {\r\n return;\r\n }\r\n\r\n const center = this._map.getCenter();\r\n\r\n const options = extend({}, this.options, {\r\n container: this._container,\r\n center: [center.lng, center.lat],\r\n zoom: this._map.getZoom() - 1,\r\n attributionControl: false\r\n });\r\n\r\n this._glMap = new maplibregl.Map(options);\r\n\r\n // Fire event for Maplibre \"styledata\" event.\r\n this._glMap.once(\r\n 'styledata',\r\n function (res) {\r\n this.fire('styleLoaded');\r\n }.bind(this)\r\n );\r\n\r\n // allow GL base map to pan beyond min/max latitudes\r\n this._glMap.transform.latRange = null;\r\n this._glMap.transform.maxValidLatitude = Infinity;\r\n\r\n this._transformGL(this._glMap);\r\n\r\n if (this._glMap._canvas.canvas) {\r\n // older versions of mapbox-gl surfaced the canvas differently\r\n this._glMap._actualCanvas = this._glMap._canvas.canvas;\r\n } else {\r\n this._glMap._actualCanvas = this._glMap._canvas;\r\n }\r\n\r\n // treat child element like L.ImageOverlay\r\n const canvas = this._glMap._actualCanvas;\r\n DomUtil.addClass(canvas, 'leaflet-image-layer');\r\n DomUtil.addClass(canvas, 'leaflet-zoom-animated');\r\n if (this.options.interactive) {\r\n DomUtil.addClass(canvas, 'leaflet-interactive');\r\n }\r\n if (this.options.className) {\r\n DomUtil.addClass(canvas, this.options.className);\r\n }\r\n },\r\n\r\n _update: function (e) {\r\n // update the offset, so we can correct for it later when we zoom\r\n this._offset = this._map.containerPointToLayerPoint([0, 0]);\r\n\r\n if (this._zooming) {\r\n return;\r\n }\r\n\r\n const size = this.getSize();\r\n const container = this._container;\r\n const gl = this._glMap;\r\n const offset = this._map.getSize().multiplyBy(this.options.padding);\r\n const topLeft = this._map.containerPointToLayerPoint([0, 0]).subtract(offset);\r\n\r\n DomUtil.setPosition(container, topLeft);\r\n\r\n this._transformGL(gl);\r\n\r\n if (gl.transform.width !== size.x || gl.transform.height !== size.y) {\r\n container.style.width = size.x + 'px';\r\n container.style.height = size.y + 'px';\r\n if (gl._resize !== null && gl._resize !== undefined) {\r\n gl._resize();\r\n } else {\r\n gl.resize();\r\n }\r\n } else {\r\n // older versions of mapbox-gl surfaced update publicly\r\n if (gl._update !== null && gl._update !== undefined) {\r\n gl._update();\r\n } else {\r\n gl.update();\r\n }\r\n }\r\n },\r\n\r\n _transformGL: function (gl) {\r\n const center = this._map.getCenter();\r\n\r\n // gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);\r\n // calling setView directly causes sync issues because it uses requestAnimFrame\r\n\r\n const tr = gl.transform;\r\n tr.center = maplibregl.LngLat.convert([center.lng, center.lat]);\r\n tr.zoom = this._map.getZoom() - 1;\r\n },\r\n\r\n // update the map constantly during a pinch zoom\r\n _pinchZoom: function (e) {\r\n this._glMap.jumpTo({\r\n zoom: this._map.getZoom() - 1,\r\n center: this._map.getCenter()\r\n });\r\n },\r\n\r\n // borrowed from L.ImageOverlay\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144\r\n _animateZoom: function (e) {\r\n const scale = this._map.getZoomScale(e.zoom);\r\n const padding = this._map.getSize().multiplyBy(this.options.padding * scale);\r\n const viewHalf = this.getSize()._divideBy(2);\r\n // corrections for padding (scaled), adapted from\r\n // https://github.com/Leaflet/Leaflet/blob/master/src/map/Map.js#L1490-L1508\r\n const topLeft = this._map\r\n .project(e.center, e.zoom)\r\n ._subtract(viewHalf)\r\n ._add(this._map._getMapPanePos().add(padding))\r\n ._round();\r\n const offset = this._map\r\n .project(this._map.getBounds().getNorthWest(), e.zoom)\r\n ._subtract(topLeft);\r\n\r\n DomUtil.setTransform(\r\n this._glMap._actualCanvas,\r\n offset.subtract(this._offset),\r\n scale\r\n );\r\n },\r\n\r\n _zoomStart: function (e) {\r\n this._zooming = true;\r\n },\r\n\r\n _zoomEnd: function () {\r\n const scale = this._map.getZoomScale(this._map.getZoom());\r\n\r\n DomUtil.setTransform(this._glMap._actualCanvas, null, scale);\r\n\r\n this._zooming = false;\r\n\r\n this._update();\r\n },\r\n\r\n _transitionEnd: function (e) {\r\n Util.requestAnimFrame(function () {\r\n const zoom = this._map.getZoom();\r\n const center = this._map.getCenter();\r\n const offset = this._map.latLngToContainerPoint(\r\n this._map.getBounds().getNorthWest()\r\n );\r\n\r\n // reset the scale and offset\r\n DomUtil.setTransform(this._glMap._actualCanvas, offset, 1);\r\n\r\n // enable panning once the gl map is ready again\r\n this._glMap.once(\r\n 'moveend',\r\n Util.bind(function () {\r\n this._zoomEnd();\r\n }, this)\r\n );\r\n\r\n // update the map position\r\n this._glMap.jumpTo({\r\n center: center,\r\n zoom: zoom - 1\r\n });\r\n }, this);\r\n }\r\n});\r\n\r\nexport function maplibreGLJSLayer (options) {\r\n return new MaplibreGLJSLayer(options);\r\n}\r\n","import { Layer, setOptions } from 'leaflet';\r\nimport { loadStyle, formatStyle, isWebMercator } from './Util';\r\nimport { maplibreGLJSLayer } from './MaplibreGLLayer';\r\n\r\nexport var VectorTileLayer = Layer.extend({\r\n options: {\r\n // if portalUrl is not provided, default to ArcGIS Online\r\n portalUrl: 'https://www.arcgis.com',\r\n // for performance optimization default to `false`\r\n // set to `true` to resolve printing issues in Firefox\r\n preserveDrawingBuffer: false\r\n },\r\n\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module and creates the layer instance.\r\n *\r\n * @param {string} key an ITEM ID or SERVICE URL\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n if (options) {\r\n setOptions(this, options);\r\n }\r\n\r\n // support outdated casing apiKey of apikey\r\n if (this.options.apiKey) {\r\n this.options.apikey = this.options.apiKey;\r\n }\r\n\r\n // if apiKey is passed in, propagate to token\r\n // if token is passed in, propagate to apiKey\r\n if (this.options.apikey) {\r\n this.options.token = this.options.apikey;\r\n } else if (this.options.token) {\r\n this.options.apikey = this.options.token;\r\n }\r\n\r\n // if no key passed in\r\n if (!key) {\r\n throw new Error(\r\n 'An ITEM ID or SERVICE URL is required for vectorTileLayer.'\r\n );\r\n }\r\n\r\n // set key onto \"this.options\" for use elsewhere in the module.\r\n if (key) {\r\n this.options.key = key;\r\n }\r\n\r\n // this.options has been set, continue on to create the layer:\r\n this._createLayer();\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer given using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n loadStyle(\r\n this.options.key,\r\n this.options,\r\n function (error, style, styleUrl, service) {\r\n if (error) {\r\n this.fire('load-error', {\r\n value: error\r\n });\r\n return;\r\n }\r\n\r\n if (!isWebMercator(service.tileInfo.spatialReference.wkid)) {\r\n console.warn(\r\n 'This layer is not guaranteed to display properly because its service does not use the Web Mercator projection. The \"tileInfo.spatialReference\" property is:',\r\n service.tileInfo.spatialReference,\r\n '\\nMore information is available at https://github.com/maplibre/maplibre-gl-js/issues/168 and https://github.com/Esri/esri-leaflet-vector/issues/94.'\r\n );\r\n }\r\n\r\n // once style object is loaded it must be transformed to be compliant with maplibreGLJSLayer\r\n style = formatStyle(style, styleUrl, service, this.options.token);\r\n\r\n this._createMaplibreLayer(style);\r\n }.bind(this)\r\n );\r\n },\r\n\r\n _setupAttribution: function () {\r\n // if a custom attribution was not provided in the options,\r\n // then attempt to rely on the attribution of the last source in the style object\r\n // and add it to the map's attribution control\r\n // (otherwise it would have already been added by leaflet to the attribution control)\r\n if (!this.getAttribution()) {\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const sourcesKeys = Object.keys(sources);\r\n this.options.attribution =\r\n sources[sourcesKeys[sourcesKeys.length - 1]].attribution;\r\n if (this._map && this._map.attributionControl) {\r\n // NOTE: if attribution is an empty string (or otherwise falsy) at this point it would not appear in the attribution control\r\n this._map.attributionControl.addAttribution(this.getAttribution());\r\n }\r\n }\r\n },\r\n\r\n _createMaplibreLayer: function (style) {\r\n this._maplibreGL = maplibreGLJSLayer({\r\n style: style,\r\n pane: this.options.pane,\r\n opacity: this.options.opacity,\r\n preserveDrawingBuffer: this.options.preserveDrawingBuffer\r\n });\r\n\r\n this._ready = true;\r\n this.fire('ready', {}, true);\r\n\r\n this._maplibreGL.on('styleLoaded', function () {\r\n this._setupAttribution();\r\n // additionally modify the style object with the user's optional style override function\r\n if (this.options.style && typeof this.options.style === 'function') {\r\n this._maplibreGL._glMap.setStyle(this.options.style(this._maplibreGL._glMap.getStyle()));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n onAdd: function (map) {\r\n this._map = map;\r\n\r\n if (this._ready) {\r\n this._asyncAdd();\r\n } else {\r\n this.once(\r\n 'ready',\r\n function () {\r\n this._asyncAdd();\r\n },\r\n this\r\n );\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.removeLayer(this._maplibreGL);\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorTileLayer (key, options) {\r\n return new VectorTileLayer(key, options);\r\n}\r\n\r\nexport default vectorTileLayer;\r\n","import { Util } from 'esri-leaflet';\r\nimport { getBasemapStyleUrl, getAttributionData, getBasemapStyleV2Url } from './Util';\r\nimport { VectorTileLayer } from './VectorTileLayer';\r\n\r\nexport var VectorBasemapLayer = VectorTileLayer.extend({\r\n /**\r\n * Populates \"this.options\" to be used in the rest of the module.\r\n *\r\n * @param {string} key\r\n * @param {object} options optional\r\n */\r\n initialize: function (key, options) {\r\n // Default to the v1 service endpoint\r\n if (!options.version) {\r\n if (key.includes('/')) options.version = 2;\r\n else options.version = 1;\r\n }\r\n if (!key) {\r\n // Default style enum if none provided\r\n key = options.version === 1 ? 'ArcGIS:Streets' : 'arcgis/streets';\r\n }\r\n // If no API Key or token is provided (support outdated casing apiKey of apikey)\r\n if (!(options.apikey || options.apiKey || options.token)) {\r\n throw new Error('An API Key or token is required for vectorBasemapLayer.');\r\n }\r\n // Validate v2 service params\r\n if (options.version !== 2) {\r\n if (options.language) {\r\n throw new Error('The language parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.worldview) {\r\n throw new Error('The worldview parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n if (options.places) {\r\n throw new Error('The places parameter is only supported by the basemap styles service v2. Provide a v2 style enumeration to use this option.');\r\n }\r\n }\r\n // Determine layer order\r\n if (!options.pane) {\r\n if (key.includes(':Label') || key.includes('/label')) {\r\n options.pane = 'esri-labels';\r\n } else if (key.includes(':Detail') || key.includes('/detail')) {\r\n options.pane = 'esri-detail';\r\n } else {\r\n // Create layer in the tilePane by default\r\n options.pane = 'tilePane';\r\n }\r\n }\r\n\r\n // Options has been configured, continue on to create the layer:\r\n VectorTileLayer.prototype.initialize.call(this, key, options);\r\n },\r\n\r\n /**\r\n * Creates the maplibreGLJSLayer using \"this.options\"\r\n */\r\n _createLayer: function () {\r\n let styleUrl;\r\n if (this.options.version && this.options.version === 2) {\r\n styleUrl = getBasemapStyleV2Url(this.options.key, this.options.apikey, {\r\n language: this.options.language,\r\n worldview: this.options.worldview,\r\n places: this.options.places\r\n });\r\n } else {\r\n styleUrl = getBasemapStyleUrl(this.options.key, this.options.apikey);\r\n }\r\n this._createMaplibreLayer(styleUrl);\r\n },\r\n\r\n _setupAttribution: function () {\r\n // Set attribution\r\n Util.setEsriAttribution(this._map);\r\n\r\n if (this.options.key.length === 32) {\r\n // this is an itemId\r\n const sources = this._maplibreGL.getMaplibreMap().style.stylesheet.sources;\r\n const allAttributions = [];\r\n Object.keys(sources).forEach(function (key) {\r\n allAttributions.push(sources[key].attribution);\r\n if (sources[key].copyrightText && sources[key].copyrightText && sources[key].copyrightText !== '' && sources[key].attribution !== sources[key].copyrightText) {\r\n allAttributions.push(sources[key].copyrightText);\r\n }\r\n });\r\n\r\n this._map.attributionControl.addAttribution(`${allAttributions.join(', ')}`);\r\n } else {\r\n // this is an enum\r\n if (!this.options.attributionUrls) {\r\n this.options.attributionUrls = this._getAttributionUrls(this.options.key);\r\n }\r\n\r\n if (this._map && this.options.attributionUrls) {\r\n if (this._map.attributionControl) {\r\n for (\r\n let index = 0;\r\n index < this.options.attributionUrls.length;\r\n index++\r\n ) {\r\n const attributionUrl = this.options.attributionUrls[index];\r\n getAttributionData(attributionUrl, this._map);\r\n }\r\n\r\n this._map.attributionControl.addAttribution(\r\n ''\r\n );\r\n }\r\n Util._updateMapAttribution({ target: this._map });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Given a key, return the attribution url(s).\r\n * @param {string} key\r\n */\r\n _getAttributionUrls: function (key) {\r\n if (key.indexOf('OSM:') === 0 || (key.indexOf('osm/') === 0)) {\r\n return ['https://static.arcgis.com/attribution/Vector/OpenStreetMap_v2'];\r\n } else if (key.indexOf('ArcGIS:Imagery') === 0 || key.indexOf('arcgis/imagery') === 0) {\r\n return [\r\n 'https://static.arcgis.com/attribution/World_Imagery',\r\n 'https://static.arcgis.com/attribution/Vector/World_Basemap_v2'\r\n ];\r\n }\r\n\r\n // default:\r\n return ['https://static.arcgis.com/attribution/Vector/World_Basemap_v2'];\r\n },\r\n\r\n _initPane: function () {\r\n if (!this._map.getPane(this.options.pane)) {\r\n const pane = this._map.createPane(this.options.pane);\r\n pane.style.pointerEvents = 'none';\r\n\r\n let zIndex = 500;\r\n if (this.options.pane === 'esri-detail') {\r\n zIndex = 250;\r\n } else if (this.options.pane === 'esri-labels') {\r\n zIndex = 300;\r\n }\r\n pane.style.zIndex = zIndex;\r\n }\r\n },\r\n\r\n onRemove: function (map) {\r\n map.off('moveend', Util._updateMapAttribution);\r\n map.removeLayer(this._maplibreGL);\r\n\r\n if (map.attributionControl) {\r\n if (Util.removeEsriAttribution) Util.removeEsriAttribution(map);\r\n\r\n const element = document.getElementsByClassName('esri-dynamic-attribution');\r\n\r\n if (element && element.length > 0) {\r\n const vectorAttribution = element[0].outerHTML;\r\n // call removeAttribution twice here\r\n // this is needed due to the 2 different ways that addAttribution is called inside _setupAttribution.\r\n // leaflet attributionControl.removeAttribution method ignore a call when the attribution sent is not present there\r\n map.attributionControl.removeAttribution(vectorAttribution);\r\n map.attributionControl.removeAttribution('');\r\n }\r\n }\r\n },\r\n\r\n _asyncAdd: function () {\r\n const map = this._map;\r\n this._initPane();\r\n map.on('moveend', Util._updateMapAttribution);\r\n this._maplibreGL.addTo(map, this);\r\n }\r\n});\r\n\r\nexport function vectorBasemapLayer (key, options) {\r\n return new VectorBasemapLayer(key, options);\r\n}\r\n\r\nexport default vectorBasemapLayer;\r\n","// export version\r\nimport packageInfo from '../package.json';\r\nconst version = packageInfo.version;\r\nexport { version as VERSION };\r\n\r\nexport { VectorBasemapLayer, vectorBasemapLayer } from './VectorBasemapLayer';\r\nexport { VectorTileLayer, vectorTileLayer } from './VectorTileLayer';\r\nexport { EsriUtil as Util } from './Util';\r\nexport { MaplibreGLJSLayer, maplibreGLJSLayer, setRTLTextPlugin } from './MaplibreGLLayer';\r\n"],"names":["loadStyle","idOrUrl","options","callback","test","loadStyleFromService","itemId","itemStyleUrl","portalUrl","loadStyleFromUrl","error","style","loadItem","item","url","loadService","service","loadStyleFromItem","serviceUrl","params","token","request","defaultStylesUrl","sanitizedServiceUrl","charAt","length","slice","defaultStyles","styleUrl","isSameTLD","url1","url2","URL","hostname","formatStyle","metadata","sourcesKeys","Object","keys","sources","sourceIndex","source","indexOf","replace","tiles","minzoom","minLOD","tileInfo","lods","level","maxzoom","maxLOD","lastSource","attribution","copyrightText","layerIndex","layers","layer","layout","sprite","console","warn","glyphs","getAttributionData","map","Support","cors","attributions","_esriAttributions","c","contributors","contributor","i","coverageAreas","coverageArea","southWest","latLng","bbox","northEast","push","score","bounds","latLngBounds","minZoom","zoomMin","maxZoom","zoomMax","sort","a","b","obj","target","Util","_updateMapAttribution","WEB_MERCATOR_WKIDS","EsriUtil","module","exports","maplibregl","modules","define","moduleName","_dependencies","moduleFactory","workerBundleString","shared","worker","sharedModule","index","window","setWorkerUrl","createObjectURL","Blob","type","t","e","r","n","Promise","s","l","next","o","throw","done","value","then","apply","__esModule","prototype","hasOwnProperty","call","default","SuppressedError","this","x","y","clone","add","_add","sub","_sub","multByPoint","_multByPoint","divByPoint","_divByPoint","mult","_mult","div","_div","rotate","_rotate","rotateAround","_rotateAround","matMult","_matMult","unit","_unit","perp","_perp","round","_round","mag","Math","sqrt","equals","dist","distSqr","angle","atan2","angleTo","angleWith","angleWithSep","cos","sin","convert","Array","isArray","cx","bx","ax","cy","by","ay","p1x","p1y","p2x","p2y","sampleCurveX","sampleCurveY","sampleCurveDerivativeX","solveCurveX","abs","solve","u","h","OffscreenCanvas","getContext","createImageBitmap","p","willReadFrequently","fillStyle","fillRect","floor","getImageData","data","f","d","min","max","m","g","v","w","_","A","S","k","WorkerGlobalScope","M","I","ImageBitmap","z","P","VideoFrame","Error","timestamp","format","startsWith","Uint8ClampedArray","copyTo","rect","width","height","offset","stride","close","C","B","V","E","F","MAX_PARALLEL_IMAGE_REQUESTS","MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME","MAX_TILE_CACHE_ZOOM_LEVELS","REGISTERED_PROTOCOLS","WORKER_URL","T","substring","$","L","constructor","super","status","statusText","body","D","self","referrer","location","protocol","parent","href","O","actor","sendAsync","targetMapId","fetch","Request","AbortController","method","credentials","headers","cache","signal","has","set","ok","blob","arrayBuffer","json","text","aborted","cacheControl","get","expires","mustQueue","XMLHttpRequest","open","responseType","setRequestHeader","Accept","withCredentials","onerror","onload","response","JSON","parse","getResponseHeader","addEventListener","abort","send","j","host","R","U","splice","q","N","Z","on","_listeners","off","_oneTimeListeners","once","fire","listens","_eventedParent","_eventedParentData","setEventedParent","G","$version","$root","version","required","values","name","center","zoom","bearing","period","units","pitch","light","sky","projection","terrain","transition","source_vector","vector","scheme","xyz","tms","promoteId","volatile","source_raster","raster","tileSize","source_raster_dem","encoding","terrarium","mapbox","custom","redFactor","blueFactor","greenFactor","baseShift","source_geojson","geojson","buffer","maximum","minimum","filter","tolerance","cluster","clusterRadius","clusterMaxZoom","clusterMinPoints","clusterProperties","lineMetrics","generateId","source_video","video","urls","coordinates","source_image","image","id","fill","line","symbol","circle","heatmap","hillshade","background","paint","layout_background","visibility","visible","none","layout_fill","expression","interpolated","parameters","layout_circle","layout_heatmap","layout_line","butt","square","bevel","miter","requires","layout_symbol","point","auto","never","always","cooperative","viewport","both","tokens","left","right","top","bottom","horizontal","vertical","uppercase","lowercase","layout_raster","layout_hillshade","filter_operator","in","all","any","geometry_type","Point","LineString","Polygon","function","stops","base","property","identity","exponential","interval","categorical","colorSpace","rgb","lab","hcl","function_stop","anchor","position","color","intensity","exaggeration","mercator","globe","paint_fill","paint_line","paint_circle","paint_heatmap","paint_symbol","overridable","paint_raster","linear","nearest","paint_hillshade","paint_background","duration","delay","constant","K","X","forEach","H","Y","J","command","args","W","Q","tt","et","rt","nt","it","message","identifier","__line__","st","at","key","ot","bindings","concat","lt","kind","ut","ct","ht","pt","ft","dt","yt","mt","gt","xt","vt","bt","itemType","wt","_t","At","St","some","kt","Mt","It","zt","Pt","Ct","Bt","Vt","Et","PI","Ft","Tt","$t","Dt","Lt","pow","Ot","isNaN","Rt","jt","Ut","parseInt","padEnd","qt","Nt","Zt","Number","Gt","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","Kt","overwriteGetter","toLowerCase","trim","match","join","NaN","defineProperty","toString","transparent","Xt","sensitivity","locale","collator","Intl","Collator","usage","compare","resolvedLocale","resolvedOptions","Ht","scale","fontStack","textColor","Yt","sections","fromString","isEmpty","factory","Jt","stringify","Wt","Set","Qt","te","available","ee","re","ne","ie","String","se","expectedType","evaluate","eachChild","outputDefined","ae","toJSON","oe","string","number","boolean","object","le","every","ue","ce","Boolean","parseColor","he","pe","globals","feature","featureState","formattedSection","_parseColorCache","availableImages","canonical","geometryType","geometry","canonicalID","properties","fe","registry","path","scope","errors","_isConstant","_parse","checkSubtype","typeAnnotation","de","result","ye","boundExpression","me","input","ge","needle","haystack","xe","fromIndex","ve","inputType","cases","outputs","otherwise","MAX_SAFE_INTEGER","be","branches","we","beginIndex","endIndex","_e","Ae","labels","Se","ke","Me","Ie","ze","Pe","Ce","array","padding","variableAnchorOffsetCollection","Be","operator","interpolation","interpolationFactor","Ve","controlPoints","Ee","Fe","Te","$e","lhs","rhs","hasUntypedArgument","Le","De","Oe","je","Re","Ue","qe","caseSensitive","diacriticSensitive","Ne","currency","minFractionDigits","maxFractionDigits","NumberFormat","minimumFractionDigits","maximumFractionDigits","Ze","font","content","Ge","Ke","Xe","He","log","Ye","atan","exp","Je","We","Qe","tr","ar","er","rr","nr","ir","sr","or","lr","ur","cr","hr","pr","geometries","features","fr","_down","_up","pop","peek","dr","yr","gr","mr","xr","br","area","vr","wr","_r","Ar","Sr","kx","ky","distance","wrap","pointOnLine","kr","Mr","Ir","zr","Pr","Cr","Br","Vr","Er","Fr","Tr","$r","Lr","Dr","Or","jr","Rr","Ur","qr","Nr","Zr","Gr","flat","Kr","case","coalesce","interpolate","let","literal","step","var","within","Xr","_evaluate","definitions","overloads","Qr","register","Hr","Yr","Jr","Wr","tn","rn","en","nn","sn","an","ln","un","cn","hn","pn","mn","yn","dn","create","gn","interpolationType","bind","zoomStops","fn","typeof","rgba","heatmapDensity","lineProgress","accumulated","ln2","LN2","pi","log10","LN10","log2","asin","acos","ceil","isSupportedScript","upcase","toUpperCase","downcase","xn","_warningHistory","_evaluator","_defaultValue","_enumValues","evaluateWithoutErrorHandling","vn","bn","enum","formatted","resolvedImage","wn","_styleExpression","isStateDependent","_n","An","kn","Sn","_parameters","_specification","deserialize","serialize","Mn","In","zn","needGeometry","Bn","Cn","Pn","Vn","Tn","En","Fn","$n","Ln","Dn","On","valueOf","jn","Rn","valueSpec","objectElementValidators","styleSpec","validateSpec","split","objectKey","Un","arrayElementValidator","arrayIndex","qn","Nn","isFinite","Zn","expressionContext","propertyKey","propertyType","Gn","Kn","Xn","Hn","layerType","exec","Yn","Jn","Wn","ref","Qn","ti","ei","sourceName","includes","ri","ni","ii","si","ai","constants","oi","li","ui","hi","ci","paintProperty","layoutProperty","fi","di","yi","mi","gi","xi","vi","cells","ArrayBuffer","Int32Array","subarray","bboxes","insert","_insertReadonly","extent","uid","_forEachCell","_insertCell","query","_queryCell","_convertToCellCoord","_convertFromCellCoord","toArrayBuffer","bi","wi","writeable","klass","omit","shallow","_classRegistryKey","_i","Ai","$name","Si","Date","RegExp","isView","ImageData","ki","Mi","Ii","first","update","lastIntegerZoom","lastIntegerZoomTime","lastZoom","lastFloorZoom","zi","Khmer","Katakana","Kanbun","Pi","Ti","charCodeAt","Ci","Ei","Bi","Vi","fromCodePoint","Fi","$i","Li","Di","Oi","ji","Ri","applyArabicShaping","processBidirectionalText","processStyledBidirectionalText","pluginStatus","pluginURL","setState","getState","setMethods","isParsed","getPluginURL","getRTLTextPluginStatus","Ui","now","fadeDuration","zoomHistory","crossFadingFactor","getCrossfadeParameters","fromScale","toScale","qi","specification","isDataDriven","possiblyEvaluate","Ni","transitioned","Gi","untransitioned","Zi","_properties","_values","defaultTransitionablePropertyValues","getValue","setValue","getTransition","setTransition","Ki","begin","end","prior","defaultTransitioningPropertyValues","Yi","hasTransition","Xi","defaultPropertyValues","hasValue","Hi","isConstant","constantOr","defaultPossiblyEvaluatedValues","Ji","Wi","overrides","Qi","_calculate","from","to","ts","es","rs","overridableProperties","ns","is","_featureFilter","sourceLayer","_unevaluatedLayout","_transitionablePaint","setPaintProperty","validate","setLayoutProperty","_transitioningPaint","_crossfadeParameters","getLayoutProperty","_validate","getPaintProperty","endsWith","_handleSpecialPaintPropertyUpdate","_handleOverridablePaintPropertyUpdate","isHidden","updateTransitions","recalculate","is3D","isTileClipped","hasOffscreenPass","resize","ss","Int8","Int8Array","Uint8","Uint8Array","Int16","Int16Array","Uint16","Uint16Array","Int32","Uint32","Uint32Array","Float32","Float32Array","as","_structArray","_pos1","size","_pos2","_pos4","_pos8","os","isTransferred","capacity","_trim","byteLength","bytesPerElement","_refreshViews","clear","reserve","uint8","ls","members","BYTES_PER_ELEMENT","us","components","alignment","cs","int16","emplaceBack","emplace","hs","ps","fs","ds","ys","float32","ms","uint16","gs","xs","vs","uint32","bs","ws","_s","As","Ss","ks","Ms","Is","zs","Ps","Cs","Bs","Vs","Es","anchorPointX","anchorPointY","x1","y1","x2","y2","featureIndex","sourceLayerIndex","bucketIndex","anchorPoint","Fs","Ts","anchorX","anchorY","glyphStartIndex","numGlyphs","vertexStartIndex","lineStartIndex","lineLength","segment","lowerSize","upperSize","lineOffsetX","lineOffsetY","writingMode","placedOrientation","hidden","crossTileID","associatedIconIndex","$s","Ls","rightJustifiedTextSymbolIndex","centerJustifiedTextSymbolIndex","leftJustifiedTextSymbolIndex","verticalPlacedTextSymbolIndex","placedIconSymbolIndex","verticalPlacedIconSymbolIndex","textBoxStartIndex","textBoxEndIndex","verticalTextBoxStartIndex","verticalTextBoxEndIndex","iconBoxStartIndex","iconBoxEndIndex","verticalIconBoxStartIndex","verticalIconBoxEndIndex","numHorizontalGlyphVertices","numVerticalGlyphVertices","numIconVertices","numVerticalIconVertices","useRuntimeCollisionCircles","textBoxScale","collisionCircleDiameter","textAnchorOffsetStartIndex","textAnchorOffsetEndIndex","Ds","Os","getoffsetX","js","getx","gety","gettileUnitDistanceFromAnchor","Rs","textAnchor","textOffset0","textOffset1","Us","qs","Ns","Zs","Gs","Ks","Xs","Hs","Ys","Js","Ws","Qs","ta","ea","ra","na","ia","sa","aa","oa","segments","prepareSegment","MAX_VERTEX_ARRAY_LENGTH","vertexLength","sortKey","vertexOffset","primitiveOffset","primitiveLength","destroy","vaos","simpleSegment","la","ua","ca","ha","pa","fa","da","ya","murmur3","murmur2","ma","ga","ids","positions","indexed","xa","getPositions","start","Float64Array","va","ba","wa","gl","_a","current","uniform1f","Aa","uniform4f","Sa","ka","Ma","Ia","uniformNames","setUniform","getBinding","za","patternFrom","patternTo","pixelRatioFrom","pixelRatioTo","setConstantPatternPositions","pixelRatio","tlbr","substr","Pa","maxValue","paintVertexAttributes","paintVertexArray","populatePaintArray","_setPaintValue","updatePaintArray","upload","paintVertexBuffer","updateData","createVertexBuffer","Ca","useIntegerZoom","Ba","layerId","zoomInPaintVertexArray","zoomOutPaintVertexArray","_setPaintValues","patterns","mid","tl","zoomInPaintVertexBuffer","zoomOutPaintVertexBuffer","Va","binders","_buffers","Fa","Ta","cacheKey","getMaxValue","populatePaintArrays","updatePaintArrays","defines","getBinderAttributes","getBinderUniforms","getPaintVertexBuffers","getUniforms","binding","setUniforms","updatePaintBuffers","Ea","programConfigurations","needsUpload","_featureMap","_bufferOffset","composite","$a","La","Da","Oa","loadGeometry","ja","Ra","Ua","overscaling","layerIds","hasPattern","layoutVertexArray","indexArray","stateDependentLayerIds","populate","addFeature","stateDependentLayers","uploadPending","uploaded","layoutVertexBuffer","indexBuffer","createIndexBuffer","qa","Wa","Ka","Na","Ha","Za","Ja","Ga","Xa","Ya","Qa","eo","ro","no","io","so","ao","oo","lo","uo","hypot","arguments","co","ho","po","fo","createBucket","queryRadius","queryIntersectsFeature","yo","cameraToCenterDistance","mo","go","xo","vo","RangeError","bo","wo","_o","copy","Ao","So","resolution","clips","evaluationKey","ko","_updateColorRamp","colorRamp","colorRampTexture","heatmapFbo","Mo","Io","zo","Po","Co","Bo","Vo","prev","steiner","qo","Oo","jo","Fo","Qo","Ko","Eo","Go","Uo","prevZ","nextZ","$o","To","Lo","Do","No","Xo","Jo","Zo","Wo","Ro","Yo","Ho","el","rl","patternDependencies","nl","il","patternFeatures","indexArray2","segments2","addFeatures","indexBuffer2","sl","al","ol","ll","ul","cl","hl","pl","fl","dl","yl","_pbf","_geometry","_keys","readFields","ml","readVarint","pos","types","readSVarint","toGeoJSON","xl","vl","bl","_features","wl","readString","readFloat","readDouble","readVarint64","readBoolean","_l","Al","VectorTile","VectorTileFeature","VectorTileLayer","Sl","kl","Ml","Il","centroidVertexArray","centroidVertexBuffer","vertexCount","Pl","zl","Cl","Bl","Vl","Fl","El","Tl","$l","Ll","Dl","Ol","jl","Rl","Ul","lineClipsArray","gradients","layoutVertexArray2","maxLineLength","layoutVertexBuffer2","lineFeatureClips","mapbox_clip_start","mapbox_clip_end","lineClips","addLine","scaledDistance","totalDistance","updateScaledDistance","e1","e2","updateDistance","addCurrentVertex","addHalfVertex","ql","Nl","Zl","Gl","Kl","Xl","gradientVersion","gradientExpression","stepInterpolant","Hl","Yl","Jl","Wl","Ql","tu","eu","toLocaleUpperCase","toLocaleLowerCase","ru","nu","iu","ou","su","au","buf","Varint","Fixed64","Bytes","Fixed32","lu","uu","cu","TextDecoder","hu","pu","fu","realloc","du","writeVarint","yu","writeSVarint","mu","writeFloat","gu","writeDouble","xu","writeBoolean","vu","writeFixed32","bu","writeSFixed32","wu","writeFixed64","_u","writeSFixed64","Au","Su","ku","skip","readMessage","readFixed32","readSFixed32","readFixed64","readSFixed64","decode","fromCharCode","readBytes","readPackedVarint","readPackedSVarint","readPackedBoolean","readPackedFloat","readPackedDouble","readPackedFixed32","readPackedSFixed32","readPackedFixed64","readPackedSFixed64","writeTag","finish","writeString","writeBytes","writeRawMessage","writeMessage","writePackedVarint","writePackedSVarint","writePackedBoolean","writePackedFloat","writePackedDouble","writePackedFixed32","writePackedSFixed32","writePackedFixed64","writePackedSFixed64","writeBytesField","writeFixed32Field","writeSFixed32Field","writeFixed64Field","writeSFixed64Field","writeVarintField","writeSVarintField","writeStringField","writeFloatField","writeDoubleField","writeBooleanField","Mu","Iu","zu","Pu","bitmap","advance","Cu","metrics","Bu","Vu","Eu","Fu","stretchX","stretchY","textFitWidth","textFitHeight","paddedRect","displaySize","Tu","haveRenderCallbacks","addImages","iconPositions","patternPositions","hasRenderCallback","patchUpdatedImages","dispatchRenderCallbacks","updatedImages","patchUpdatedImage","getImage","$u","ah","horizontalOnly","Lu","Du","imageName","forText","forImage","Ou","sectionIndex","imageSectionID","fromFeature","addImageSection","addTextSection","getSection","getSectionIndex","getCharCode","verticalizePunctuation","Ru","getMaxScale","reduce","getNextImageSectionCharCode","ju","Hu","positionedLines","iconsInText","verticalizable","positionedGlyphs","lineOffset","glyph","Ju","horizontalAlign","verticalAlign","Yu","Uu","qu","Nu","Zu","Gu","Ku","badness","priorBreak","Xu","Wu","Qu","tc","collisionPadding","ec","rc","nc","ic","layoutSize","minSize","maxSize","sc","ac","oc","lc","uc","cc","hc","dynamicLayoutVertexArray","opacityVertexArray","hasVisibleVertices","placedSymbolArray","dynamicLayoutVertexBuffer","opacityVertexBuffer","itemSize","pc","layoutAttributes","collisionVertexArray","collisionVertexBuffer","fc","collisionBoxArray","hasRTLText","sortKeyRanges","collisionCircleArray","placementInvProjMatrix","placementViewportMatrix","textSizeData","iconSizeData","canOverlap","sortFeaturesByKey","sortFeaturesByY","writingModes","sourceID","createArrays","icon","glyphOffsetArray","lineVertexArray","symbolInstances","textAnchorOffsets","calculateGlyphDependencies","iconDependencies","glyphDependencies","getValueAndResolveTokens","allowVerticalPlacement","shift","hasDebugData","textCollisionBox","iconCollisionBox","destroyDebugData","addToLineVertexArray","tileUnitDistanceFromAnchor","addSymbols","tex","pixelOffsetTL","pixelOffsetBR","minFontScaleX","minFontScaleY","glyphOffset","isSDF","_addCollisionDebugVertex","addCollisionDebugVertices","addDebugCollisionBoxes","generateCollisionDebugBuffers","_deserializeCollisionBoxesForSymbol","textBox","textFeatureIndex","verticalTextBox","verticalTextFeatureIndex","iconBox","iconFeatureIndex","verticalIconBox","verticalIconFeatureIndex","deserializeCollisionBoxes","collisionArrays","hasTextData","hasIconData","hasTextCollisionBoxData","hasIconCollisionBoxData","addIndicesForPlacedSymbol","getSortedSymbolIndexes","sortedAngle","symbolInstanceIndexes","addToSortKeyRanges","symbolInstanceEnd","symbolInstanceStart","sortFeatures","featureSortOrder","dc","yc","MAX_GLYPHS","addDynamicAttributes","mc","runtimeType","getOverride","hasOverride","gc","defaultValue","xc","_setPaintOverrides","hasPaintOverride","vc","bc","wc","_c","Ac","Sc","kc","onAdd","implementation","painter","context","onRemove","renderingMode","prerender","Mc","_methodToThrottle","_triggered","MessageChannel","_channel","port2","onmessage","trigger","port1","postMessage","setTimeout","remove","Ic","zc","lng","lat","toArray","distanceTo","lon","Pc","Cc","Bc","Vc","Ec","Fc","Tc","fromLngLat","toLngLat","toAltitude","meterInMercatorCoordinateUnits","$c","Lc","jc","isChildOf","getTilePoint","Dc","Oc","overscaledZ","scaledTo","calculateScaledKey","children","isLessThan","wrapped","unwrapTo","overscaleFactor","toUnwrapped","Rc","dim","_idx","MIN_SAFE_INTEGER","unpack","getUnpackVector","getPixels","backfillBorder","Uc","_stringToNumber","_numberToString","encode","qc","_vectorTileFeature","_z","_x","_y","Nc","tileID","grid","grid3D","featureIndexArray","loadVTLayers","vtLayers","rawTileData","sourceLayerCoder","queryGeometry","queryPadding","Gc","minX","minY","maxX","maxY","cameraQueryGeometry","Kc","loadMatchingFeature","transform","pixelPosMatrix","bucketLayerIDs","getId","Zc","intersectionZ","lookupSymbolFeatures","hasLayer","Xc","Hc","Yc","angleDelta","Jc","Wc","Qc","th","eh","rh","nh","ih","sh","oh","stretch","lh","fixed","uh","boxStartIndex","circleDiameter","boxEndIndex","ch","hh","ph","fh","SQRT2","dh","aq","yh","mh","POSITIVE_INFINITY","gh","xh","vh","bh","textMaxSize","_h","tilePixelRatio","compositeIconSizes","wh","Ah","sdf","isDoubleResolution","compositeTextSizes","compareText","Sh","kh","numItems","nodeSize","ArrayType","IndexArrayType","coords","_pos","_finished","Mh","range","Ch","Ih","zh","Ph","Bh","bf","load","fullLoad","Vh","Eh","Fh","Th","$h","Lh","mark","performance","frame","clearMetrics","clearMeasures","clearMarks","getPerformanceMetrics","measure","getEntriesByName","loadTime","fullLoadTime","fps","percentDroppedFrames","totalFrames","navigator","userAgent","safari","mapId","resolveRejects","tasks","taskQueue","abortControllers","messageHandlers","invoker","process","subscription","unsubscribe","removeEventListener","receive","globalScope","registerMessageHandler","random","resolve","reject","origin","sourceMapId","assign","transfer","processTask","completeTask","a$","a0","a1","a2","a3","document","createElement","muted","onloadstart","crossOrigin","src","appendChild","a4","a5","a6","a7","a8","a9","aA","aB","aC","lastIndexOf","aD","render","aE","aF","aG","aH","uniform1i","aI","aJ","uniformMatrix4fv","aK","aL","aM","aN","uniform3f","aO","uniform2f","aP","aQ","aR","aS","aT","aU","aV","aW","aX","aY","aZ","a_","ab","ad","af","ag","uSizeT","uSize","aj","ak","am","ap","av","aw","az","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","bA","bB","bC","bb","bd","bg","bj","bk","bm","bucket","iconsNeedLinear","layoutIconSize","layoutTextSize","glyphMap","glyphPositions","imagePositions","imageMap","sdfIcons","showCollisionBoxes","bp","bq","_marks","bv","drawImage","clearRect","bw","bz","Image","revokeObjectURL","requestAnimationFrame","keyCache","_layerConfigs","_layers","familiesBySource","collectResourceTiming","returnDependencies","inFlightDependencies","stacks","icons","buckets","glyphAtlasImage","imageAtlas","iconMap","fetching","loading","loaded","loadVectorTile","vectorTile","rawData","loadTile","resourceTiming","reloadTile","abortTile","removeTile","rawImageData","reverse","rawGeometry","tags","keycache","valuecache","fromVectorTileJs","fromGeojsonVt","GeoJSONWrapper","minPoints","radius","fround","trees","clusterProps","time","points","_createTree","timeEnd","_cluster","getClusters","_limitZoom","getChildren","_getOriginId","_getOriginZoom","getLeaves","_appendLeaves","getTile","_addTileFeatures","getClusterExpansionZoom","cluster_id","point_count","_map","point_count_abbreviated","transformed","numPoints","numSimplified","numFeatures","indexMaxZoom","indexMaxPoints","debug","tileCoords","stats","total","splitTile","Map","_dataUpdateable","_geoJSONIndex","_geojsonTileLayer","_feature","byteOffset","loadData","_pendingRequest","_pendingData","loadAndProcessGeoJSON","superclusterOptions","geojsonVtOptions","abandoned","getData","loadGeoJSON","dataDiff","removeAll","delete","removeAllProperties","removeProperties","addOrUpdateProperties","newGeometry","removeSource","clusterId","getClusterChildren","getClusterLeaves","limit","layerIndexes","workerSources","demWorkerSources","externalWorkerSourceTypes","registerWorkerSource","addProtocol","removeProtocol","registerRTLTextPlugin","_getDEMWorkerSource","_getWorkerSource","_syncRTLPluginState","importScripts","_setImages","_getLayerIndex","removedIds","_getAvailableImages","frameAsync","cancelAnimationFrame","getImageCanvasContext","resolveURL","hardwareConcurrency","prefersReducedMotion","matchMedia","matches","testProp","docStyle","className","createNS","createElementNS","disableDrag","selectProp","userSelect","enableDrag","setTransform","transformProp","capture","suppressClickInternal","preventDefault","stopPropagation","suppressClick","getScale","getBoundingClientRect","offsetWidth","offsetHeight","boundingClientRect","getPoint","clientX","clientLeft","clientY","clientTop","mousePos","touchPos","mouseButton","button","parentNode","removeChild","documentElement","supported","testSupport","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","isContextLost","deleteTexture","resetRequestQueue","addThrottleControl","removeThrottleControl","accept","abortController","requestParameters","supportImageRefresh","state","onError","onSuccess","HTMLImageElement","fetchPriority","_transformRequestFn","transformRequest","setTransformRequest","texture","useMipmap","pixelStoreUnpackFlipY","pixelStoreUnpack","pixelStoreUnpackPremultiplyAlpha","premultiply","HTMLCanvasElement","HTMLVideoElement","texSubImage2D","isSizePowerOfTwo","generateMipmap","LINEAR_MIPMAP_NEAREST","LINEAR","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","userImage","images","callbackDispatchedThisFrame","requestors","atlasImage","dirty","isLoaded","setLoaded","promiseResolve","_getImagesForIds","spriteData","addImage","_validateStretch","_validateContent","updateImage","removeImage","listImages","getImages","getPixelSize","getPattern","bin","_updatePatternAtlas","atlasTexture","CLAMP_TO_EDGE","beginFrame","requestManager","localIdeographFontFamily","entries","setURL","getGlyphs","_getAndCacheGlyphsPromise","stack","requests","ranges","_tinySDF","loadGlyphRange","_doesCharSupportLocalGlyph","tinySDF","TinySDF","fontSize","cutoff","fontFamily","fontWeight","draw","glyphWidth","glyphHeight","glyphLeft","glyphTop","glyphAdvance","fontStyle","_createCanvas","ctx","textBaseline","textAlign","gridOuter","gridInner","actualBoundingBoxAscent","actualBoundingBoxDescent","actualBoundingBoxLeft","actualBoundingBoxRight","measureText","fillText","_transitionable","setLight","_transitioning","getLight","setSky","getSky","calculateFogBlendOpacity","nextRow","dashEntry","getDash","addDash","getDashRanges","isDash","zeroLength","addRoundDash","addRegularDash","ALPHA","REPEAT","active","acquire","workers","workerCount","Worker","release","numActive","terminate","isPreloaded","globalThis","workerPool","actors","currentActor","broadcast","getActor","calculatePosMatrix","maxPitchScaleFactor","tilesIn","wrappedTileID","queryResults","tile","queryRenderedFeatures","_state","getFeatureState","vector_layers","vectorLayerIds","setSouthWest","setNorthEast","_ne","_sw","extend","getCenter","getSouthWest","getNorthEast","getNorthWest","getWest","getNorth","getSouthEast","getEast","getSouth","contains","validateBounds","dispatcher","reparseOverscaled","_loaded","_options","_collectResourceTiming","dataType","_tileJSONRequest","_requestManager","sourceCaches","clearTiles","tileBounds","sourceDataType","hasTile","setSourceProperty","setTiles","setUrl","getPixelRatio","reloadPromise","_afterTileLoadWorkerResponse","_refreshExpiredTiles","setExpiryData","loadVectorData","catch","unloadTile","unloadVectorData","roundZoom","getTileTexture","saveTileTexture","neighboringTiles","_getNeighboringTiles","readImageNow","dem","needsHillshadePrepare","needsTerrainPrepare","backfilled","demTexture","fbo","_removed","_pendingLoads","_data","workerOptions","_updateWorkerData","setData","setClusterOptions","_request","_finishLoading","finally","setCoordinates","_boundsArray","boundsBuffer","prepare","boundsSegments","sourceId","loop","triggerRepaint","play","pause","seek","seekable","currentTime","getVideo","readyState","paused","animate","canvas","getElementById","_hasInvalidDimensions","_playing","getCanvas","_syncState","clearRTLTextPlugin","setRTLTextPlugin","_requestImport","lazyLoad","timeAdded","fadeEndTime","uses","expirationTime","hasSymbolBuckets","dependencies","rtt","rttCoords","expiredRequestCount","registerFadeDuration","wasRequested","clearTextures","hasData","latestFeatureIndex","latestRawTileData","getLayer","justReloaded","imageAtlasTexture","glyphAtlasTexture","getBucket","querySourceFeatures","patternsLoaded","getTime","getExpiryTimeout","setFeatureState","holdingForFade","symbolFadeHoldUntil","symbolFadeFinished","clearFadeHold","setHoldDuration","setDependencies","hasDependency","reset","timeout","clearTimeout","order","_getAndRemoveByKey","getAndRemove","getByKey","setMaxSize","stateChanges","deletedStates","updateState","removeFeatureState","initializeTileState","coalesceChanges","_dataHandler","_sourceErrored","_source","_tiles","_cache","_unloadTile","_timers","_cacheTimers","_maxTileCacheSize","_maxTileCacheZoomLevels","_loadedParentTiles","_coveredTiles","_didEmitContent","_updated","_sourceLoaded","used","usedForTerrain","getSource","_paused","resume","_shouldReloadOnResume","reload","_loadTile","_tileLoaded","_abortTile","coord","imageManager","getIds","getRenderableIds","_isIdRenderable","hasRenderableParent","findLoadedParent","_reloadTile","refreshedUponExpiration","_setTileReloadTimer","_backfillDEM","getTileByID","_retainLoadedChildren","_getLoadedTile","findLoadedSibling","updateCacheSize","handleWrapJump","_prevLng","_updateCoveredAndRetainedTiles","_addTile","getVisibleUnwrappedCoordinates","coveringTiles","coveringZoomLevel","maxOverzooming","maxUnderzooming","_updateRetainedTiles","_fadeDuration","_removeTile","_updateLoadedParentTileCache","_updateLoadedSiblingTileCache","releaseSymbolFadeTiles","cancelPendingTileRequestsWhileZooming","_loadedSiblingTiles","getCameraQueryGeometry","pointCoordinate","getVisibleCoordinates","posMatrix","reloadTilesForDependencies","_distances","paddedLength","lerp","boxCells","circleCells","xCellCount","yCellCount","circleKeys","boxKeys","circles","xScale","yScale","boxUid","circleUid","keysLength","_insertBoxCell","insertCircle","_insertCircleCell","_query","hitTest","overlapMode","seenUids","box","hitTestCircle","_queryCellCircle","_circleAndRectCollide","_circlesCollide","_convertToXCellCoord","_convertToYCellCoord","labelPlaneMatrix","glCoordMatrix","signedDistanceFromCamera","isOccluded","getElevation","pitchWithMap","projectionCache","projections","offsets","cachedAnchorPoint","anyProjectionOccluded","tileAnchorPoint","unwrappedTileID","translation","useVertical","notEnoughRoom","needsFlipping","last","direction","distanceFromAnchor","previousVertex","absOffsetX","useSpecialProjectionForSymbols","projectTileCoordinates","mapProjection","ignoredGrid","pitchFactor","_pitch","screenRightBoundary","screenBottomBoundary","gridRightBoundary","gridBottomBoundary","perspectiveRatioCutoff","placeCollisionBox","projectAndGetPerspectiveRatio","_projectCollisionBox","allPointsOccluded","perspectiveRatio","isInsideGrid","placeable","offscreen","isOffscreen","placeCollisionCircles","getPerspectiveRatio","projectPathToScreenSpace","collisionDetected","queryRenderedSymbols","bucketInstanceId","insertCollisionBox","collisionGroupID","insertCollisionCircles","getViewportMatrix","getPitchedTextCorrection","offsetX","offsetY","opacity","placed","skipFade","invProjMatrix","viewportMatrix","crossSourceCollisions","maxGroupID","collisionGroups","ID","predicate","collisionIndex","placements","opacities","variableOffsets","stale","commitTime","retainedQueryData","collisionCircleArrays","collisionBoxArrays","prevPlacement","placedOrientations","_getTerrainElevationFunc","getBucketParts","translatePosition","translationText","translationIcon","textLabelPlaneMatrix","labelToScreenMatrix","textPixelRatio","partiallyEvaluatedTextSize","collisionGroup","attemptAnchorPlacement","textOffset","prevAnchor","markUsedJustification","markUsedOrientation","placedGlyphBoxes","placeLayerBucketPart","occluded","storeCollisionData","commit","zoomAtLastRecencyCheck","prevZoomAdjustment","zoomAdjustment","symbolFadeChange","lastPlacementChangeTime","updateLayerOpacities","updateBucketOpacities","hasTransitions","stillRecent","setStale","getCircleRadiusCorrection","_sortAcrossTiles","_currentTileIndex","_currentPartIndex","_seenCrossTileIDs","_bucketParts","continuePlacement","placement","_currentPlacementIndex","_forceFullPlacement","_showCollisionBoxes","_done","isDone","_inProgressLayer","_symbolsByKey","crossTileIDs","getScaledCoordinates","findMatches","getCrossTileIDsLists","maxCrossTileID","generate","indexes","usedCrossTileIDs","addBucket","removeBucketCrossTileIDs","removeStaleBuckets","maxBucketInstanceId","bucketsInCurrentPlacement","addLayer","pruneUnusedLayers","_rtlPluginLoaded","_getMapId","glyphManager","lineAtlas","crossTileSymbolIndex","_spritesImagesIds","_order","_availableImages","_resetUpdates","_validateLayer","loadURL","_loadStyleRequest","_load","loadJSON","_frameRequest","loadEmpty","transformStyle","stylesheet","addSource","_loadSprite","_createLayers","setTerrain","_serializedLayers","_spriteRequest","_changedImages","_changed","_unloadSprite","_updatedSources","_serializeByIds","_serializedAllLayers","_checkLoaded","_updatedLayers","_removedLayers","_updateWorkerLayers","_reloadSource","_clearSource","_updateTilesForChangedImages","_updateTilesForChangedGlyphs","_updatedPaintProps","_glyphsDidChange","_getOperationsToPerform","unimplemented","operations","removeLayer","setFilter","setLayerZoomRange","setGeoJSONSourceData","setGlyphs","setSprite","_afterImageUpdated","isSourceLoaded","_layerOrderChanged","_updateLayer","moveLayer","getLayersOrder","getFilter","getTerrain","_flattenAndSortRenderedFeatures","_remove","_updateSources","_generateCollisionBoxes","_updatePlacement","pauseablePlacement","_releaseSymbolFadeTiles","getGlyphsUrl","addSprite","removeSprite","find","findIndex","getSprite","prelude","backgroundPattern","clippingMask","heatmapTexture","collisionBox","collisionCircle","fillOutline","fillOutlinePattern","fillPattern","fillExtrusion","fillExtrusionPattern","hillshadePrepare","lineGradient","linePattern","lineSDF","symbolIcon","symbolSDF","symbolTextAndIcon","terrainDepth","terrainCoords","fragmentSource","vertexSource","staticAttributes","staticUniforms","boundProgram","boundLayoutVertexBuffer","boundPaintVertexBuffers","boundIndexBuffer","boundVertexOffset","boundDynamicVertexBuffer","vao","boundDynamicVertexBuffer2","boundDynamicVertexBuffer3","freshBind","bindVertexArray","dynamicDraw","numAttributes","createVertexArray","enableAttributes","setVertexAttribPointers","currentNumAttributes","deleteVertexArray","u_matrix","u_texture","u_ele_delta","u_fog_matrix","u_fog_color","u_fog_ground_blend","u_fog_ground_blend_opacity","u_horizon_color","u_horizon_fog_blend","program","createProgram","createShader","FRAGMENT_SHADER","failedToCreate","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","attachShader","VERTEX_SHADER","attributes","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","deleteShader","getUniformLocation","fixedUniforms","terrainUniforms","u_depth","u_terrain","u_terrain_dim","u_terrain_matrix","u_terrain_unpack","u_terrain_exaggeration","binderUniforms","setDepthMode","setStencilMode","setColorMode","setCullFace","activeTexture","TEXTURE2","depthTexture","TEXTURE3","LINES","TRIANGLES","LINE_STRIP","drawElements","UNSIGNED_SHORT","tileZoom","u_image","u_texsize","u_scale","u_fade","u_pixel_coord_upper","u_pixel_coord_lower","u_lightpos","u_lightintensity","u_lightcolor","u_vertical_gradient","u_opacity","u_height_factor","u_world","pixelsToGLUnits","u_camera_to_center_distance","u_scale_with_map","translatePosMatrix","u_pitch_with_map","u_device_pixel_ratio","u_extrude_scale","u_inv_matrix","u_viewport_size","u_color","u_overlay","u_overlay_scale","u_intensity","u_ratio","u_units_to_pixels","u_image_height","u_patternscale_a","u_patternscale_b","u_sdfgamma","u_tex_y_a","u_tex_y_b","u_mix","u_tl_parent","u_scale_parent","u_buffer_scale","u_fade_t","mix","u_image0","u_image1","u_brightness_low","u_brightness_high","u_saturation_factor","u_contrast_factor","u_spin_weights","u_is_size_zoom_constant","u_is_size_feature_constant","u_size_t","u_size","u_pitch","u_rotate_symbol","u_aspect_ratio","u_fade_change","u_label_plane_matrix","u_coord_matrix","u_is_text","u_is_along_line","u_is_variable_anchor","u_translation","u_pitched_scale","u_gamma_scale","u_is_halo","u_texsize_icon","u_texture_icon","u_pattern_tl_a","u_pattern_br_a","u_pattern_tl_b","u_pattern_br_b","u_pattern_size_a","u_pattern_size_b","u_scale_a","u_scale_b","u_tile_units_to_pixels","u_pixel_extrude_scale","u_color_ramp","u_latrange","u_light","u_shadow","u_highlight","u_accent","u_dimension","u_zoom","u_unpack","u_terrain_coords_id","u_sky_color","u_horizon","u_sky_horizon_blend","createBuffer","unbindVAO","bindElementBuffer","bufferData","ELEMENT_ARRAY_BUFFER","DYNAMIC_DRAW","STATIC_DRAW","bufferSubData","deleteBuffer","bindVertexBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","WeakMap","getParameter","VERSION","getDefault","setDefault","clearColor","clearDepth","clearStencil","colorMask","depthMask","stencilMask","func","ALWAYS","mask","stencilFunc","KEEP","stencilOp","enable","STENCIL_TEST","disable","depthRange","DEPTH_TEST","LESS","depthFunc","BLEND","ONE","ZERO","blendFunc","blendColor","FUNC_ADD","blendEquation","CULL_FACE","BACK","cullFace","CCW","frontFace","useProgram","TEXTURE0","drawingBufferWidth","drawingBufferHeight","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","bindBuffer","getExtension","bindVertexArrayOES","pixelStorei","UNPACK_ALIGNMENT","UNPACK_PREMULTIPLY_ALPHA_WEBGL","UNPACK_FLIP_Y_WEBGL","setDirty","framebufferTexture2D","COLOR_ATTACHMENT0","framebufferRenderbuffer","DEPTH_ATTACHMENT","DEPTH_STENCIL_ATTACHMENT","framebuffer","createFramebuffer","colorAttachment","depthAttachment","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","deleteRenderbuffer","deleteFramebuffer","blendFunction","Replace","disabled","unblended","alphaBlended","stencilTest","depthTest","blend","cullFaceSide","extTextureFilterAnisotropic","extTextureFilterAnisotropicMax","MAX_TEXTURE_MAX_ANISOTROPY_EXT","maxTextureSize","MAX_TEXTURE_SIZE","HALF_FLOAT","RGBA16F","RGBA16F_EXT","RGB16F","RGB16F_EXT","HALF_FLOAT_OES","createRenderbuffer","renderbufferStorage","depth","stencil","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","STENCIL_BUFFER_BIT","mode","fail","depthFail","pass","createVertexArrayOES","deleteVertexArrayOES","ReadOnly","ReadWrite","circleArray","circleOffset","invTransform","colorModeForRenderPass","getTerrainData","backCCW","shiftedAnchor","depthModeForSublayer","rotating","zooming","NEAREST","buffers","uniformValues","atlasTextureIcon","atlasInterpolation","atlasInterpolationIcon","hasHalo","terrainData","TEXTURE1","stencilModeForClipping","moving","rasterBoundsBuffer","quadTriangleIndexBuffer","rasterBoundsSegments","SCISSOR_TEST","scissor","initDebugOverlayCanvas","debugOverlayCanvas","shadowColor","shadowBlur","lineWidth","strokeStyle","strokeText","debugOverlayTexture","debugBuffer","debugSegments","tileBorderIndexBuffer","LEQUAL","depthRangeFor3D","getTerrainMesh","renderToTexture","getTexture","getMeshFrameDelta","calculateFogMatrix","vertexBuffer","_tileTextures","terrainFacilitator","matrix","renderTime","setup","numSublayers","depthEpsilon","tileExtentBuffer","tileExtentSegments","viewportBuffer","viewportSegments","stencilClearMode","nextStencilID","currentStencilSource","_renderTileClippingMasks","_tileClippingMaskIDs","REPLACE","stencilModeFor3D","NOTEQUAL","EQUAL","stencilConfigForOverlap","GEQUAL","_showOverdrawInspector","CONSTANT_COLOR","renderPass","opaquePassEnabledForLayer","currentLayer","opaquePassCutoff","maybeDrawDepthAndCoords","prepareForRender","renderLayer","showOverdrawInspector","getHorizon","mesh","showTileBoundaries","flatMap","showPadding","centerPoint","modelViewProjectionMatrix","sourceCache","tilesAfterTime","getRenderableTiles","getFramebuffer","devicePixelRatio","getCoordsTexture","coordsIndex","programConfiguration","gradient","texParameterf","TEXTURE_MAX_ANISOTROPY_EXT","isPatternMissing","setCustomLayerDefaults","customLayerMatrix","setBaseState","farZ","nearZ","fov","_fov","projectionMatrix","overLimit","planes","fromInvProjectionMatrix","quadrant","distanceX","distanceY","intersects","MAX_VALUE","_renderWorldCopies","_minZoom","_maxZoom","_minPitch","_maxPitch","setMaxBounds","_center","_elevation","_unmodified","_edgeInsets","_posMatrixCache","_alignedPosMatrixCache","_fogMatrixCache","minElevationForCurrentTile","maxPitch","latRange","_calcMatrices","minPitch","renderWorldCopies","worldSize","centerOffset","rotationMatrix","_zoom","zoomScale","_constrain","elevation","isPaddingEqual","interpolatePadding","scaleZoom","getCameraPoint","invModelViewProjectionMatrix","aabb","fullyVisible","distanceSq","tileDistanceToCamera","getMinMaxElevation","minElevation","maxElevation","unmodified","project","unproject","getCameraPosition","lngLat","pointLocation","altitude","_pixelPerMeter","recalculateZoom","getElevationForLngLatZoom","setLocationAtPoint","locationCoordinate","coordinateLocation","locationPoint","coordinatePoint","pixelMatrix3D","pixelMatrixInverse","pixelMatrix","getBounds","getMaxBounds","lngRange","calculateTileMatrix","alignedModelViewProjectionMatrix","fogMatrix","mercatorMatrix","getConstrained","_constraining","lngLatToCameraDepth","_getCurrentHash","hash","_hashName","_onHashChange","dragRotate","isEnabled","touchZoomRotate","getBearing","jumpTo","_updateHashUnthrottled","getHashString","history","replaceState","_removeHash","_updateHash","encodeURIComponent","addTo","getZoom","getPitch","linearity","easing","deceleration","maxSpeed","_inertiaBuffer","record","_drainInertiaBuffer","settings","_onMoveEnd","pan","pinchAround","around","zoomDelta","bearingDelta","pitchDelta","panDelta","amount","noMoveStart","_defaultPrevented","defaultPrevented","originalEvent","changedTouches","touches","getCanvasContainer","lngLats","_clickTolerance","clickTolerance","_mousedownPos","wheel","_firePreventable","mousedown","mouseup","click","dblclick","mouseover","mouseout","touchstart","touchmove","touchend","touchcancel","isActive","_delayContextMenu","_ignoreContextMenu","_contextMenuEvent","mousemove","contextmenu","_requestedCameraState","_tr","_el","_container","getContainer","_enabled","_active","shiftKey","_startPos","_lastPos","mousemoveWindow","_box","classList","_fireEvent","mouseupWindow","cameraAnimation","fitScreenCoordinates","keydown","keyCode","numTouches","centroid","startTime","timeStamp","singleTap","numTaps","lastTime","lastTap","count","_zoomIn","_zoomOut","easeTo","_moveStateManager","moveStateManager","_moveFunction","move","_activateOnStart","activateOnStart","assignEvents","_moved","_lastPoint","endMove","_move","dragStart","isValidStartEvent","startMove","dragMove","isValidMoveEvent","dragEnd","isValidEndEvent","getClickTolerance","_correctEvent","checkCorrectEvent","_eventButton","buttons","_firstTouch","_isOneFingerTouch","targetTouches","_isSameTouchEvent","bearingDegreesPerPixelMoved","ctrlKey","pitchDegreesPerPixelMoved","_touches","_sum","_shouldBePrevented","cooperativeGestures","_calculateTransform","notifyGestureBlocked","_firstTwoTouches","_start","_aroundCenter","_distance","_startDistance","_minDiameter","_startVector","_vector","_isBelowThreshold","_currentTouchCount","_valid","_firstMove","_lastPoints","gestureBeginsVertically","panStep","bearingStep","pitchStep","_panStep","_bearingStep","_pitchStep","_rotationDisabled","altKey","metaKey","easeId","disableRotation","enableRotation","_onTimeout","_type","_delta","_lastValue","_triggerRenderFrame","_defaultZoomRate","_wheelZoomRate","setZoomRate","setWheelZoomRate","_finishTimeout","isZooming","_zooming","isBypassed","deltaMode","WheelEvent","DOM_DELTA_LINE","deltaY","_lastWheelEventTime","_timeout","_lastWheelEvent","_frameId","_around","_aroundPoint","renderFrame","_targetZoom","_startZoom","_easing","_smoothOutEasing","noInertia","needsRenderFrame","_prevEase","_clickZoom","_tapZoom","_tap","_swipePoint","_swipeTouch","_tapTime","_tapPoint","_mousePan","_touchPan","_inertiaOptions","_pitchWithRotate","pitchWithRotate","_mouseRotate","_mousePitch","_touchZoom","_touchRotate","_tapDragZoom","_bypassKey","_setupUI","_getUIString","textContent","setAttribute","_destroyUI","gestureType","drag","handleWindowEvent","handleEvent","stop","_updatingCamera","_getMapTouches","handlerName","handler","allowed","_handlers","_blockedByActive","mergeHandlerResult","_previousActiveHandlers","_changes","_stop","_inertia","_fireEvents","_handlersById","_bearingSnap","bearingSnap","_eventsInProgress","_addDefaultHandlers","passive","boxZoom","interactive","doubleClickZoom","touchPitch","dragPan","scrollZoom","keyboard","isRotating","isMoving","_applyChanges","_updateMapTransform","_getTransformForUpdate","_terrainMovement","_elevationFreeze","_applyUpdatedTransform","_update","essential","resetNorth","freezeElevation","_requestFrame","_renderTaskQueue","_renderFrameCallback","_easeStart","_easeOptions","_onEaseFrame","_easeFrameId","_requestRenderFrame","_moving","setCenter","panBy","panTo","setZoom","zoomTo","zoomIn","zoomOut","setBearing","getPadding","setPadding","rotateTo","resetNorthPitch","snapToNorth","setPitch","cameraForBounds","_cameraForBoxAndBearing","fitBounds","_fitInternal","flyTo","calculateCameraOptionsFromTo","_normalizeBearing","_normalizeCenter","_rotating","pitching","_pitching","_padding","_easeId","_prepareEase","_prepareElevation","_ease","_updateElevation","_fireMoveEvents","_finalizeElevation","_afterEase","_elevationCenter","_elevationStart","_elevationTarget","getMinTileElevationForLngLatZoom","transformCameraUpdate","_elevateCameraIfInsideTerrain","speed","curve","screenSpeed","maxDuration","isEasing","_cancelRenderFrame","_onEaseEnd","handlers","queryTerrainElevation","compact","customAttribution","_toggleAttribution","removeAttribute","_updateData","_updateAttributions","_updateCompact","_compact","_updateCompactMinimize","getDefaultPosition","_compactButton","_setElementTitle","_innerContainer","_attribHTML","title","styleOwner","owner","styleId","innerHTML","_editLink","rel","display","_queue","_id","_cleared","_currentlyRunning","cancelled","run","_renderableTilesKeys","_sourceTileCache","deltaZoom","destruct","freeRtt","getTerrainCoords","getSourceTile","qualityFactor","meshSize","_demMatrixCache","_coordsTextureSize","getDEMElevation","mercatorX","mercatorY","_getOverscaledTileIDFromLngLatZoom","_emptyDemTexture","_emptyDepthTexture","_emptyDemUnpack","_emptyDemMatrix","_fboDepthTexture","_fbo","_fboCoordsTexture","DEPTH_COMPONENT16","_coordsTexture","readPixels","depthAtPoint","_mesh","_context","_size","_tileSize","_objects","_recentlyUsed","_stamp","_createObject","DEPTH_STENCIL","stamp","inUse","getObjectForId","useObject","stampObject","getOrCreateFreeObject","freeObject","freeAllObjects","isFull","pool","_stacks","_prevType","_rttTiles","_renderableTiles","_renderableLayerIds","_coordsDescendingInv","_coordsDescendingInvStr","attributionControl","maplibreLogo","failIfMajorPerformanceCaveat","preserveDrawingBuffer","refreshExpiredTiles","trackResize","maxTileCacheSize","maxTileCacheZoomLevels","validateStyle","maxCanvasSize","touchmoveWindow","showCompass","showZoom","visualizePitch","startMouse","element","moveMouse","mouseRotate","mousePitch","offTemp","startTouch","moveTouch","touchRotate","_onKeyPress","code","charCode","togglePopup","_onMapClick","_element","_popup","_lngLat","_flatPos","_offset","_rotationAlignment","_rotation","_pitchAlignment","_subpixelPositioning","_anchor","_updateOpacity","_onMove","_isDragging","_pointerdownPos","_positionDelta","setLngLat","pointerEvents","_onUp","_addDragHandler","_color","_scale","_draggable","draggable","subpixelPositioning","rotation","rotationAlignment","pitchAlignment","setOpacity","opacityWhenCovered","_defaultMarker","setAttributeNS","rx","ry","setDraggable","_opacityTimeout","getLngLat","getElement","setPopup","_originalTabIndex","getAttribute","setSubpixelPositioning","getPopup","_opacityWhenCovered","isOpen","_opacity","getOffset","setOffset","addClassName","removeClassName","toggleClassName","toggle","isDraggable","setRotation","getRotation","setRotationAlignment","getRotationAlignment","setPitchAlignment","getPitchAlignment","positionOptions","enableHighAccuracy","maximumAge","fitBoundsOptions","trackUserLocation","showAccuracyCircle","showUserLocation","maxWidth","clientHeight","closeButton","closeOnClick","focusAfterOpen","AJAXError","Evented","LngLat","MercatorCoordinate","config","AttributionControl","BoxZoomHandler","CanvasSource","CooperativeGesturesHandler","DoubleClickZoomHandler","DragPanHandler","DragRotateHandler","EdgeInsets","FullscreenControl","_onFullscreenChange","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","shadowRoot","_fullscreen","_handleFullscreenChange","_onClickFullscreen","_isFullscreen","_exitFullscreen","_requestFullscreen","container","HTMLElement","_fullscreenchange","_controlContainer","_fullscreenButton","_updateTitle","_getTitle","_prevCooperativeGesturesEnabled","exitFullscreen","mozCancelFullScreen","msExitFullscreen","webkitCancelFullScreen","_togglePseudoFullScreen","requestFullscreen","mozRequestFullScreen","msRequestFullscreen","webkitRequestFullscreen","GeoJSONSource","GeolocateControl","_onSuccess","_isOutOfMapMaxBounds","_setErrorState","_updateMarker","_finish","_lastKnownPosition","_watchState","_geolocateButton","_updateCamera","_dotElement","longitude","latitude","accuracy","geolocateSource","_accuracyCircleMarker","_userLocationDotMarker","_accuracy","_updateCircleRadius","_onZoom","_onError","_geolocationWatchID","_clearWatch","_timeoutId","_finishSetupUI","_circleElement","_setup","permissions","geolocation","clearWatch","watchPosition","getCurrentPosition","Hash","ImageSource","KeyboardHandler","LngLatBounds","LogoControl","_idleTriggered","_crossFadingFactor","_controls","_mapId","_contextLost","_contextRestored","_setupPainter","_onMapScroll","scrollTop","scrollLeft","_onWindowOnline","_interactive","_failIfMajorPerformanceCaveat","_preserveDrawingBuffer","_antialias","antialias","_trackResize","_crossSourceCollisions","_locale","_overridePixelRatio","_maxCanvasSize","_imageQueueHandle","maxBounds","_setupContainer","_resizeObserver","ResizeObserver","observe","_hash","_localIdeographFontFamily","_validateStyle","setStyle","addControl","logoPosition","_controlPositions","insertBefore","firstChild","removeControl","hasControl","_containerDimensions","_getClampedPixelRatio","_resizeCanvas","setPixelRatio","setMinZoom","getMinZoom","setMaxZoom","getMaxZoom","setMinPitch","getMinPitch","setMaxPitch","getMaxPitch","getRenderWorldCopies","setRenderWorldCopies","_createDelegatedListener","listener","delegates","_delegatedListeners","diff","_diffStyle","_updateStyle","_lazyInitEmptyStyle","_updateDiff","getStyle","isStyleLoaded","_terrainDataCallback","areTilesLoaded","hasImage","loadImage","_canvasContainer","_canvas","clientWidth","alpha","requestedAttributes","statusMessage","_styleDirty","_sourcesDirty","_render","_placementDirty","_repaint","_fullyLoaded","redraw","disconnect","loseContext","_showTileBoundaries","_showPadding","repaint","vertices","_vertices","getCameraTargetElevation","MapMouseEvent","MapTouchEvent","MapWheelEvent","Marker","NavigationControl","_updateZoomButtons","_zoomInButton","_zoomOutButton","_rotateCompassArrow","_compassIcon","_setButtonTitle","_createButton","_compass","_handler","Popup","_content","_onClose","_onMouseMove","_onMouseUp","_onDrag","_trackPointer","_tip","_closeButton","closeOnMove","_focusFirstElement","trackPointer","setText","setDOMContent","createTextNode","setHTML","createDocumentFragment","getMaxWidth","setMaxWidth","hasChildNodes","_createCloseButton","querySelector","focus","RasterDEMTileSource","RasterTileSource","ScaleControl","setUnit","ScrollZoomHandler","Style","TerrainControl","_toggleTerrain","_updateTerrainIcon","_terrainButton","TwoFingersTouchPitchHandler","TwoFingersTouchRotateHandler","TwoFingersTouchZoomHandler","TwoFingersTouchZoomRotateHandler","VectorTileSource","VideoSource","addSourceType","clearPrewarmedResources","getMaxParallelImageRequests","getVersion","getWorkerCount","getWorkerUrl","importScriptInWorkers","prewarm","setMaxParallelImageRequests","setWorkerCount","maplibregl$1","MaplibreGLJSLayer","Layer","updateInterval","pane","initialize","setOptions","_throttledUpdate","throttle","_initContainer","paneName","getPaneName","getPane","_initGL","containerPointToLayerPoint","zoomAnimation","DomEvent","_proxy","DomUtil","TRANSITION_END","_transitionEnd","_glMap","getEvents","zoomanim","_animateZoom","_pinchZoom","zoomstart","_zoomStart","zoomend","_zoomEnd","_resize","getMaplibreMap","getSize","multiplyBy","getOpacity","halfSize","latLngToContainerPoint","containerPointToLatLng","subtract","topLeft","setPosition","res","maxValidLatitude","Infinity","_transformGL","_actualCanvas","addClass","undefined","getZoomScale","viewHalf","_divideBy","_subtract","_getMapPanePos","requestAnimFrame","maplibreGLJSLayer","apiKey","apikey","_createLayer","wkid","spatialReference","_createMaplibreLayer","_setupAttribution","getAttribution","_maplibreGL","addAttribution","_ready","_asyncAdd","VectorBasemapLayer","language","worldview","places","getBasemapStyleV2Url","getBasemapStyleUrl","setEsriAttribution","allAttributions","attributionUrls","_getAttributionUrls","_initPane","createPane","zIndex","removeEsriAttribution","getElementsByClassName","vectorAttribution","outerHTML","removeAttribution","packageInfo","deferred"],"mappings":"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"} \ No newline at end of file diff --git a/dist/siteData.json b/dist/siteData.json new file mode 100644 index 0000000..8802fc6 --- /dev/null +++ b/dist/siteData.json @@ -0,0 +1 @@ +{"name": "esri-leaflet-vector","version": "","lib": {"path": "dist/esri-leaflet-vector.js","integrity": "sha512-KGSCiYghNE2IgeDP4AUnlF1mEEDgFXMvuq2yDZSzsjQXV+KuMcpwNR2af1w2iHx+z3Ozr2t9Fk9g1aNRV+aS5w=="}}