@yarrow-uz/yarrow-map-web-sdk 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ import type * as React from 'react';
2
+ import { useYarrowMap, type YarrowMapReactConfig } from './useYarrowMap';
3
+ type YarrowMapViewProps = {
4
+ config: YarrowMapReactConfig;
5
+ configKey?: string | number;
6
+ onReady?: Parameters<typeof useYarrowMap>[0]['onReady'];
7
+ className?: string;
8
+ style?: React.CSSProperties;
9
+ };
10
+ export declare const YarrowMapView: ({ config, configKey, onReady, className, style, }: YarrowMapViewProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=YarrowMapView.d.ts.map
@@ -0,0 +1,4 @@
1
+ import 'maplibre-gl/dist/maplibre-gl.css';
2
+ export * from './useYarrowMap';
3
+ export * from './YarrowMapView';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ import t from"axios";import"maplibre-gl/dist/maplibre-gl.css";import{useRef as e,useState as o,useMemo as n,useEffect as i}from"react";import{addProtocol as r,Map as a,Marker as s}from"maplibre-gl";import{jsx as l}from"react/jsx-runtime";function c(t,e,o,n){return new(o||(o=Promise))(function(i,r){function a(t){try{l(n.next(t))}catch(t){r(t)}}function s(t){try{l(n.throw(t))}catch(t){r(t)}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof o?e:new o(function(t){t(e)})).then(a,s)}l((n=n.apply(t,e||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const d="bottom-left",u="data-yarrow-brand-badge-root",h="data-yarrow-brand-badge-theme";class p{constructor(){this.state={theme:"light",position:d}}mount(t,e){var o,n;this.state=e,this.container=t,this.teardown(!1),"static"===getComputedStyle(t).position&&t.style.setProperty("position","relative","important");const i=null!==(n=null!==(o=this.host)&&void 0!==o?o:t.querySelector(`[${u}]`))&&void 0!==n?n:this.createHost();this.host=i;const r=()=>{if(!this.host||!this.container)return;const t=this.host;this.container.contains(t)||this.container.appendChild(t),t.removeAttribute("hidden"),t.setAttribute(u,"1"),t.setAttribute(h,this.state.theme),this.applyHostStyles(t)};r(),this.observer=new MutationObserver(()=>{r()}),this.observer.observe(t,{childList:!0}),this.enforcerInterval=setInterval(()=>{r()},1e3)}update(t){this.state=t,this.host&&(this.host.setAttribute(h,this.state.theme),this.applyHostStyles(this.host))}teardown(t=!0){var e,o;null===(e=this.observer)||void 0===e||e.disconnect(),this.observer=void 0,this.enforcerInterval&&(clearInterval(this.enforcerInterval),this.enforcerInterval=void 0),t&&(null===(o=this.host)||void 0===o?void 0:o.isConnected)&&this.host.remove(),t&&(this.host=void 0,this.container=void 0)}getHostInlineStyle(){let t="";switch(this.state.position){case"top-left":t="top: 6px !important; left: 6px !important;";break;case"top-right":t="top: 6px !important; right: 6px !important;";break;case"bottom-right":t="bottom: 6px !important; right: 6px !important;";break;default:t="bottom: 6px !important; left: 6px !important;"}return["position: absolute !important","z-index: 2147483647 !important","pointer-events: none !important","user-select: none !important","display: block !important","visibility: visible !important","opacity: 1 !important","transform: none !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important",t].join("; ")}applyHostStyles(t){const e=this.getHostInlineStyle();t.getAttribute("style")!==e&&t.setAttribute("style",e)}createHost(){const t=document.createElement("div");t.setAttribute(u,"1"),t.setAttribute(h,this.state.theme),t.setAttribute("aria-hidden","true"),t.removeAttribute("hidden"),this.applyHostStyles(t);const e=t.attachShadow({mode:"closed"}),o=document.createElement("style");o.textContent='\n :host {\n all: initial;\n }\n .badge {\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n background: rgba(255, 255, 255, 0.92) !important;\n border: 1px solid rgba(15, 23, 42, 0.08) !important;\n border-radius: 16px !important;\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.16) !important;\n padding: 2px 10px !important;\n }\n :host([data-yarrow-brand-badge-theme="dark"]) .badge {\n background: rgba(15, 23, 42, 0.82) !important;\n border: 1px solid rgba(255, 255, 255, 0.16) !important;\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5) !important;\n }\n img {\n display: block !important;\n width: 106px !important;\n height: auto !important;\n max-width: none !important;\n opacity: 1 !important;\n visibility: visible !important;\n }\n ';const n=document.createElement("div");n.className="badge";const i=document.createElement("img");return i.src="data:image/png;base64,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",i.alt="Yarrow",i.draggable=!1,n.appendChild(i),e.append(o,n),t}}const m={enabled:!1,position:"right",zoom:!0,compass:!0};class g{constructor(){this.state={theme:"light",controls:m}}mount(t,e){this.map=t,this.update(e)}update(t){if(this.state=t,!this.map||!t.controls.enabled)return void this.teardown(!0);const e=this.map.getContainer();this.container=e,"static"===getComputedStyle(e).position&&e.style.setProperty("position","relative","important"),this.host||(this.createDom(e),this.attachMapListeners()),this.host&&(this.host.dataset.yarrowTheme=this.state.theme,this.applyHostPosition(this.host),this.renderVisibleButtons(),this.updateCompassNeedle())}teardown(t=!0){var e;this.map&&this.onRotate&&this.map.off("rotate",this.onRotate),this.onRotate=void 0,this.zoomInButton&&this.onZoomInClick&&this.zoomInButton.removeEventListener("click",this.onZoomInClick),this.zoomOutButton&&this.onZoomOutClick&&this.zoomOutButton.removeEventListener("click",this.onZoomOutClick),this.compassButton&&this.onCompassClick&&this.compassButton.removeEventListener("click",this.onCompassClick),this.zoomInButton=void 0,this.zoomOutButton=void 0,this.compassButton=void 0,this.compassNeedle=void 0,this.onZoomInClick=void 0,this.onZoomOutClick=void 0,this.onCompassClick=void 0,t&&(null===(e=this.host)||void 0===e?void 0:e.isConnected)&&this.host.remove(),t&&(this.host=void 0,this.container=void 0)}createDom(t){const e=document.createElement("div");e.setAttribute("data-yarrow-controls-root","1"),e.dataset.yarrowTheme=this.state.theme;const o=e.attachShadow({mode:"closed"}),n=document.createElement("style");n.textContent='\n :host {\n all: initial;\n }\n .group {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n button {\n all: unset;\n width: 36px;\n height: 36px;\n border-radius: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-sizing: border-box;\n font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, \'Segoe UI\', sans-serif;\n font-weight: 700;\n font-size: 18px;\n line-height: 1;\n color: #0f172a;\n background: rgba(255, 255, 255, 0.94);\n border: 1px solid rgba(15, 23, 42, 0.12);\n box-shadow: 0 2px 12px rgba(15, 23, 42, 0.14);\n }\n button:hover {\n background: #ffffff;\n }\n button:active {\n transform: translateY(1px);\n }\n .needle {\n width: 32px;\n height: 32px;\n display: block;\n transition: transform 120ms linear;\n }\n :host([data-yarrow-theme="dark"]) button {\n color: #f8fafc;\n background: rgba(15, 23, 42, 0.88);\n border: 1px solid rgba(255, 255, 255, 0.16);\n box-shadow: 0 2px 12px rgba(2, 6, 23, 0.5);\n }\n :host([data-yarrow-theme="dark"]) button:hover {\n background: rgba(15, 23, 42, 0.96);\n }\n ';const i=document.createElement("div");i.className="group";const r=document.createElement("button");r.type="button",r.ariaLabel="Zoom in",r.textContent="+",this.onZoomInClick=()=>{var t;null===(t=this.map)||void 0===t||t.zoomIn({duration:200})},r.addEventListener("click",this.onZoomInClick);const a=document.createElement("button");a.type="button",a.ariaLabel="Zoom out",a.textContent="-",this.onZoomOutClick=()=>{var t;null===(t=this.map)||void 0===t||t.zoomOut({duration:200})},a.addEventListener("click",this.onZoomOutClick);const s=document.createElement("button");s.type="button",s.ariaLabel="Reset north";const l=document.createElement("img");l.className="needle",l.src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjYgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTUyOCAzMjBDNTI4IDIwNS4xIDQzNC45IDExMiAzMjAgMTEyQzIwNS4xIDExMiAxMTIgMjA1LjEgMTEyIDMyMEMxMTIgNDM0LjkgMjA1LjEgNTI4IDMyMCA1MjhDNDM0LjkgNTI4IDUyOCA0MzQuOSA1MjggMzIwek02NCAzMjBDNjQgMTc4LjYgMTc4LjYgNjQgMzIwIDY0QzQ2MS40IDY0IDU3NiAxNzguNiA1NzYgMzIwQzU3NiA0NjEuNCA0NjEuNCA1NzYgMzIwIDU3NkMxNzguNiA1NzYgNjQgNDYxLjQgNjQgMzIwek0zNzAuNyAzODkuMUwyMjYuNCA0NDQuNkMyMDcgNDUyLjEgMTg3LjkgNDMzIDE5NS40IDQxMy42TDI1MC45IDI2OS4zQzI1NC4yIDI2MC44IDI2MC44IDI1NC4yIDI2OS4zIDI1MC45TDQxMy42IDE5NS40QzQzMyAxODcuOSA0NTIuMSAyMDcgNDQ0LjYgMjI2LjRMMzg5LjEgMzcwLjdDMzg1LjggMzc5LjIgMzc5LjIgMzg1LjggMzcwLjcgMzg5LjF6TTM1MiAzMjBDMzUyIDMwMi4zIDMzNy43IDI4OCAzMjAgMjg4QzMwMi4zIDI4OCAyODggMzAyLjMgMjg4IDMyMEMyODggMzM3LjcgMzAyLjMgMzUyIDMyMCAzNTJDMzM3LjcgMzUyIDM1MiAzMzcuNyAzNTIgMzIweiIvPjwvc3ZnPg==",l.alt="",l.draggable=!1,s.appendChild(l),this.onCompassClick=()=>{var t;null===(t=this.map)||void 0===t||t.easeTo({bearing:0,pitch:0,duration:250})},s.addEventListener("click",this.onCompassClick),i.append(r,a,s),o.append(n,i),t.appendChild(e),this.host=e,this.zoomInButton=r,this.zoomOutButton=a,this.compassButton=s,this.compassNeedle=l}applyHostPosition(t){let e="";if("left"===this.state.controls.position)e="top: 50% !important; left: 8px !important;";else e="top: 50% !important; right: 8px !important;";t.style.cssText=["position: absolute !important","z-index: 2147483646 !important","pointer-events: auto !important","top: auto !important","right: auto !important","bottom: auto !important","left: auto !important","transform: translateY(-50%) !important",e].join("; ")}renderVisibleButtons(){if(!this.zoomInButton||!this.zoomOutButton||!this.compassButton)return;const t=this.state.controls.zoom,e=this.state.controls.compass;this.zoomInButton.style.display=t?"inline-flex":"none",this.zoomOutButton.style.display=t?"inline-flex":"none",this.compassButton.style.display=e?"inline-flex":"none"}attachMapListeners(){this.map&&(this.onRotate=()=>{this.updateCompassNeedle()},this.map.on("rotate",this.onRotate))}updateCompassNeedle(){this.map&&this.compassNeedle&&(this.compassNeedle.style.transform=`rotate(${-this.map.getBearing()-45}deg)`)}}const v=t=>"object"==typeof t&&null!==t&&"container"in t&&"center"in t,f=864e5,y="yarrow-cache-v1-tile",b="yarrow-cache-v1-icon",x="yarrowcache",M="x-yarrow-cached-at",C=new Set(["Tile","Style","Glyphs","SpriteImage","SpriteJSON","Source"]),w=()=>"undefined"!=typeof globalThis&&void 0!==globalThis.caches&&"function"==typeof globalThis.caches.open;let A=!1;const I=e=>{if(/^https?:\/\//i.test(e))return e;const o="string"==typeof t.defaults.baseURL?t.defaults.baseURL:"";return o?new URL(e,o).toString():"undefined"!=typeof window?new URL(e,window.location.origin).toString():e},L=(t,e)=>`${x}://resource?u=${encodeURIComponent(t)}&ttl=${e}`,B=t=>c(void 0,void 0,void 0,function*(){return{data:yield t.arrayBuffer(),cacheControl:t.headers.get("cache-control"),expires:t.headers.get("expires"),contentType:t.headers.get("content-type")}}),E=(t,e,o)=>c(void 0,void 0,void 0,function*(){var n;const i=yield fetch(t,{method:null!==(n=null==o?void 0:o.method)&&void 0!==n?n:"GET",headers:null==o?void 0:o.headers,body:null==o?void 0:o.body,credentials:null==o?void 0:o.credentials,signal:e.signal});if(!i.ok)throw new Error(`Request failed: ${i.status} ${i.statusText}`);return B(i)}),N=(t,e,o)=>c(void 0,void 0,void 0,function*(){const n=new Headers;o.contentType&&n.set("content-type",o.contentType),o.cacheControl&&n.set("cache-control",o.cacheControl),o.expires&&n.set("expires",o.expires),n.set(M,Date.now().toString()),yield t.put(e,new Response(o.data.slice(0),{status:200,headers:n}))}),z=(t,e,o,n,i)=>c(void 0,void 0,void 0,function*(){if(!w())return E(t,n,i);const r=yield caches.open(e),a=yield r.match(t);if(a){const e=(t=>{const e=t.headers.get(M);if(!e)return null;const o=Number(e);return Number.isFinite(o)?o:null})(a);if(!(null===e||Date.now()-e>o))return B(a);try{const e=yield E(t,n,i);return yield N(r,t,e),e}catch(t){return B(a)}}const s=yield E(t,n,i);return yield N(r,t,s),s});class D{constructor(t,e,o=10,n=0,i=19,r="light",a={},s=d,l={}){const c=v(t)?t:{container:t,center:e,zoom:o,minZoom:n,maxZoom:i,theme:r,cache:a,brandBadgePosition:s,controls:l};if(!v(t)){if(!e)throw new Error('YarrowMapConfig legacy signature requires "center" as the second argument.');A||(A=!0,console.warn("YarrowMapConfig positional constructor arguments are deprecated and will be removed in a future major version. Use new YarrowMapConfig({ ... }) instead."))}const{container:u,center:h,zoom:p=10,minZoom:g=0,maxZoom:f=19,theme:y="light",cache:b={},brandBadgePosition:x=d,controls:M={}}=c;this.container=u,this.center=h,this.zoom=p,this.minZoom=g,this.maxZoom=f,this.theme=y,this.cache=(t=>{var e;const o="number"==typeof(null==t?void 0:t.lifespanDays)&&Number.isFinite(t.lifespanDays)&&t.lifespanDays>0?t.lifespanDays:30;return{enabled:null!==(e=null==t?void 0:t.enabled)&&void 0!==e&&e,lifespanDays:o}})(b),this.brandBadgePosition=(t=>{switch(t){case"top-left":case"top-right":case"bottom-left":case"bottom-right":return t;default:return d}})(x),this.controls=(t=>{var e,o,n;const i=null==t?void 0:t.position;let r=m.position;return"left"===i||"right"===i?r=i:"top-left"===i||"bottom-left"===i?r="left":"top-right"!==i&&"bottom-right"!==i||(r="right"),{enabled:null!==(e=null==t?void 0:t.enabled)&&void 0!==e?e:m.enabled,position:r,zoom:null!==(o=null==t?void 0:t.zoom)&&void 0!==o?o:m.zoom,compass:null!==(n=null==t?void 0:t.compass)&&void 0!==n?n:m.compass}})(M)}}class S{constructor(t){this.layers=[],this.brandBadgeController=new p,this.yarrowControlsController=new g,this.currentBusMarkers=new Map,this.currentRouteLayers=[],this.MAX_BUSES=100,this.svgCache=new Map,this.busPositions=new Map,this.animateBusMarkers=()=>{const t=Date.now();this.busPositions.forEach((e,o)=>{const n=this.currentBusMarkers.get(o);if(!n)return;const i=t-e.startTime,r=Math.min(i/e.animationDuration,1),a=e.current[0]+(e.target[0]-e.current[0])*r,s=e.current[1]+(e.target[1]-e.current[1])*r;n.setLngLat([s,a]),r>=1&&(e.current=e.target)}),this.animationFrameId=requestAnimationFrame(this.animateBusMarkers)},this.config=t,this.ensureCacheProtocol()}ensureCacheProtocol(){S.isCacheProtocolRegistered||(r(x,(t,e)=>c(this,void 0,void 0,function*(){const o=new URL(t.url),n=o.searchParams.get("u"),i=o.searchParams.get("ttl");if(!n)throw new Error("Missing cache target URL");const r=I(n),a=Number(i),s=Number.isFinite(a)&&a>0?a:2592e6,l=yield z(r,y,s,e,t);return{data:l.data,cacheControl:l.cacheControl,expires:l.expires}})),S.isCacheProtocolRegistered=!0)}get cacheLifespanMs(){return this.config.cache.lifespanDays*f}isCacheEnabled(){return this.config.cache.enabled}transformRequestForCache(t,e){if(!this.isCacheEnabled()||!e||!C.has(e))return{url:t};const o=I(t);return{url:L(o,this.cacheLifespanMs)}}fetchJson(e,o){return c(this,void 0,void 0,function*(){if(!this.isCacheEnabled()){return(yield t.get(e)).data}const n=new AbortController,i=yield z(I(e),o,this.cacheLifespanMs,n),r=(new TextDecoder).decode(i.data);return JSON.parse(r)})}loadImageFromSrc(t,e=!0){return new Promise((o,n)=>{const i=new Image;e&&(i.crossOrigin="anonymous"),i.onload=()=>o(i),i.onerror=()=>n(new Error(`Failed to load icon image: ${t}`)),i.src=t})}loadIconImage(t){return c(this,void 0,void 0,function*(){if(!this.isCacheEnabled())return this.loadImageFromSrc(t);const e=new AbortController,o=yield z(I(t),b,this.cacheLifespanMs,e),n=new Blob([o.data],{type:o.contentType||"image/png"}),i=URL.createObjectURL(n);try{return yield this.loadImageFromSrc(i,!1)}finally{URL.revokeObjectURL(i)}})}getIconsMap(){return c(this,void 0,void 0,function*(){return(yield this.fetchJson("/icons-image",b)).reduce((t,e)=>(t[e.icon_image_name]=e.icon_image_url,t),{})})}addIconsToMap(t){return c(this,void 0,void 0,function*(){this.map&&(yield Promise.all(Object.entries(t).map(t=>c(this,[t],void 0,function*([t,e]){if(this.map&&!this.map.hasImage(t))try{const o=yield this.loadIconImage(e);this.map&&!this.map.hasImage(t)&&this.map.addImage(t,o)}catch(e){console.error(`Error loading icon "${t}":`,e)}}))))})}patchMapRemoveForBadgeCleanup(){if(!this.map)return;const t=this.map,e=t.remove.bind(t);t.remove=()=>(this.brandBadgeController.teardown(!0),this.yarrowControlsController.teardown(!0),e())}clearCache(){return c(this,void 0,void 0,function*(){w()&&(yield Promise.all([caches.delete(y),caches.delete(b)]))})}fixStyle(t){if(t&&(t.glyphs="https://fonts.openmaptiles.org/{fontstack}/{range}.pbf",console.log("✅ YarrowSDK: Glyphs URL forced to:",t.glyphs),t.layers)){let e=0;t.layers.forEach(t=>{const o=t;if("symbol"===o.type){o.layout||(o.layout={});const t=o.layout["text-font"];((null==t?void 0:t[0])||"").toLowerCase().includes("bold")?o.layout["text-font"]=["Open Sans Bold"]:o.layout["text-font"]=["Open Sans Regular"],e++}}),console.log(`✅ YarrowSDK: Aggressively fixed fonts for ${e} symbol layers`)}}init(){return c(this,void 0,void 0,function*(){const t=yield this.getIconsMap(),e="dark"===this.config.theme?"/styles/?dark=true":"/styles/",o=yield this.fetchJson(e,y);(null==o?void 0:o.layers)&&o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}}),this.map=new a({container:this.config.container,style:o,center:this.config.center,zoom:this.config.zoom,minZoom:this.config.minZoom,maxZoom:this.config.maxZoom,maxPitch:85,transformRequest:(t,e)=>this.transformRequestForCache(t,e)}),this.patchMapRemoveForBadgeCleanup(),this.brandBadgeController.mount(this.map.getContainer(),{theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.mount(this.map,{theme:this.config.theme,controls:this.config.controls}),this.map._controls.forEach(t=>{var e;null===(e=this.map)||void 0===e||e.removeControl(t)}),this.map.on("load",()=>c(this,void 0,void 0,function*(){yield this.addIconsToMap(t)}))})}changeStyles(t){return c(this,void 0,void 0,function*(){try{let e="/styles/";"satellite"===t?e="/styles/satellite/":"hybrid"===t&&(e="/styles/hybrid/"),"dark"===this.config.theme&&(e+=e.includes("?")?"&dark=true":"?dark=true");const o=yield this.fetchJson(e,y);if(!o)throw new Error("Failed to fetch style data");return this.fixStyle(o),this.map&&(this.map.setStyle(o),o.layers&&(this.layers=[],o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}})),this.map.once("styledata",()=>c(this,void 0,void 0,function*(){try{const t=yield this.getIconsMap();yield this.addIconsToMap(t)}catch(t){console.error("Error re-adding icons after style change:",t)}}))),o}catch(t){throw console.error("Error changing styles:",t),t}})}changeTheme(t){return c(this,void 0,void 0,function*(){try{this.config.theme=t,this.brandBadgeController.update({theme:this.config.theme,position:this.config.brandBadgePosition}),this.yarrowControlsController.update({theme:this.config.theme,controls:this.config.controls});const e="dark"===t?"/styles/?dark=true":"/styles/",o=yield this.fetchJson(e,y);if(!o)throw new Error("Failed to fetch style data");return this.fixStyle(o),this.map&&(this.map.setStyle(o),o.layers&&(this.layers=[],o.layers.forEach(t=>{const e=t;if(e.source&&e["source-layer"]){const t=e["source-layer"].replace(/s$/,"");this.layers.push({type:t,name:e.id})}})),this.map.once("styledata",()=>c(this,void 0,void 0,function*(){try{const t=yield this.getIconsMap();yield this.addIconsToMap(t)}catch(t){console.error("Error re-adding icons after theme change:",t)}}))),o}catch(t){throw console.error("Error changing theme:",t),t}})}zoomTo(t,e,o){var n;null===(n=this.map)||void 0===n||n.flyTo({center:[e,t],zoom:o,speed:1})}fitBounds(t){var e;const o=this.getBoundingBox(t),n=.003;Math.abs(o.xMax-o.xMin)<n&&(o.xMin-=.0015,o.xMax+=.0015),Math.abs(o.yMax-o.yMin)<n&&(o.yMin-=.0015,o.yMax+=.0015),null===(e=this.map)||void 0===e||e.fitBounds([[o.xMin,o.yMin],[o.xMax,o.yMax]],{padding:50,duration:1e3})}getBoundingBox(t){var e,o;const n={xMin:180,yMin:180,xMax:-180,yMax:-180};function i(t){const[e,o]=t;n.xMin=Math.min(n.xMin,e),n.xMax=Math.max(n.xMax,e),n.yMin=Math.min(n.yMin,o),n.yMax=Math.max(n.yMax,o)}const r=t=>Array.isArray(t)&&t.length>=2&&"number"==typeof t[0]&&"number"==typeof t[1];for(const n of t.features){const t=null===(e=n.geometry)||void 0===e?void 0:e.type,a=null===(o=n.geometry)||void 0===o?void 0:o.coordinates;if("Point"===t&&r(a))i(a);else if("LineString"===t&&Array.isArray(a))for(const t of a)r(t)&&i(t);else if("Polygon"===t&&Array.isArray(a))for(const t of a)if(Array.isArray(t))for(const e of t)r(e)&&i(e)}return n}onMoveEnd(t){var e;null===(e=this.map)||void 0===e||e.on("moveend",()=>{var e,o;const n=null===(e=this.map)||void 0===e?void 0:e.getCenter(),i=null===(o=this.map)||void 0===o?void 0:o.getZoom();n&&void 0!==i&&t(n.lat,n.lng,i)})}onMapClick(t){var e;null===(e=this.map)||void 0===e||e.on("click",e=>{t(e.lngLat.lat,e.lngLat.lng)})}onIconClick(t,e){let o=[];switch(t){case"pois":o=this.layers.filter(t=>"node"===t.type).map(t=>t.name);break;case"buildings":o=this.layers.filter(t=>"polygon"===t.type).map(t=>t.name)}o.forEach(t=>{var o,n,i;null===(o=this.map)||void 0===o||o.on("mouseenter",t,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(n=this.map)||void 0===n||n.on("mouseleave",t,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(i=this.map)||void 0===i||i.on("click",t,t=>{var o,n;(null===(n=null===(o=t.features)||void 0===o?void 0:o[0])||void 0===n?void 0:n.properties)&&e(t.lngLat.lat,t.lngLat.lng,t.features[0].properties)})})}onLayerClick(t,e){this.layers.filter(e=>"buildings"===t&&"polygon"===e.type||"pois"===t&&"node"===e.type).map(t=>t.name).forEach(t=>{var o,n,i;null===(o=this.map)||void 0===o||o.on("mouseenter",t,()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")}),null===(n=this.map)||void 0===n||n.on("mouseleave",t,()=>{this.map&&(this.map.getCanvas().style.cursor="")}),null===(i=this.map)||void 0===i||i.on("click",t,t=>{var o,n;(null===(n=null===(o=t.features)||void 0===o?void 0:o[0])||void 0===n?void 0:n.properties)&&e(t.lngLat.lat,t.lngLat.lng,t.features[0].properties)})})}changeBackgroundColor(t){var e;null===(e=this.map)||void 0===e||e.on("styledata",()=>{const e=setInterval(()=>{var o;(null===(o=this.map)||void 0===o?void 0:o.isStyleLoaded())&&(this.map.setPaintProperty("background","background-color",t),clearInterval(e))},1e3)})}addLayer(t,e,o,n={},i={},r={}){var a,s,l,c;(null===(a=this.map)||void 0===a?void 0:a.getLayer(t))&&this.map.removeLayer(t),(null===(s=this.map)||void 0===s?void 0:s.getSource(t))&&this.map.removeSource(t),null===(l=this.map)||void 0===l||l.addSource(t,{type:"geojson",data:o});const d={id:t,type:e,source:t,paint:n,layout:Object.fromEntries(Object.entries(i).filter(([t])=>"icon-image-data"!==t))};if("icon-image"in i&&"icon-image-data"in i){const t=new Image;t.src=String(i["icon-image-data"]),r.width&&(t.width=r.width),r.height&&(t.height=r.height),t.onload=()=>{var e,o;const n=String(i["icon-image"]);(null===(e=this.map)||void 0===e?void 0:e.hasImage(n))||null===(o=this.map)||void 0===o||o.addImage(n,t)}}null===(c=this.map)||void 0===c||c.addLayer(d)}addMarker(t,e={}){if(!this.map)return console.warn("Map not initialized"),null;const o=new s({element:e.element,color:e.color||"#FF0000",draggable:e.draggable||!1,anchor:e.anchor||"bottom"}).setLngLat([t[1],t[0]]).addTo(this.map);return e.onClick&&o.getElement().addEventListener("click",e.onClick),o}removeMarker(t){t?t.remove():console.warn("No marker provided to remove")}removeLayer(t){var e,o;(null===(e=this.map)||void 0===e?void 0:e.getLayer(t))&&this.map.removeLayer(t),(null===(o=this.map)||void 0===o?void 0:o.getSource(t))&&this.map.removeSource(t)}renderRoutes(t,e="route"){const o=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6"];t.forEach((t,n)=>{this.addLayer(`${e}-${n}`,"line",{type:"FeatureCollection",features:[t]},{"line-color":o[n%o.length],"line-width":4,"line-opacity":.8},{"line-join":"round","line-cap":"round"})})}buildRouteWithLabels(e,o,n){return c(this,void 0,void 0,function*(){try{const i=yield t.post("/route/",{coordinates:[e,o],profile:n}),r=i.data.data.path,a=(null==r?void 0:r.features)||[];if(!a.length)return console.warn("⚠️ Нет фич для отображения маршрута"),{features:[],directions:[]};for(let t=0;t<5;t++){this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const e=document.getElementById("hover-popup");e&&e.remove()}const s=a[0].properties.duration,l=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return a.forEach((t,e)=>{var o,n,i;const r=`custom-route-${e}`,c=`custom-route-label-${e}`,d=t.properties.duration,u=t.properties.distance,h=0===e,p=`⏱ ${d.toFixed(1)} мин / ${(u/1e3).toFixed(2)} км${h?"":` (+${Math.round(d-s)} мин)`}`;this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":l[e],"line-width":h?5:2.5,"line-opacity":h?1:.5}),this.addLayer(c,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)]},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(o=this.map)||void 0===o||o.on("mouseenter",r,t=>{var e,o;this.map&&(this.map.getCanvas().style.cursor="pointer");const n=document.createElement("div");n.id="hover-popup",n.className="route-popup",n.innerHTML=`<span style="color:#111">${p}</span>`,n.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const i=null===(e=this.map)||void 0===e?void 0:e.project(t.lngLat);i&&(n.style.left=`${i.x}px`,n.style.top=i.y-40+"px"),null===(o=document.getElementById("mapContainer"))||void 0===o||o.appendChild(n)}),null===(n=this.map)||void 0===n||n.on("mouseleave",r,()=>{var t;this.map&&(this.map.getCanvas().style.cursor=""),null===(t=document.getElementById("hover-popup"))||void 0===t||t.remove()}),null===(i=this.map)||void 0===i||i.on("click",r,()=>{var o,n,i;for(let t=0;t<a.length;t++)t!==e&&(this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`));this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(c,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)]},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const s=t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)],l=null===(o=this.map)||void 0===o?void 0:o.project({lng:s[0],lat:s[1]});if(l){const t=document.getElementById("hover-popup");t&&t.remove();const e=document.createElement("div");e.id="hover-popup",e.className="route-popup",e.innerHTML=`<span style="color:#111">${p}</span>`,e.style.cssText=`\n position: absolute;\n left: ${l.x}px;\n top: ${l.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(n=document.getElementById("mapContainer"))||void 0===n||n.appendChild(e),null===(i=this.map)||void 0===i||i.on("move",()=>{var t;const e=document.getElementById("hover-popup");if(!e)return;const o=null===(t=this.map)||void 0===t?void 0:t.project({lng:s[0],lat:s[1]});o&&(e.style.left=`${o.x}px`,e.style.top=o.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[t]})})}),this.fitBounds({type:"FeatureCollection",features:[a[0]]}),{features:a,directions:i.data.data.directions}}catch(t){return console.error("❌ Ошибка при построении маршрута:",t),{features:[],directions:[]}}})}buildMultiSegmentRouteWithLabels(e,o,n){return c(this,void 0,void 0,function*(){var i;if(e.length<2)throw new Error("At least two coordinates are required to build a route.");try{const r=yield t.post("/route/",{coordinates:e,profile:o},{headers:{"Accept-Language":n||"ru"}}),a=null===(i=r.data.data.path)||void 0===i?void 0:i.features,s=r.data.data.directions;if(!a||a.length<1)throw new Error("No route features returned from API");for(let t=0;t<5;t++){this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const e=document.getElementById("hover-popup");e&&e.remove()}const l=a[0].properties.duration,c=["#22c55e","#aaaaaa","#cccccc","#dddddd","#eeeeee"];return a.forEach((t,e)=>{var o,n,i;const r=`custom-route-${e}`,s=`custom-route-label-${e}`,d=t.properties.duration,u=t.properties.distance,h=0===e,p=`⏱ ${d.toFixed(1)} мин / ${(u/1e3).toFixed(2)} км${h?"":` (+${Math.round(d-l)} мин)`}`;this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":c[e]||"#eeeeee","line-width":h?5:2.5,"line-opacity":h?1:.5});const m=t.geometry.coordinates[Math.floor(t.geometry.coordinates.length/2)];this.addLayer(s,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:m},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]}),null===(o=this.map)||void 0===o||o.on("mouseenter",r,t=>{var e,o;this.map&&(this.map.getCanvas().style.cursor="pointer");const n=document.createElement("div");n.id="hover-popup",n.className="route-popup",n.innerHTML=`<span style="color:#111">${p}</span>`,n.style.cssText="\n position: absolute;\n padding: 6px 12px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n pointer-events: none;\n z-index: 9999;\n ";const i=null===(e=this.map)||void 0===e?void 0:e.project(t.lngLat);i&&(n.style.left=`${i.x}px`,n.style.top=i.y-40+"px"),null===(o=document.getElementById("mapContainer"))||void 0===o||o.appendChild(n)}),null===(n=this.map)||void 0===n||n.on("mouseleave",r,()=>{var t;this.map&&(this.map.getCanvas().style.cursor=""),null===(t=document.getElementById("hover-popup"))||void 0===t||t.remove()}),null===(i=this.map)||void 0===i||i.on("click",r,()=>{var o,n,i,l;for(let t=0;t<a.length;t++)t!==e&&(this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`));this.addLayer(r,"line",{type:"FeatureCollection",features:[t]},{"line-color":"#22c55e","line-width":5,"line-opacity":1}),this.addLayer(s,"symbol",{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"Point",coordinates:m},properties:{label:p}}]},{},{"text-field":["get","label"],"text-size":14,"text-offset":[0,1.2],"text-anchor":"top","text-font":["Open Sans Bold","Arial Unicode MS Bold"]});const c=null===(o=this.map)||void 0===o?void 0:o.project({lng:m[0],lat:m[1]});if(c){null===(n=document.getElementById("hover-popup"))||void 0===n||n.remove();const t=document.createElement("div");t.id="hover-popup",t.className="route-popup",t.innerHTML=`<span style="color:#111">${p}</span>`,t.style.cssText=`\n position: absolute;\n left: ${c.x}px;\n top: ${c.y-40}px;\n transform: translate(-50%, -100%);\n padding: 6px 12px;\n background: #ffffff;\n border: 1px solid #ccc;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n box-shadow: 0 2px 6px rgba(0,0,0,0.15);\n z-index: 9999;\n pointer-events: none;\n `,null===(i=document.getElementById("mapContainer"))||void 0===i||i.appendChild(t),null===(l=this.map)||void 0===l||l.on("move",()=>{var t;const e=document.getElementById("hover-popup");if(!e)return;const o=null===(t=this.map)||void 0===t?void 0:t.project({lng:m[0],lat:m[1]});o&&(e.style.left=`${o.x}px`,e.style.top=o.y-40+"px")})}this.fitBounds({type:"FeatureCollection",features:[t]})})}),this.fitBounds({type:"FeatureCollection",features:[a[0]]}),{features:a,directions:s}}catch(t){throw console.error("❌ Error while building multi-segment route:",t),t}})}clearAllRoutes(){for(let t=0;t<5;t++)this.removeLayer(`custom-route-${t}`),this.removeLayer(`custom-route-label-${t}`);const t=document.getElementById("hover-popup");t&&t.remove(),console.log("✅ All routes cleared")}highlightSearchResults(e,o={}){let n=0,i=null,r=null,a=!0;const s=`${o.layerName||"search-results"}-icons`,l=o.layerName||"search-results",d=t=>{var e,n;if((null===(e=t.features)||void 0===e?void 0:e.length)&&t.features[0].properties){const e=t.features[0];null===(n=o.onIconClick)||void 0===n||n.call(o,t.lngLat.lat,t.lngLat.lng,e.properties)}},u=()=>{this.map&&(this.map.getCanvas().style.cursor="pointer")},h=()=>{this.map&&(this.map.getCanvas().style.cursor="")},p=()=>{this.map&&i&&(r&&clearTimeout(r),r=setTimeout(()=>{var t;if(!this.map||!i)return;const e=this.map.getCenter(),n=e.lat,r=e.lng,a=g(i[0],i[1],n,r);a>=500&&(console.log(`Map moved ${a.toFixed(2)}m, refetching...`),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,"rerender"),v())},250))},m=(o,n)=>c(this,void 0,void 0,function*(){var i,r,a;try{return(null===(a=null===(r=null===(i=(yield t.get("https://gis.yarrow.uz/search/",{params:{q:e,lat:o,lon:n},headers:{"Content-Type":"application/json"}})).data)||void 0===i?void 0:i.data)||void 0===r?void 0:r.nodes)||void 0===a?void 0:a.results)||[]}catch(t){return console.error("Error fetching search results:",t),[]}}),g=(t,e,o,n)=>{const i=t=>t*Math.PI/180,r=i(t),a=i(o),s=i(o-t),l=i(n-e),c=Math.pow(Math.sin(s/2),2)+Math.cos(r)*Math.cos(a)*Math.pow(Math.sin(l/2),2);return 6371e3*(2*Math.atan2(Math.sqrt(c),Math.sqrt(1-c)))},v=()=>c(this,void 0,void 0,function*(){var t,e;if(!this.map)return;const n=this.map.getCenter(),r=n.lat,c=n.lng,p=yield m(r,c);null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1),null===(e=o.onResultsUpdate)||void 0===e||e.call(o,p),i=[r,c];const g=Object.assign({layerName:l,iconImage:"geo-icon",pulseAnimation:!1,zoomToResults:!0,onIconClick:void 0},o);this.removeLayer(l),this.removeLayer(s);const v=p.filter(t=>"number"==typeof t.latitude&&"number"==typeof t.longitude).map(t=>({type:"Feature",geometry:{type:"Point",coordinates:[t.longitude,t.latitude]},properties:Object.assign(Object.assign({},t),{id:t.id||Math.random().toString(36).substring(2)})}));if(0===v.length)return void console.warn("No valid search results to display");const f={type:"FeatureCollection",features:v};setTimeout(()=>{if(this.map)try{if(g.iconImage&&(this.addLayer(s,"symbol",f,{"text-halo-color":"#ffffff","text-halo-width":2},{"icon-image":["get","icon_img"],"icon-size":.7,"icon-allow-overlap":!0,"text-field":["get","name"],"text-offset":[0,1.5],"text-anchor":"top","text-size":12}),this.map.on("click",s,d),this.map.on("mouseenter",s,u),this.map.on("mouseleave",s,h)),a&&g.zoomToResults&&v.length>0)try{this.fitBounds(f)}catch(t){console.warn("Failed to zoom to search results",t)}a=!1}catch(t){console.error("Error rendering search results:",t)}},0)}),f=()=>{var t,e;this.map?(null===(e=o.onLoadingStateChange)||void 0===e||e.call(o,"firstRender"),v(),this.map.on("moveend",p)):n<30?(console.warn("Map not available. Retrying in 1s..."),n++,setTimeout(f,1e3)):(console.error("Map instance never became available. Aborting highlight."),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1))};return f(),()=>{var t;this.map&&(this.map.getLayer(s)&&(this.map.off("click",s,d),this.map.off("mouseenter",s,u),this.map.off("mouseleave",s,h),this.removeLayer(s)),this.map.getLayer(l)&&this.removeLayer(l),this.map.off("moveend",p),r&&(clearTimeout(r),r=null),null===(t=o.onLoadingStateChange)||void 0===t||t.call(o,!1))}}startBusAnimation(){this.animationFrameId||(this.animationFrameId=requestAnimationFrame(this.animateBusMarkers))}stopBusAnimation(){this.animationFrameId&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=void 0)}showBusRoute(e){return c(this,void 0,void 0,function*(){var o;this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.stopBusAnimation(),this.currentBusMarkers.forEach(t=>{this.removeMarker(t)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[];const n=t=>{if(this.svgCache.has(t)){const e=this.svgCache.get(t);if(e)return e}const e=`<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">\n<rect x="27.501" y="28.4995" width="33" height="16" rx="1.5" fill="#089201" stroke="white"/>\n<text x="44" y="38.5" text-anchor="middle" fill="white" font-family="Arial, sans-serif" font-size="10" font-weight="bold">${t}</text>\n<path d="M23.5925 40.6362C20.913 42.7323 18.145 44.0821 15.5701 44.2746C13.0311 44.4643 10.6244 43.5346 8.5956 40.9411C4.51223 35.721 5.43367 28.1791 10.6537 24.0957C15.8737 20.0124 23.4156 20.9338 27.499 26.1538C29.5278 28.7474 29.8508 31.3071 29.0553 33.7257C28.2486 36.1786 26.272 38.5402 23.5925 40.6362Z" fill="#089201" stroke="white"/>\n<path d="M29.9819 48.4373C29.9924 48.7577 29.7057 48.9994 29.3999 48.9471L29.3391 48.9327L13.7566 44.2539C13.3682 44.1373 13.2725 43.6308 13.5919 43.809L28.6356 31.613C28.9376 31.3771 29.3712 31.556 29.4355 31.9159L29.443 31.9906L29.9832 48.4375L29.9819 48.4373Z" fill="#089201" stroke="white"/>\n<path d="M29.3082 48.2263L12.5495 43.5612L29.0899 30.6224L29.3082 48.2263Z" fill="#089201"/>\n<path fill-rule="evenodd" clip-rule="evenodd" d="M19.001 26.5002C16.1725 26.5002 14.7583 26.5002 13.8797 27.3789C13.0823 28.1762 13.0085 29.4145 13.0017 31.7502L12.251 31.7502C11.8368 31.7502 11.501 32.086 11.501 32.5002L11.501 33.2502C11.501 33.4863 11.6121 33.7086 11.801 33.8502L13.001 34.7502C13.0078 37.086 13.0823 38.3242 13.8797 39.1216C14.0613 39.3032 14.2658 39.4473 14.501 39.5616L14.501 40.7502C14.501 41.1644 14.8368 41.5002 15.251 41.5002L16.376 41.5002C16.7902 41.5002 17.126 41.1644 17.126 40.7502L17.126 39.9864C17.6713 40.0002 18.2917 40.0002 19.001 40.0002C19.7103 40.0002 20.3307 40.0002 20.876 39.9864L20.876 40.7502C20.876 41.1644 21.2118 41.5002 21.626 41.5002L22.751 41.5002C23.1652 41.5002 23.501 41.1644 23.501 40.7502L23.501 39.5616C23.7361 39.4473 23.9407 39.3032 24.1223 39.1216C24.9196 38.3242 24.9941 37.086 25.001 34.7502L26.201 33.8502C26.3898 33.7086 26.501 33.4863 26.501 33.2502L26.501 32.5002C26.501 32.086 26.1652 31.7502 25.751 31.7502L25.0003 31.7502C24.9934 29.4145 24.9196 28.1762 24.1223 27.3789C23.2436 26.5002 21.8294 26.5002 19.001 26.5002ZM14.126 32.1252C14.126 33.1859 14.126 33.7162 14.4555 34.0457C14.785 34.3752 15.3153 34.3752 16.376 34.3752L19.001 34.3752L21.626 34.3752C22.6866 34.3752 23.217 34.3752 23.5465 34.0457C23.876 33.7162 23.876 33.1859 23.876 32.1252L23.876 30.2502C23.876 29.1896 23.876 28.6593 23.5465 28.3297C23.217 28.0002 22.6866 28.0002 21.626 28.0002L19.001 28.0002L16.376 28.0002C15.3153 28.0002 14.785 28.0002 14.4555 28.3297C14.126 28.6593 14.126 29.1896 14.126 30.2502L14.126 32.1252ZM14.6885 37.0002C14.6885 36.6896 14.9403 36.4377 15.251 36.4377L16.376 36.4377C16.6866 36.4377 16.9385 36.6896 16.9385 37.0002C16.9385 37.3109 16.6866 37.5627 16.376 37.5627L15.251 37.5627C14.9403 37.5627 14.6885 37.3109 14.6885 37.0002ZM23.3135 37.0002C23.3135 36.6896 23.0616 36.4377 22.751 36.4377L21.626 36.4377C21.3153 36.4377 21.0635 36.6896 21.0635 37.0002C21.0635 37.3109 21.3153 37.5627 21.626 37.5627L22.751 37.5627C23.0616 37.5627 23.3135 37.3109 23.3135 37.0002Z" fill="white"/>\n</svg>`;return this.svgCache.set(t,e),e},i=(t,e)=>{if(!this.map)return!1;return this.map.getBounds().contains([e,t])},r=(t,e)=>{if(t.length<=e)return t;return[...t].sort(()=>.5-Math.random()).slice(0,e)};let a=!0;let s=!1,l=0;const d=()=>c(this,void 0,void 0,function*(){var o,c,d;const u=Date.now(),h=u-l;if(h<1e4&&l>0)console.warn(`⚠️ Skipping fetch - only ${(h/1e3).toFixed(1)}s since last fetch (min: 10s)`);else if(s)console.warn("⚠️ Skipping fetch - already in progress");else{s=!0,l=u;try{const s=e?`https://gis.yarrow.uz/api/get-route/?route_id=${e}`:"https://gis.yarrow.uz/api/get-all-bus/",l=yield t.get(s);if(!l.data.success)throw new Error("Failed to fetch bus locations");const u=e?l.data.data.busses:l.data.data;if(!u)throw new Error("No bus data found in response");let h=[],p={xMin:180,yMin:180,xMax:-180,yMax:-180};if(e)h=u.filter(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);return!Number.isNaN(e)&&!Number.isNaN(o)}),a&&h.length>0&&h.forEach(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);p.xMin=Math.min(p.xMin,o),p.xMax=Math.max(p.xMax,o),p.yMin=Math.min(p.yMin,e),p.yMax=Math.max(p.yMax,e)});else if(a){const t=null===(o=this.map)||void 0===o?void 0:o.getCenter();if(!t)throw new Error("Unable to get map center");const e=t.lat,n=t.lng;p=((t,e,o)=>{const n=o/6371*(180/Math.PI),i=o/6371*(180/Math.PI)/Math.cos(t*Math.PI/180);return{xMin:e-i,xMax:e+i,yMin:t-n,yMax:t+n}})(e,n,5),null===(c=this.map)||void 0===c||c.fitBounds([[p.xMin,p.yMin],[p.xMax,p.yMax]],{padding:50,duration:1e3});const i=u.filter(t=>{const o=Number.parseFloat(t.lat),i=Number.parseFloat(t.lon);return!Number.isNaN(o)&&!Number.isNaN(i)&&((t,e,o,n,i)=>{const r=(t-o)*Math.PI/180,a=(e-n)*Math.PI/180,s=Math.sin(r/2)*Math.sin(r/2)+Math.cos(o*Math.PI/180)*Math.cos(t*Math.PI/180)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(s),Math.sqrt(1-s))*6371<=i})(o,i,e,n,5)});h=r(i,this.MAX_BUSES)}else h=u.filter(t=>{const e=Number.parseFloat(t.lat),o=Number.parseFloat(t.lon);return!Number.isNaN(e)&&!Number.isNaN(o)&&i(e,o)}),h.length>this.MAX_BUSES&&(h=r(h,this.MAX_BUSES));const m=new Set;if(a&&h.length>0&&console.log("🔍 Sample bus data:",h[0]),h.forEach(t=>{var e,o,i,r,a,s;const l=Number.parseFloat(t.lat),c=Number.parseFloat(t.lon),d=t.bus_number||"?",u=(null===(e=t.id)||void 0===e?void 0:e.toString())||(null===(o=t.bus_id)||void 0===o?void 0:o.toString())||(null===(i=t.vehicle_id)||void 0===i?void 0:i.toString())||(null===(r=t.uuid)||void 0===r?void 0:r.toString())||(null===(a=t.device_id)||void 0===a?void 0:a.toString())||(null===(s=t.bus_gos_number)||void 0===s?void 0:s.toString())||`bus-${d}-${l.toFixed(4)}-${c.toFixed(4)}`;m.add(u);const h=this.currentBusMarkers.get(u),p=this.busPositions.get(u);if(h&&p){const t=p.target[0],e=p.target[1];if(Math.abs(t-l)>1e-5||Math.abs(e-c)>1e-5){const t=h.getLngLat(),e=t.lat,o=t.lng;console.log(`🚌 Animating bus ${d} (${u}) from [${e.toFixed(5)}, ${o.toFixed(5)}] to [${l.toFixed(5)}, ${c.toFixed(5)}]`),p.current=[e,o],p.target=[l,c],p.startTime=Date.now(),p.animationDuration=16e3}}else{console.log(`🚌 Creating new bus marker ${d} (${u}) at [${l.toFixed(5)}, ${c.toFixed(5)}]`);const t=document.createElement("div");t.innerHTML=n(d),t.style.width="70px",t.style.height="70px";const e=this.addMarker([l,c],{element:t,anchor:"center",onClick:()=>{console.log(`Bus ${d} clicked at [${l}, ${c}]`)}});e&&(this.currentBusMarkers.set(u,e),this.busPositions.set(u,{current:[l,c],target:[l,c],startTime:Date.now(),animationDuration:16e3}))}}),this.currentBusMarkers.forEach((t,e)=>{m.has(e)||(this.removeMarker(t),this.currentBusMarkers.delete(e),this.busPositions.delete(e))}),this.currentBusMarkers.size>0&&(console.log(`🎬 Starting bus animation for ${this.currentBusMarkers.size} buses`),this.startBusAnimation()),e&&l.data.data.routes&&l.data.data.routes.length>0){const t=`bus-route-${e}`;this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[],this.renderRoutes(l.data.data.routes,t),l.data.data.routes.forEach((e,o)=>{this.currentRouteLayers.push(`${t}-${o}`)})}if(a&&e&&h.length>0){const t=.003;Math.abs(p.xMax-p.xMin)<t&&(p.xMin-=t/2,p.xMax+=t/2),Math.abs(p.yMax-p.yMin)<t&&(p.yMin-=t/2,p.yMax+=t/2),null===(d=this.map)||void 0===d||d.fitBounds([[p.xMin,p.yMin],[p.xMax,p.yMax]],{padding:50,duration:1e3})}a=!1,console.log(`Rendered ${h.length} buses out of ${u.length} total buses`)}catch(t){console.error("Error updating bus locations:",t)}finally{s=!1}}}),u=()=>{e||a||(clearTimeout(this.mapMoveTimeout),this.mapMoveTimeout=setTimeout(()=>{d()},500))};return null===(o=this.map)||void 0===o||o.on("moveend",u),yield d(),this.currentBusRouteInterval=setInterval(d,16e3),()=>{var t;this.stopBusAnimation(),this.currentBusRouteInterval&&clearInterval(this.currentBusRouteInterval),this.currentBusRouteInterval=void 0,null===(t=this.map)||void 0===t||t.off("moveend",u),this.mapMoveTimeout&&clearTimeout(this.mapMoveTimeout),this.currentBusMarkers.forEach(t=>{this.removeMarker(t)}),this.currentBusMarkers.clear(),this.busPositions.clear(),this.currentRouteLayers.forEach(t=>{this.removeLayer(t)}),this.currentRouteLayers=[],this.svgCache.clear()}})}}S.isCacheProtocolRegistered=!1;const T=({config:t,configKey:r,onReady:a})=>{const s=e(null),l=e(null),d=e(new WeakSet),[u,h]=o(null),[p,m]=o(!1),[g,v]=o(null),f=n(()=>null!=r?r:(t=>{var e,o,n,i,r,a,s,l,c,d,u,h,p,m,g,v,f;const[y,b]=t.center,x=null!==(o=null===(e=t.cache)||void 0===e?void 0:e.enabled)&&void 0!==o&&o,M=null!==(i=null===(n=t.cache)||void 0===n?void 0:n.lifespanDays)&&void 0!==i?i:30;return[y,b,null!==(r=t.zoom)&&void 0!==r?r:10,null!==(a=t.minZoom)&&void 0!==a?a:0,null!==(s=t.maxZoom)&&void 0!==s?s:19,null!==(l=t.theme)&&void 0!==l?l:"light",x,M,null!==(c=t.brandBadgePosition)&&void 0!==c?c:"bottom-left",null!==(u=null===(d=t.controls)||void 0===d?void 0:d.enabled)&&void 0!==u&&u,null!==(p=null===(h=t.controls)||void 0===h?void 0:h.position)&&void 0!==p?p:"right",null===(g=null===(m=t.controls)||void 0===m?void 0:m.zoom)||void 0===g||g,null===(f=null===(v=t.controls)||void 0===v?void 0:v.compass)||void 0===f||f].join(":")})(t),[t,r]);return i(()=>{const e=t=>{if(!(null==t?void 0:t.map))return;const e=t.map;if(!d.current.has(e))try{t.map.remove()}catch(t){}finally{d.current.add(e),t.map=void 0}};if("undefined"==typeof window||"undefined"==typeof document)return;const o=s.current;if(!o)return;let n=!1,i=null;return c(void 0,void 0,void 0,function*(){try{e(l.current),l.current=null,h(null),m(!1),v(null);const r=new D({container:o,center:t.center,zoom:t.zoom,minZoom:t.minZoom,maxZoom:t.maxZoom,theme:t.theme,cache:t.cache,brandBadgePosition:t.brandBadgePosition,controls:t.controls});if(i=new S(r),yield i.init(),n)return void e(i);l.current=i,h(i),m(!0),a&&a(i)}catch(t){const e=t instanceof Error?t:new Error("Failed to initialize Yarrow map");n||(v(e),m(!1))}}),()=>{n=!0;const t=l.current;e(t),l.current=null,i&&i!==t&&e(i),h(null),m(!1)}},[a,f]),{containerRef:s,map:u,isReady:p,error:g}},k=({config:t,configKey:e,onReady:o,className:n,style:i})=>{const{containerRef:r}=T({config:t,configKey:e,onReady:o});return l("div",{ref:r,className:n,style:i})};t.defaults.baseURL="https://gis.yarrow.uz";export{k as YarrowMapView,T as useYarrowMap};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,38 @@
1
+ import type * as React from 'react';
2
+ import { YarrowMap } from '../maps/yarrow';
3
+ type CacheConfig = {
4
+ enabled?: boolean;
5
+ lifespanDays?: number;
6
+ };
7
+ type BrandBadgePosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
8
+ type YarrowControlsPosition = 'left' | 'right';
9
+ type YarrowControlsConfig = {
10
+ enabled?: boolean;
11
+ position?: YarrowControlsPosition;
12
+ zoom?: boolean;
13
+ compass?: boolean;
14
+ };
15
+ export type YarrowMapReactConfig = {
16
+ center: [number, number];
17
+ zoom?: number;
18
+ minZoom?: number;
19
+ maxZoom?: number;
20
+ theme?: 'light' | 'dark';
21
+ cache?: CacheConfig;
22
+ brandBadgePosition?: BrandBadgePosition;
23
+ controls?: YarrowControlsConfig;
24
+ };
25
+ export type UseYarrowMapOptions = {
26
+ config: YarrowMapReactConfig;
27
+ configKey?: string | number;
28
+ onReady?: (map: YarrowMap) => void;
29
+ };
30
+ export type UseYarrowMapResult = {
31
+ containerRef: React.RefObject<HTMLDivElement | null>;
32
+ map: YarrowMap | null;
33
+ isReady: boolean;
34
+ error: Error | null;
35
+ };
36
+ export declare const useYarrowMap: ({ config, configKey, onReady, }: UseYarrowMapOptions) => UseYarrowMapResult;
37
+ export {};
38
+ //# sourceMappingURL=useYarrowMap.d.ts.map
@@ -0,0 +1 @@
1
+ .maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@yarrow-uz/yarrow-map-web-sdk",
3
+ "version": "1.0.40",
4
+ "description": "Yarrow Map Web SDK for embedding interactive maps and routing in web apps.",
5
+ "license": "SEE LICENSE IN LICENSE",
6
+ "main": "dist/main.js",
7
+ "module": "dist/module.js",
8
+ "types": "dist/main.d.ts",
9
+ "files": [
10
+ "dist/**/*.js",
11
+ "dist/**/*.d.ts",
12
+ "dist/**/*.css",
13
+ "README.md",
14
+ "LICENSE"
15
+ ],
16
+ "exports": {
17
+ ".": {
18
+ "types": "./dist/main.d.ts",
19
+ "import": "./dist/module.js",
20
+ "require": "./dist/main.js",
21
+ "default": "./dist/module.js"
22
+ },
23
+ "./react": {
24
+ "types": "./dist/react/index.d.ts",
25
+ "import": "./dist/react/index.js",
26
+ "default": "./dist/react/index.js"
27
+ }
28
+ },
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://git.yarrow.uz/yarrow-sdk/frontend/yarrow-map-web-sdk.git"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "scripts": {
37
+ "build": "rollup -c",
38
+ "lint": "biome lint src && tsc --noEmit",
39
+ "format": "biome format --write src",
40
+ "typecheck": "tsc --noEmit",
41
+ "test": "vitest run",
42
+ "test:watch": "vitest",
43
+ "prepublishOnly": "npm run lint && npm run test && npm run build"
44
+ },
45
+ "peerDependencies": {
46
+ "react": "^18 || ^19"
47
+ },
48
+ "dependencies": {
49
+ "axios": "^1.7.9",
50
+ "maplibre-gl": "^5.5.0",
51
+ "tslib": "^2.8.1"
52
+ },
53
+ "devDependencies": {
54
+ "@biomejs/biome": "^1.9.4",
55
+ "@rollup/plugin-commonjs": "^28.0.6",
56
+ "@rollup/plugin-json": "^6.1.0",
57
+ "@rollup/plugin-node-resolve": "^16.0.1",
58
+ "@rollup/plugin-terser": "^0.4.4",
59
+ "@rollup/plugin-typescript": "^12.1.4",
60
+ "@types/node": "^22.10.9",
61
+ "@types/react": "^19.2.13",
62
+ "react": "^19.2.4",
63
+ "rollup": "^2.79.2",
64
+ "rollup-plugin-polyfill-node": "^0.13.0",
65
+ "rollup-plugin-postcss": "^4.0.2",
66
+ "typescript": "^5.7.3",
67
+ "vitest": "^4.0.18"
68
+ }
69
+ }