@tracktor/map 1.8.13 → 1.8.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,936 +1,814 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(`.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}`)),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- import Fe, { createContext as Ue, useEffect as w, useMemo as P, useRef as de, memo as fe, useState as I } from "react";
3
- import { LicenseInfo as De } from "@mui/x-license";
4
- import Re from "mapbox-gl";
5
- import { Box as z, useTheme as Se, GlobalStyles as Ye, Skeleton as We } from "@tracktor/design-system";
6
- import Je, { Marker as je, Source as he, Layer as be, useMap as Ge, Popup as ze } from "react-map-gl";
7
- import { isArray as pe, isString as ge, isNumber as te } from "@tracktor/react-utils";
8
- const Yt = 2.333, Wt = 46.8677;
9
- var ee = { exports: {} }, J = {};
10
- /**
11
- * @license React
12
- * react-jsx-runtime.production.js
13
- *
14
- * Copyright (c) Meta Platforms, Inc. and affiliates.
15
- *
16
- * This source code is licensed under the MIT license found in the
17
- * LICENSE file in the root directory of this source tree.
18
- */
19
- var xe;
20
- function qe() {
21
- if (xe) return J;
22
- xe = 1;
23
- var e = Symbol.for("react.transitional.element"), t = Symbol.for("react.fragment");
24
- function r(a, o, l) {
25
- var s = null;
26
- if (l !== void 0 && (s = "" + l), o.key !== void 0 && (s = "" + o.key), "key" in o) {
27
- l = {};
28
- for (var u in o)
29
- u !== "key" && (l[u] = o[u]);
30
- } else l = o;
31
- return o = l.ref, {
32
- $$typeof: e,
33
- type: a,
34
- key: s,
35
- ref: o !== void 0 ? o : null,
36
- props: l
37
- };
38
- }
39
- return J.Fragment = t, J.jsx = r, J.jsxs = r, J;
40
- }
41
- var G = {};
42
- /**
43
- * @license React
44
- * react-jsx-runtime.development.js
45
- *
46
- * Copyright (c) Meta Platforms, Inc. and affiliates.
47
- *
48
- * This source code is licensed under the MIT license found in the
49
- * LICENSE file in the root directory of this source tree.
50
- */
51
- var ve;
52
- function Be() {
53
- return ve || (ve = 1, process.env.NODE_ENV !== "production" && (function() {
54
- function e(n) {
55
- if (n == null) return null;
56
- if (typeof n == "function")
57
- return n.$$typeof === V ? null : n.displayName || n.name || null;
58
- if (typeof n == "string") return n;
59
- switch (n) {
60
- case C:
61
- return "Fragment";
62
- case $:
63
- return "Profiler";
64
- case q:
65
- return "StrictMode";
66
- case F:
67
- return "Suspense";
68
- case U:
69
- return "SuspenseList";
70
- case A:
71
- return "Activity";
72
- }
73
- if (typeof n == "object")
74
- switch (typeof n.tag == "number" && console.error(
75
- "Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
76
- ), n.$$typeof) {
77
- case R:
78
- return "Portal";
79
- case se:
80
- return n.displayName || "Context";
81
- case oe:
82
- return (n._context.displayName || "Context") + ".Consumer";
83
- case B:
84
- var i = n.render;
85
- return n = n.displayName, n || (n = i.displayName || i.name || "", n = n !== "" ? "ForwardRef(" + n + ")" : "ForwardRef"), n;
86
- case T:
87
- return i = n.displayName || null, i !== null ? i : e(n.type) || "Memo";
88
- case S:
89
- i = n._payload, n = n._init;
90
- try {
91
- return e(n(i));
92
- } catch {
93
- }
94
- }
95
- return null;
96
- }
97
- function t(n) {
98
- return "" + n;
99
- }
100
- function r(n) {
101
- try {
102
- t(n);
103
- var i = !1;
104
- } catch {
105
- i = !0;
106
- }
107
- if (i) {
108
- i = console;
109
- var m = i.error, h = typeof Symbol == "function" && Symbol.toStringTag && n[Symbol.toStringTag] || n.constructor.name || "Object";
110
- return m.call(
111
- i,
112
- "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
113
- h
114
- ), t(n);
115
- }
116
- }
117
- function a(n) {
118
- if (n === C) return "<>";
119
- if (typeof n == "object" && n !== null && n.$$typeof === S)
120
- return "<...>";
121
- try {
122
- var i = e(n);
123
- return i ? "<" + i + ">" : "<...>";
124
- } catch {
125
- return "<...>";
126
- }
127
- }
128
- function o() {
129
- var n = D.A;
130
- return n === null ? null : n.getOwner();
131
- }
132
- function l() {
133
- return Error("react-stack-top-frame");
134
- }
135
- function s(n) {
136
- if (L.call(n, "key")) {
137
- var i = Object.getOwnPropertyDescriptor(n, "key").get;
138
- if (i && i.isReactWarning) return !1;
139
- }
140
- return n.key !== void 0;
141
- }
142
- function u(n, i) {
143
- function m() {
144
- O || (O = !0, console.error(
145
- "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
146
- i
147
- ));
148
- }
149
- m.isReactWarning = !0, Object.defineProperty(n, "key", {
150
- get: m,
151
- configurable: !0
152
- });
153
- }
154
- function f() {
155
- var n = e(this.type);
156
- return Y[n] || (Y[n] = !0, console.error(
157
- "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
158
- )), n = this.props.ref, n !== void 0 ? n : null;
159
- }
160
- function g(n, i, m, h, N, W) {
161
- var y = m.ref;
162
- return n = {
163
- $$typeof: E,
164
- type: n,
165
- key: i,
166
- props: m,
167
- _owner: h
168
- }, (y !== void 0 ? y : null) !== null ? Object.defineProperty(n, "ref", {
169
- enumerable: !1,
170
- get: f
171
- }) : Object.defineProperty(n, "ref", { enumerable: !1, value: null }), n._store = {}, Object.defineProperty(n._store, "validated", {
172
- configurable: !1,
173
- enumerable: !1,
174
- writable: !0,
175
- value: 0
176
- }), Object.defineProperty(n, "_debugInfo", {
177
- configurable: !1,
178
- enumerable: !1,
179
- writable: !0,
180
- value: null
181
- }), Object.defineProperty(n, "_debugStack", {
182
- configurable: !1,
183
- enumerable: !1,
184
- writable: !0,
185
- value: N
186
- }), Object.defineProperty(n, "_debugTask", {
187
- configurable: !1,
188
- enumerable: !1,
189
- writable: !0,
190
- value: W
191
- }), Object.freeze && (Object.freeze(n.props), Object.freeze(n)), n;
192
- }
193
- function p(n, i, m, h, N, W) {
194
- var y = i.children;
195
- if (y !== void 0)
196
- if (h)
197
- if (X(y)) {
198
- for (h = 0; h < y.length; h++)
199
- v(y[h]);
200
- Object.freeze && Object.freeze(y);
201
- } else
202
- console.error(
203
- "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
204
- );
205
- else v(y);
206
- if (L.call(i, "key")) {
207
- y = e(n);
208
- var j = Object.keys(i).filter(function(_) {
209
- return _ !== "key";
210
- });
211
- h = 0 < j.length ? "{key: someKey, " + j.join(": ..., ") + ": ...}" : "{key: someKey}", Q[y + h] || (j = 0 < j.length ? "{" + j.join(": ..., ") + ": ...}" : "{}", console.error(
212
- `A props object containing a "key" prop is being spread into JSX:
213
- let props = %s;
214
- <%s {...props} />
215
- React keys must be passed directly to JSX without using spread:
216
- let props = %s;
217
- <%s key={someKey} {...props} />`,
218
- h,
219
- y,
220
- j,
221
- y
222
- ), Q[y + h] = !0);
223
- }
224
- if (y = null, m !== void 0 && (r(m), y = "" + m), s(i) && (r(i.key), y = "" + i.key), "key" in i) {
225
- m = {};
226
- for (var c in i)
227
- c !== "key" && (m[c] = i[c]);
228
- } else m = i;
229
- return y && u(
230
- m,
231
- typeof n == "function" ? n.displayName || n.name || "Unknown" : n
232
- ), g(
233
- n,
234
- y,
235
- m,
236
- o(),
237
- N,
238
- W
239
- );
240
- }
241
- function v(n) {
242
- b(n) ? n._store && (n._store.validated = 1) : typeof n == "object" && n !== null && n.$$typeof === S && (n._payload.status === "fulfilled" ? b(n._payload.value) && n._payload.value._store && (n._payload.value._store.validated = 1) : n._store && (n._store.validated = 1));
243
- }
244
- function b(n) {
245
- return typeof n == "object" && n !== null && n.$$typeof === E;
246
- }
247
- var x = Fe, E = Symbol.for("react.transitional.element"), R = Symbol.for("react.portal"), C = Symbol.for("react.fragment"), q = Symbol.for("react.strict_mode"), $ = Symbol.for("react.profiler"), oe = Symbol.for("react.consumer"), se = Symbol.for("react.context"), B = Symbol.for("react.forward_ref"), F = Symbol.for("react.suspense"), U = Symbol.for("react.suspense_list"), T = Symbol.for("react.memo"), S = Symbol.for("react.lazy"), A = Symbol.for("react.activity"), V = Symbol.for("react.client.reference"), D = x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, L = Object.prototype.hasOwnProperty, X = Array.isArray, M = console.createTask ? console.createTask : function() {
248
- return null;
249
- };
250
- x = {
251
- react_stack_bottom_frame: function(n) {
252
- return n();
253
- }
254
- };
255
- var O, Y = {}, Z = x.react_stack_bottom_frame.bind(
256
- x,
257
- l
258
- )(), H = M(a(l)), Q = {};
259
- G.Fragment = C, G.jsx = function(n, i, m) {
260
- var h = 1e4 > D.recentlyCreatedOwnerStacks++;
261
- return p(
262
- n,
263
- i,
264
- m,
265
- !1,
266
- h ? Error("react-stack-top-frame") : Z,
267
- h ? M(a(n)) : H
268
- );
269
- }, G.jsxs = function(n, i, m) {
270
- var h = 1e4 > D.recentlyCreatedOwnerStacks++;
271
- return p(
272
- n,
273
- i,
274
- m,
275
- !0,
276
- h ? Error("react-stack-top-frame") : Z,
277
- h ? M(a(n)) : H
278
- );
279
- };
280
- })()), G;
281
- }
282
- var _e;
283
- function Ve() {
284
- return _e || (_e = 1, process.env.NODE_ENV === "production" ? ee.exports = qe() : ee.exports = Be()), ee.exports;
285
- }
286
- var d = Ve();
287
- const Xe = Ue({
288
- licenceMapbox: "",
289
- licenseMuiX: ""
290
- }), Jt = ({ children: e, licenseMuiX: t, licenceMapbox: r }) => {
291
- w(() => {
292
- t && De.setLicenseKey(t);
293
- }, [t]);
294
- const a = P(
295
- () => ({
296
- licenceMapbox: r,
297
- licenseMuiX: t
298
- }),
299
- [t, r]
300
- );
301
- return r && (Re.accessToken = r), /* @__PURE__ */ d.jsx(Xe.Provider, { value: a, children: e });
302
- }, Ze = (e) => e?.type === "LineString" || e?.type === "MultiLineString", He = (e) => {
303
- let t;
304
- Array.isArray(e[0][0]) ? t = e.reduce((o, l) => l.length > o.length ? l : o) : t = e;
305
- const r = Math.floor(t.length / 2);
306
- return [t[r][0], t[r][1]];
307
- }, Qe = ({ route: e, children: t }) => {
308
- if (!(e && t))
309
- return null;
310
- const r = e.geometry;
311
- if (!Ze(r))
312
- return null;
313
- const a = r.coordinates, [o, l] = He(a);
314
- return /* @__PURE__ */ d.jsx(je, { longitude: o, latitude: l, children: t });
315
- }, Ke = (e) => pe(e) ? { features: e, type: "FeatureCollection" } : e.type === "FeatureCollection" ? e : { features: [e], type: "FeatureCollection" }, re = ({ features: e, lineLabel: t, lineStyle: r }) => {
316
- if (!e)
317
- return null;
318
- const a = Ke(e), o = a.features.filter((s) => s.geometry.type === "Polygon" || s.geometry.type === "MultiPolygon"), l = a.features.filter((s) => s.geometry.type === "LineString" || s.geometry.type === "MultiLineString");
319
- return /* @__PURE__ */ d.jsxs(d.Fragment, { children: [
320
- o.length > 0 && // biome-ignore lint/correctness/useUniqueElementIds: <ID must stay stable for map layer>
321
- /* @__PURE__ */ d.jsx(he, { id: "features-polygon", type: "geojson", data: { features: o, type: "FeatureCollection" }, children: /* @__PURE__ */ d.jsx(
322
- be,
323
- {
324
- id: "polygon-fill",
325
- type: "fill",
326
- paint: {
327
- "fill-color": ["coalesce", ["get", "color"], "#4ADE80"],
328
- "fill-opacity": ["coalesce", ["get", "opacity"], 0.4]
329
- }
330
- }
331
- ) }),
332
- l.length > 0 && /* @__PURE__ */ d.jsxs(d.Fragment, { children: [
333
- /* @__PURE__ */ d.jsx(he, { id: "features-line", type: "geojson", data: { features: l, type: "FeatureCollection" }, children: /* @__PURE__ */ d.jsx(
334
- be,
335
- {
336
- id: "line-stroke",
337
- type: "line",
338
- paint: {
339
- "line-color": r?.color ?? ["coalesce", ["get", "color"], "#3B82F6"],
340
- "line-opacity": r?.opacity ?? ["coalesce", ["get", "opacity"], 0.9],
341
- "line-width": r?.width ?? ["coalesce", ["get", "width"], 3]
342
- }
343
- }
344
- ) }),
345
- t && l.map((s, u) => /* @__PURE__ */ d.jsx(Qe, { route: s, children: t }, `label-${u}`))
346
- ] })
347
- ] });
348
- }, et = ({ width: e, height: t }) => /* @__PURE__ */ d.jsx(
349
- z,
350
- {
351
- sx: {
352
- alignItems: "center",
353
- bgcolor: "grey.100",
354
- display: "flex",
355
- height: t,
356
- justifyContent: "center",
357
- p: 2,
358
- textAlign: "center",
359
- width: e
360
- },
361
- children: /* @__PURE__ */ d.jsxs("span", { children: [
362
- "🚫 ",
363
- /* @__PURE__ */ d.jsx("strong", { children: "Cannot display the map" }),
364
- /* @__PURE__ */ d.jsx("br", {}),
365
- "Try to activate WebGL in your browser settings."
366
- ] })
367
- }
368
- ), tt = "#000000", nt = "#FFFFFF", ue = {
369
- default: "#009ba6",
370
- primary: "#3F83F8",
371
- secondary: "#9C27B0",
372
- success: "#4CAF50",
373
- warning: "#FF9800"
374
- }, rt = (e) => e in ue, ot = ({ color: e, variant: t, type: r, size: a = 28 }) => {
375
- const o = Se(), l = o.palette.mode === "dark" ? tt : nt, s = Math.max(3, Math.round(a * 0.25)), u = (() => {
376
- if (r === "dropOff")
377
- return "#4e85e1";
378
- if (t && rt(t))
379
- return ue[t];
380
- if (!e)
381
- return ue.default;
382
- if (typeof e == "function")
383
- return e(o);
384
- if (ge(e) && e.includes(".")) {
385
- const [f, g] = e.split("."), p = o.palette[f];
386
- if (p && typeof p == "object" && g in p)
387
- return p[g];
388
- }
389
- return e;
390
- })();
391
- return /* @__PURE__ */ d.jsx(
392
- z,
393
- {
394
- component: "div",
395
- style: {
396
- backgroundColor: l,
397
- border: `${s}px solid ${u}`,
398
- borderRadius: "50%",
399
- boxShadow: "0 0 4px rgba(0,0,0,0.3)",
400
- height: a,
401
- width: a
402
- }
403
- }
404
- );
405
- }, st = (e) => ({
406
- ".mapboxgl-popup-close-button": {
407
- color: e.palette.mode === "dark" ? "#fff !important" : "#000 !important",
408
- fontSize: "20px !important"
409
- },
410
- ".mapboxgl-popup-content": {
411
- backgroundColor: "transparent!important",
412
- borderRadius: "0px !important",
413
- boxShadow: "none!important",
414
- padding: "0px 0px!important",
415
- width: "fit-content!important"
416
- },
417
- ".mapboxgl-popup-tip": {
418
- borderTopColor: `${e.palette.mode === "dark" ? "#1e1e1e" : "#ffffff"} !important`
419
- }
420
- }), Te = (e) => {
421
- if (te(e))
422
- return e;
423
- if (ge(e) && e.trim() !== "") {
424
- const t = Number(e);
425
- return Number.isFinite(t) ? t : null;
426
- }
427
- return null;
428
- }, we = (e) => {
429
- const t = Te(e);
430
- return t !== null && t >= -90 && t <= 90;
431
- }, Ce = (e) => {
432
- const t = Te(e);
433
- return t !== null && t >= -180 && t <= 180;
434
- }, Gt = (e) => Array.isArray(e) && e.length === 2 && we(e[0]) && Ce(e[1]), Ae = (e) => {
435
- if (typeof e != "object" || e === null)
436
- return !1;
437
- const t = e;
438
- return (typeof t.id == "string" || typeof t.id == "number" || t.id === void 0) && we(t.lat) && Ce(t.lng);
439
- }, Ee = (e) => ge(e) || te(e) ? String(e) : JSON.stringify(e), at = (e) => {
440
- if (!e)
441
- return [];
442
- const t = pe(e) ? e : e.type === "FeatureCollection" ? e.features : [e], r = [];
443
- for (const a of t) {
444
- const o = a.geometry;
445
- o.type === "Point" && r.push(o.coordinates), o.type === "LineString" && r.push(...o.coordinates), o.type === "Polygon" && r.push(...o.coordinates[0]);
446
- }
447
- return r;
448
- }, lt = ({
449
- markers: e = [],
450
- features: t,
451
- padding: r = 50,
452
- duration: a = 1e3,
453
- disableAnimation: o,
454
- fitBounds: l = !0,
455
- animationKey: s,
456
- openPopup: u
457
- }) => {
458
- const { current: f } = Ge(), g = de(""), p = P(() => e.filter(Ae), [e]), v = P(() => at(t), [t]), b = P(() => {
459
- const x = [...p.map((E) => [E.lng, E.lat]), ...v];
460
- return x.length === 0 ? null : x.reduce((E, [R, C]) => E.extend([R, C]), new Re.LngLatBounds());
461
- }, [p, v]);
462
- return w(() => {
463
- if (u) {
464
- g.current = s !== void 0 ? Ee(s) : "__initial_skip__";
465
- return;
466
- }
467
- if (f && l && b) {
468
- if (s !== void 0) {
469
- const x = Ee(s);
470
- if (g.current === x)
471
- return;
472
- g.current = x;
473
- } else if (g.current === "__initial_skip__")
474
- return;
475
- if (!b.isEmpty()) {
476
- if (p.length === 1 && v.length === 0) {
477
- const x = p[0];
478
- f.flyTo({
479
- center: [x.lng, x.lat],
480
- duration: o ? 0 : a,
481
- zoom: 14
482
- });
483
- return;
484
- }
485
- f.fitBounds([b.getSouthWest().toArray(), b.getNorthEast().toArray()], {
486
- duration: o ? 0 : a,
487
- padding: r
488
- });
489
- }
490
- }
491
- }, [f, b, r, a, o, s, l, p, v, u]), null;
492
- }, Me = (e, t) => {
493
- if (t <= 0)
494
- throw new Error("chunkSize must be greater than 0");
495
- const r = [];
496
- for (let a = 0; a < e.length; a += t)
497
- r.push(e.slice(a, a + t));
498
- return r;
499
- }, ct = (e, t) => [e, ...t.map((r) => r.coords)].map((r) => r.join(",")).join(";"), it = (e, t, r) => {
500
- const a = t.map((s, u) => {
501
- if (u === 0 || s == null)
502
- return null;
503
- const f = e[u - 1];
504
- return f ? { distance: s, id: f.id, point: f.coords } : null;
505
- }).filter((s) => s !== null);
506
- if (a.length === 0)
507
- return { all: [], nearest: null };
508
- const o = a.sort((s, u) => s.distance - u.distance), l = o[0];
509
- return r && l.distance > r ? { all: o, nearest: null } : { all: o, nearest: l };
1
+ (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.mapboxgl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.mapboxgl-canvas{position:absolute;top:0;left:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top{top:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-right{top:50%;right:0;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{top:50%;left:0;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.mapboxgl-ctrl-group button{background-color:initial;box-sizing:border-box;cursor:pointer;border:0;outline:none;width:29px;height:29px;padding:0;display:block;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid buttontext}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert()brightness()}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:2s linear infinite mapboxgl-spin}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{box-sizing:initial;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{box-sizing:border-box;cursor:pointer;background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{margin-left:2px;font-weight:700}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{box-sizing:border-box;color:#333;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.mapboxgl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.mapboxgl-popup-close-button{background-color:initial;cursor:pointer;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:10px 10px 15px;position:relative;box-shadow:0 1px 2px #0000001a}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{opacity:1;will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.mapboxgl-user-location-dot:before{content:"";animation:2s infinite mapboxgl-user-location-dot-pulse;position:absolute}.mapboxgl-user-location-dot:after{box-sizing:border-box;content:"";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px)skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px)skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;opacity:0;pointer-events:none;text-align:center;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;transition:opacity .75s ease-in-out 1s;display:flex;position:absolute;top:0;left:0}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;width:50px;height:50px;font-size:18px;font-weight:700}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{color:#fff;background-color:#4a5568}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}
2
+ /*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();import { LicenseInfo as e } from "@mui/x-license";
3
+ import t from "mapbox-gl";
4
+ import { createContext as n, memo as r, useEffect as i, useMemo as a, useRef as o, useState as s } from "react";
5
+ import { Box as c, GlobalStyles as l, Skeleton as u, useTheme as d } from "@tracktor/design-system";
6
+ import f, { Layer as p, Marker as m, Popup as h, Source as g, useMap as _ } from "react-map-gl";
7
+ import { isArray as v, isNumber as y, isString as b } from "@tracktor/react-utils";
8
+ //#region \0rolldown/runtime.js
9
+ var x = (e, t) => () => (t || e((t = { exports: {} }).exports, t), t.exports), S = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
10
+ if (typeof require < "u") return require.apply(this, arguments);
11
+ throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
12
+ }), C = 2.333, w = 46.8677, T = n({
13
+ licenceMapbox: "",
14
+ licenseMuiX: ""
15
+ }), ee = /* @__PURE__ */ x(((e) => {
16
+ var t = Symbol.for("react.transitional.element"), n = Symbol.for("react.fragment");
17
+ function r(e, n, r) {
18
+ var i = null;
19
+ if (r !== void 0 && (i = "" + r), n.key !== void 0 && (i = "" + n.key), "key" in n) for (var a in r = {}, n) a !== "key" && (r[a] = n[a]);
20
+ else r = n;
21
+ return n = r.ref, {
22
+ $$typeof: t,
23
+ type: e,
24
+ key: i,
25
+ ref: n === void 0 ? null : n,
26
+ props: r
27
+ };
28
+ }
29
+ e.Fragment = n, e.jsx = r, e.jsxs = r;
30
+ })), E = /* @__PURE__ */ x(((e) => {
31
+ process.env.NODE_ENV !== "production" && (function() {
32
+ function t(e) {
33
+ if (e == null) return null;
34
+ if (typeof e == "function") return e.$$typeof === O ? null : e.displayName || e.name || null;
35
+ if (typeof e == "string") return e;
36
+ switch (e) {
37
+ case _: return "Fragment";
38
+ case y: return "Profiler";
39
+ case v: return "StrictMode";
40
+ case w: return "Suspense";
41
+ case T: return "SuspenseList";
42
+ case D: return "Activity";
43
+ }
44
+ if (typeof e == "object") switch (typeof e.tag == "number" && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), e.$$typeof) {
45
+ case g: return "Portal";
46
+ case x: return e.displayName || "Context";
47
+ case b: return (e._context.displayName || "Context") + ".Consumer";
48
+ case C:
49
+ var n = e.render;
50
+ return e = e.displayName, e ||= (e = n.displayName || n.name || "", e === "" ? "ForwardRef" : "ForwardRef(" + e + ")"), e;
51
+ case ee: return n = e.displayName || null, n === null ? t(e.type) || "Memo" : n;
52
+ case E:
53
+ n = e._payload, e = e._init;
54
+ try {
55
+ return t(e(n));
56
+ } catch {}
57
+ }
58
+ return null;
59
+ }
60
+ function n(e) {
61
+ return "" + e;
62
+ }
63
+ function r(e) {
64
+ try {
65
+ n(e);
66
+ var t = !1;
67
+ } catch {
68
+ t = !0;
69
+ }
70
+ if (t) {
71
+ t = console;
72
+ var r = t.error, i = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
73
+ return r.call(t, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", i), n(e);
74
+ }
75
+ }
76
+ function i(e) {
77
+ if (e === _) return "<>";
78
+ if (typeof e == "object" && e && e.$$typeof === E) return "<...>";
79
+ try {
80
+ var n = t(e);
81
+ return n ? "<" + n + ">" : "<...>";
82
+ } catch {
83
+ return "<...>";
84
+ }
85
+ }
86
+ function a() {
87
+ var e = k.A;
88
+ return e === null ? null : e.getOwner();
89
+ }
90
+ function o() {
91
+ return Error("react-stack-top-frame");
92
+ }
93
+ function s(e) {
94
+ if (A.call(e, "key")) {
95
+ var t = Object.getOwnPropertyDescriptor(e, "key").get;
96
+ if (t && t.isReactWarning) return !1;
97
+ }
98
+ return e.key !== void 0;
99
+ }
100
+ function c(e, t) {
101
+ function n() {
102
+ N || (N = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", t));
103
+ }
104
+ n.isReactWarning = !0, Object.defineProperty(e, "key", {
105
+ get: n,
106
+ configurable: !0
107
+ });
108
+ }
109
+ function l() {
110
+ var e = t(this.type);
111
+ return P[e] || (P[e] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")), e = this.props.ref, e === void 0 ? null : e;
112
+ }
113
+ function u(e, t, n, r, i, a) {
114
+ var o = n.ref;
115
+ return e = {
116
+ $$typeof: h,
117
+ type: e,
118
+ key: t,
119
+ props: n,
120
+ _owner: r
121
+ }, (o === void 0 ? null : o) === null ? Object.defineProperty(e, "ref", {
122
+ enumerable: !1,
123
+ value: null
124
+ }) : Object.defineProperty(e, "ref", {
125
+ enumerable: !1,
126
+ get: l
127
+ }), e._store = {}, Object.defineProperty(e._store, "validated", {
128
+ configurable: !1,
129
+ enumerable: !1,
130
+ writable: !0,
131
+ value: 0
132
+ }), Object.defineProperty(e, "_debugInfo", {
133
+ configurable: !1,
134
+ enumerable: !1,
135
+ writable: !0,
136
+ value: null
137
+ }), Object.defineProperty(e, "_debugStack", {
138
+ configurable: !1,
139
+ enumerable: !1,
140
+ writable: !0,
141
+ value: i
142
+ }), Object.defineProperty(e, "_debugTask", {
143
+ configurable: !1,
144
+ enumerable: !1,
145
+ writable: !0,
146
+ value: a
147
+ }), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
148
+ }
149
+ function d(e, n, i, o, l, d) {
150
+ var p = n.children;
151
+ if (p !== void 0) if (o) if (j(p)) {
152
+ for (o = 0; o < p.length; o++) f(p[o]);
153
+ Object.freeze && Object.freeze(p);
154
+ } else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
155
+ else f(p);
156
+ if (A.call(n, "key")) {
157
+ p = t(e);
158
+ var m = Object.keys(n).filter(function(e) {
159
+ return e !== "key";
160
+ });
161
+ o = 0 < m.length ? "{key: someKey, " + m.join(": ..., ") + ": ...}" : "{key: someKey}", L[p + o] || (m = 0 < m.length ? "{" + m.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", o, p, m, p), L[p + o] = !0);
162
+ }
163
+ if (p = null, i !== void 0 && (r(i), p = "" + i), s(n) && (r(n.key), p = "" + n.key), "key" in n) for (var h in i = {}, n) h !== "key" && (i[h] = n[h]);
164
+ else i = n;
165
+ return p && c(i, typeof e == "function" ? e.displayName || e.name || "Unknown" : e), u(e, p, i, a(), l, d);
166
+ }
167
+ function f(e) {
168
+ p(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e && e.$$typeof === E && (e._payload.status === "fulfilled" ? p(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
169
+ }
170
+ function p(e) {
171
+ return typeof e == "object" && !!e && e.$$typeof === h;
172
+ }
173
+ var m = S("react"), h = Symbol.for("react.transitional.element"), g = Symbol.for("react.portal"), _ = Symbol.for("react.fragment"), v = Symbol.for("react.strict_mode"), y = Symbol.for("react.profiler"), b = Symbol.for("react.consumer"), x = Symbol.for("react.context"), C = Symbol.for("react.forward_ref"), w = Symbol.for("react.suspense"), T = Symbol.for("react.suspense_list"), ee = Symbol.for("react.memo"), E = Symbol.for("react.lazy"), D = Symbol.for("react.activity"), O = Symbol.for("react.client.reference"), k = m.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, A = Object.prototype.hasOwnProperty, j = Array.isArray, M = console.createTask ? console.createTask : function() {
174
+ return null;
175
+ };
176
+ m = { react_stack_bottom_frame: function(e) {
177
+ return e();
178
+ } };
179
+ var N, P = {}, F = m.react_stack_bottom_frame.bind(m, o)(), I = M(i(o)), L = {};
180
+ e.Fragment = _, e.jsx = function(e, t, n) {
181
+ var r = 1e4 > k.recentlyCreatedOwnerStacks++;
182
+ return d(e, t, n, !1, r ? Error("react-stack-top-frame") : F, r ? M(i(e)) : I);
183
+ }, e.jsxs = function(e, t, n) {
184
+ var r = 1e4 > k.recentlyCreatedOwnerStacks++;
185
+ return d(e, t, n, !0, r ? Error("react-stack-top-frame") : F, r ? M(i(e)) : I);
186
+ };
187
+ })();
188
+ })), D = (/* @__PURE__ */ x(((e, t) => {
189
+ process.env.NODE_ENV === "production" ? t.exports = ee() : t.exports = E();
190
+ })))(), O = ({ children: n, licenseMuiX: r, licenceMapbox: o }) => {
191
+ i(() => {
192
+ r && e.setLicenseKey(r);
193
+ }, [r]);
194
+ let s = a(() => ({
195
+ licenceMapbox: o,
196
+ licenseMuiX: r
197
+ }), [r, o]);
198
+ return o && (t.accessToken = o), /* @__PURE__ */ (0, D.jsx)(T.Provider, {
199
+ value: s,
200
+ children: n
201
+ });
202
+ }, k = (e) => e?.type === "LineString" || e?.type === "MultiLineString", A = (e) => {
203
+ let t;
204
+ t = Array.isArray(e[0][0]) ? e.reduce((e, t) => t.length > e.length ? t : e) : e;
205
+ let n = Math.floor(t.length / 2);
206
+ return [t[n][0], t[n][1]];
207
+ }, j = ({ route: e, children: t }) => {
208
+ if (!(e && t)) return null;
209
+ let n = e.geometry;
210
+ if (!k(n)) return null;
211
+ let r = n.coordinates, [i, a] = A(r);
212
+ return /* @__PURE__ */ (0, D.jsx)(m, {
213
+ longitude: i,
214
+ latitude: a,
215
+ children: t
216
+ });
217
+ }, M = (e) => v(e) ? {
218
+ features: e,
219
+ type: "FeatureCollection"
220
+ } : e.type === "FeatureCollection" ? e : {
221
+ features: [e],
222
+ type: "FeatureCollection"
223
+ }, N = ({ features: e, lineLabel: t, lineStyle: n }) => {
224
+ if (!e) return null;
225
+ let r = M(e), i = r.features.filter((e) => e.geometry.type === "Polygon" || e.geometry.type === "MultiPolygon"), a = r.features.filter((e) => e.geometry.type === "LineString" || e.geometry.type === "MultiLineString");
226
+ return /* @__PURE__ */ (0, D.jsxs)(D.Fragment, { children: [i.length > 0 && /* @__PURE__ */ (0, D.jsx)(g, {
227
+ id: "features-polygon",
228
+ type: "geojson",
229
+ data: {
230
+ features: i,
231
+ type: "FeatureCollection"
232
+ },
233
+ children: /* @__PURE__ */ (0, D.jsx)(p, {
234
+ id: "polygon-fill",
235
+ type: "fill",
236
+ paint: {
237
+ "fill-color": [
238
+ "coalesce",
239
+ ["get", "color"],
240
+ "#4ADE80"
241
+ ],
242
+ "fill-opacity": [
243
+ "coalesce",
244
+ ["get", "opacity"],
245
+ .4
246
+ ]
247
+ }
248
+ })
249
+ }), a.length > 0 && /* @__PURE__ */ (0, D.jsxs)(D.Fragment, { children: [/* @__PURE__ */ (0, D.jsx)(g, {
250
+ id: "features-line",
251
+ type: "geojson",
252
+ data: {
253
+ features: a,
254
+ type: "FeatureCollection"
255
+ },
256
+ children: /* @__PURE__ */ (0, D.jsx)(p, {
257
+ id: "line-stroke",
258
+ type: "line",
259
+ paint: {
260
+ "line-color": n?.color ?? [
261
+ "coalesce",
262
+ ["get", "color"],
263
+ "#3B82F6"
264
+ ],
265
+ "line-opacity": n?.opacity ?? [
266
+ "coalesce",
267
+ ["get", "opacity"],
268
+ .9
269
+ ],
270
+ "line-width": n?.width ?? [
271
+ "coalesce",
272
+ ["get", "width"],
273
+ 3
274
+ ]
275
+ }
276
+ })
277
+ }), t && a.map((e, n) => /* @__PURE__ */ (0, D.jsx)(j, {
278
+ route: e,
279
+ children: t
280
+ }, `label-${n}`))] })] });
281
+ }, P = ({ width: e, height: t }) => /* @__PURE__ */ (0, D.jsx)(c, {
282
+ sx: {
283
+ alignItems: "center",
284
+ bgcolor: "grey.100",
285
+ display: "flex",
286
+ height: t,
287
+ justifyContent: "center",
288
+ p: 2,
289
+ textAlign: "center",
290
+ width: e
291
+ },
292
+ children: /* @__PURE__ */ (0, D.jsxs)("span", { children: [
293
+ "🚫 ",
294
+ /* @__PURE__ */ (0, D.jsx)("strong", { children: "Cannot display the map" }),
295
+ /* @__PURE__ */ (0, D.jsx)("br", {}),
296
+ "Try to activate WebGL in your browser settings."
297
+ ] })
298
+ }), F = "#000000", I = "#FFFFFF", L = {
299
+ default: "#009ba6",
300
+ primary: "#3F83F8",
301
+ secondary: "#9C27B0",
302
+ success: "#4CAF50",
303
+ warning: "#FF9800"
304
+ }, R = (e) => e in L, te = ({ color: e, variant: t, type: n, size: r = 28 }) => {
305
+ let i = d();
306
+ return /* @__PURE__ */ (0, D.jsx)(c, {
307
+ component: "div",
308
+ style: {
309
+ backgroundColor: i.palette.mode === "dark" ? F : I,
310
+ border: `${Math.max(3, Math.round(r * .25))}px solid ${(() => {
311
+ if (n === "dropOff") return "#4e85e1";
312
+ if (t && R(t)) return L[t];
313
+ if (!e) return L.default;
314
+ if (typeof e == "function") return e(i);
315
+ if (b(e) && e.includes(".")) {
316
+ let [t, n] = e.split("."), r = i.palette[t];
317
+ if (r && typeof r == "object" && n in r) return r[n];
318
+ }
319
+ return e;
320
+ })()}`,
321
+ borderRadius: "50%",
322
+ boxShadow: "0 0 4px rgba(0,0,0,0.3)",
323
+ height: r,
324
+ width: r
325
+ }
326
+ });
327
+ }, ne = (e) => ({
328
+ ".mapboxgl-popup-close-button": {
329
+ color: e.palette.mode === "dark" ? "#fff !important" : "#000 !important",
330
+ fontSize: "20px !important"
331
+ },
332
+ ".mapboxgl-popup-content": {
333
+ backgroundColor: "transparent!important",
334
+ borderRadius: "0px !important",
335
+ boxShadow: "none!important",
336
+ padding: "0px 0px!important",
337
+ width: "fit-content!important"
338
+ },
339
+ ".mapboxgl-popup-tip": { borderTopColor: `${e.palette.mode === "dark" ? "#1e1e1e" : "#ffffff"} !important` }
340
+ }), z = (e) => {
341
+ if (y(e)) return e;
342
+ if (b(e) && e.trim() !== "") {
343
+ let t = Number(e);
344
+ return Number.isFinite(t) ? t : null;
345
+ }
346
+ return null;
347
+ }, B = (e) => {
348
+ let t = z(e);
349
+ return t !== null && t >= -90 && t <= 90;
350
+ }, V = (e) => {
351
+ let t = z(e);
352
+ return t !== null && t >= -180 && t <= 180;
353
+ }, H = (e) => Array.isArray(e) && e.length === 2 && B(e[0]) && V(e[1]), re = (e) => {
354
+ if (typeof e != "object" || !e) return !1;
355
+ let t = e;
356
+ return (typeof t.id == "string" || typeof t.id == "number" || t.id === void 0) && B(t.lat) && V(t.lng);
357
+ }, U = (e) => b(e) || y(e) ? String(e) : JSON.stringify(e), W = (e) => {
358
+ if (!e) return [];
359
+ let t = v(e) ? e : e.type === "FeatureCollection" ? e.features : [e], n = [];
360
+ for (let e of t) {
361
+ let t = e.geometry;
362
+ t.type === "Point" && n.push(t.coordinates), t.type === "LineString" && n.push(...t.coordinates), t.type === "Polygon" && n.push(...t.coordinates[0]);
363
+ }
364
+ return n.filter(([e, t]) => Number.isFinite(e) && Number.isFinite(t));
365
+ }, ie = ({ markers: e = [], features: n, padding: r = 50, duration: s = 1e3, disableAnimation: c, fitBounds: l = !0, animationKey: u, openPopup: d }) => {
366
+ let { current: f } = _(), p = o(""), m = a(() => e.filter(re), [e]), h = a(() => W(n), [n]), g = a(() => {
367
+ let e = [...m.map((e) => [Number(e.lng), Number(e.lat)]), ...h].filter(([e, t]) => Number.isFinite(e) && Number.isFinite(t));
368
+ return e.length === 0 ? null : e.reduce((e, [t, n]) => e.extend([t, n]), new t.LngLatBounds());
369
+ }, [m, h]);
370
+ return i(() => {
371
+ if (d) {
372
+ p.current = u === void 0 ? "__initial_skip__" : U(u);
373
+ return;
374
+ }
375
+ if (f && l && g) {
376
+ if (u !== void 0) {
377
+ let e = U(u);
378
+ if (p.current === e) return;
379
+ p.current = e;
380
+ } else if (p.current === "__initial_skip__") return;
381
+ if (!g.isEmpty()) {
382
+ if (m.length === 1 && h.length === 0) {
383
+ let e = m[0], t = Number(e.lng), n = Number(e.lat);
384
+ if (!(Number.isFinite(t) && Number.isFinite(n))) return;
385
+ f.flyTo({
386
+ center: [t, n],
387
+ duration: c ? 0 : s,
388
+ zoom: 14
389
+ });
390
+ return;
391
+ }
392
+ f.fitBounds([g.getSouthWest().toArray(), g.getNorthEast().toArray()], {
393
+ duration: c ? 0 : s,
394
+ padding: r
395
+ });
396
+ }
397
+ }
398
+ }, [
399
+ f,
400
+ g,
401
+ r,
402
+ s,
403
+ c,
404
+ u,
405
+ l,
406
+ m,
407
+ h,
408
+ d
409
+ ]), null;
410
+ }, G = (e, t) => {
411
+ if (t <= 0) throw Error("chunkSize must be greater than 0");
412
+ let n = [];
413
+ for (let r = 0; r < e.length; r += t) n.push(e.slice(r, r + t));
414
+ return n;
415
+ }, K = (e, t) => [e, ...t.map((e) => e.coords)].map((e) => e.join(",")).join(";"), q = (e, t, n) => {
416
+ let r = t.map((t, n) => {
417
+ if (n === 0 || t == null) return null;
418
+ let r = e[n - 1];
419
+ return r ? {
420
+ distance: t,
421
+ id: r.id,
422
+ point: r.coords
423
+ } : null;
424
+ }).filter((e) => e !== null);
425
+ if (r.length === 0) return {
426
+ all: [],
427
+ nearest: null
428
+ };
429
+ let i = r.sort((e, t) => e.distance - t.distance), a = i[0];
430
+ return n && a.distance > n ? {
431
+ all: i,
432
+ nearest: null
433
+ } : {
434
+ all: i,
435
+ nearest: a
436
+ };
510
437
  };
511
- function Oe(e, t, r) {
512
- return async (a, o, l, s) => {
513
- const u = ct(a, o), f = e(u, l), g = await t(f), p = g ? r(g)?.[0] : void 0;
514
- return p?.length ? it(o, p, s) : { all: [], nearest: null };
515
- };
438
+ function J(e, t, n) {
439
+ return async (r, i, a, o) => {
440
+ let s = await t(e(K(r, i), a)), c = s ? n(s)?.[0] : void 0;
441
+ return c?.length ? q(i, c, o) : {
442
+ all: [],
443
+ nearest: null
444
+ };
445
+ };
516
446
  }
517
- const ke = async (e, t, r) => {
518
- const a = Array.from({ length: Math.ceil(e.length / t) }, (l, s) => e.slice(s * t, (s + 1) * t));
519
- return (await Promise.all(a.map(async (l) => Promise.all(l.map(r))))).flat();
520
- }, ut = "https://api.mapbox.com", dt = "pk.eyJ1IjoidHJhY2t0b3JzcmUiLCJhIjoiY2xkMGNxaW5hMGpqZzNvcW9rdXdvZWwzbiJ9.zIXTU-P1dkgpaHq5Tjtqmw", me = (e, t, r, a, o = {}) => {
521
- const l = new URLSearchParams({
522
- access_token: dt,
523
- ...o
524
- });
525
- return `${ut}/${e}/${t}/mapbox/${r}/${a}?${l.toString()}`;
526
- }, ye = async (e) => {
527
- try {
528
- const t = await fetch(e);
529
- return t.ok ? await t.json() : (console.error(`Mapbox API error: ${t.status} ${t.statusText}`), null);
530
- } catch (t) {
531
- return console.error("Mapbox network error:", t), null;
532
- }
533
- }, ft = 25, pt = 5, gt = (e, t) => me("directions-matrix", "v1", t, e, {
534
- annotations: "distance",
535
- sources: "0"
536
- }), mt = (e) => e.distances ?? void 0, yt = Oe(gt, ye, mt), ht = async (e, t, r = "driving", a) => {
537
- if (!t.length)
538
- return [];
539
- const o = Me(t, ft - 1);
540
- return (await ke(
541
- o,
542
- pt,
543
- (s) => yt(e, s, r, a)
544
- )).flatMap((s) => s.all).sort((s, u) => s.distance - u.distance);
545
- }, bt = async (e, t = "driving", r = [5, 10, 15]) => {
546
- const a = `${e[0]},${e[1]}`, o = me("isochrone", "v1", t, a, {
547
- contours_minutes: r.join(","),
548
- polygons: "true"
549
- });
550
- return await ye(o);
551
- }, xt = async (e, t, r = "driving") => {
552
- const a = `${e.join(",")};${t.join(",")}`, o = me("directions", "v5", r, a, {
553
- geometries: "geojson",
554
- overview: "full"
555
- }), l = await ye(o);
556
- if (!l?.routes?.length)
557
- return null;
558
- const s = l.routes[0];
559
- return {
560
- geometry: s.geometry,
561
- properties: {
562
- distance: s.distance,
563
- duration: s.duration
564
- },
565
- type: "Feature"
566
- };
567
- }, ne = {
568
- findNearest: ht,
569
- getIsochrone: bt,
570
- getItinerary: xt
571
- }, vt = ({ origin: e, profile: t = "driving", intervals: r = [5, 10, 15], onIsochroneLoaded: a }) => {
572
- const [o, l] = I(null);
573
- return w(() => {
574
- let s = !1;
575
- if (!e || e.length !== 2) {
576
- l(null);
577
- return;
578
- }
579
- return (async () => {
580
- if (!ne.getIsochrone) {
581
- console.warn("⚠️ getIsochrone is not implemented for this provider.");
582
- return;
583
- }
584
- const u = await ne.getIsochrone(e, t, r);
585
- s || (l(u), a?.(u ?? null));
586
- })(), () => {
587
- s = !0;
588
- };
589
- }, [e, t, r, a]), o ? /* @__PURE__ */ d.jsx(re, { features: o }) : null;
590
- }, _t = fe(vt), Et = {
591
- cycling: "routed-bike",
592
- driving: "routed-car",
593
- walking: "routed-foot"
594
- }, Rt = "https://routing.openstreetmap.de", Pe = (e, t, r, a) => {
595
- const o = `${Rt}/${Et[t]}/${e}/v1/${t}/${r}`, l = a ? `?${new URLSearchParams(a).toString()}` : "";
596
- return `${o}${l}`;
597
- }, Ie = async (e) => {
598
- try {
599
- const t = await fetch(e);
600
- return t.ok ? await t.json() : (console.error("OSRM API error:", t.status, t.statusText), null);
601
- } catch (t) {
602
- return console.error("Error fetching OSRM API:", t), null;
603
- }
604
- }, St = 100, jt = 5, Tt = (e, t) => Pe("table", t, e, {
605
- annotations: "distance",
606
- sources: 0
607
- }), wt = Oe(
608
- Tt,
609
- Ie,
610
- (e) => e.distances ?? void 0
611
- ), Ct = async (e, t, r = "driving", a) => {
612
- if (!t.length)
613
- return [];
614
- const o = Me(t, St - 1);
615
- return (await ke(
616
- o,
617
- jt,
618
- (s) => wt(e, s, r, a)
619
- )).flatMap((s) => s.all).sort((s, u) => s.distance - u.distance);
620
- }, At = async (e, t, r = "driving") => {
621
- const a = `${e.join(",")};${t.join(",")}`, o = Pe("route", r, a, {
622
- geometries: "geojson",
623
- overview: "full"
624
- }), l = await Ie(o);
625
- if (!l?.routes?.length)
626
- return null;
627
- const s = l.routes[0];
628
- return {
629
- geometry: s.geometry,
630
- properties: {
631
- distance: s.distance,
632
- duration: s.duration
633
- },
634
- type: "Feature"
635
- };
636
- }, Le = {
637
- findNearest: Ct,
638
- getItinerary: At
639
- }, Ne = ({ from: e, to: t, profile: r, engine: a, itineraryLineStyle: o, initialRoute: l, onRouteComputed: s, itineraryLabel: u }) => {
640
- const [f, g] = I(l ?? null);
641
- return w(() => {
642
- l && (g(l), s?.(l));
643
- }, [l, s]), w(() => {
644
- !(e && t) || l || (async () => {
645
- const v = await (a === "OSRM" ? Le : ne).getItinerary(e, t, r);
646
- g(v ?? null), s?.(v ?? null);
647
- })();
648
- }, [e, t, r, a, l, s]), f ? /* @__PURE__ */ d.jsx(re, { features: f, lineStyle: o, lineLabel: u }) : null;
649
- }, Mt = ({
650
- origin: e,
651
- maxDistanceMeters: t,
652
- destinations: r,
653
- onNearestFound: a,
654
- initialNearestResults: o,
655
- itineraryLineStyle: l,
656
- profile: s = "driving",
657
- engine: u = "OSRM"
658
- }) => {
659
- const [f, g] = I(o ?? []), p = de(null);
660
- w(() => {
661
- o && g(o);
662
- }, [o]), w(() => {
663
- const b = new AbortController();
664
- if (o?.length) return;
665
- if (!e || e.length !== 2 || !r?.length) {
666
- g([]);
667
- return;
668
- }
669
- g([]);
670
- const x = r.map((R) => ({
671
- coords: [R.lng, R.lat],
672
- id: R.id
673
- }));
674
- return (u === "OSRM" ? Le : ne).findNearest(e, x, s, t).then((R) => g(R ?? [])).catch(() => g([])), () => b.abort();
675
- }, [e, t, r, s, u, o?.length]), w(() => {
676
- const b = p.current;
677
- (!b || b.length !== f.length || b.some((E, R) => E.id !== f[R]?.id || E.distance !== f[R]?.distance)) && (a?.(f), p.current = f);
678
- }, [f, a]);
679
- const v = f[0];
680
- return v ? v.routeFeature ? /* @__PURE__ */ d.jsx(re, { features: v.routeFeature }) : /* @__PURE__ */ d.jsx(Ne, { from: e, to: v.point, profile: s, engine: u, itineraryLineStyle: l }) : null;
681
- }, Ot = fe(Mt), kt = ({ children: e }) => {
682
- const [t, r] = I(!1);
683
- return w(() => {
684
- queueMicrotask(() => r(!0));
685
- }, []), t ? e : null;
686
- }, ie = {
687
- satellite: "mapbox://styles/mapbox/satellite-streets-v12",
688
- street: {
689
- dark: "mapbox://styles/mapbox/dark-v11",
690
- light: "mapbox://styles/mapbox/streets-v12"
691
- }
692
- }, $e = (e, t) => {
693
- const r = t === "dark";
694
- switch (e) {
695
- case "satellite":
696
- return ie.satellite;
697
- default:
698
- return r ? ie.street.dark : ie.street.light;
699
- }
700
- }, Pt = ({
701
- mapStyle: e,
702
- theme: t,
703
- baseMapView: r,
704
- doubleClickZoom: a,
705
- cooperativeGestures: o
706
- }) => ({
707
- cooperativeGestures: o,
708
- doubleClickZoom: a,
709
- failIfMajorPerformanceCaveat: !1,
710
- style: e ?? $e(r, t)
711
- }), It = ({
712
- containerStyle: e,
713
- square: t,
714
- loading: r,
715
- height: a = 300,
716
- width: o = "100%",
717
- center: l = [2.3522, 48.8566],
718
- zoom: s = 5,
719
- popupMaxWidth: u,
720
- openPopup: f,
721
- openPopupOnHover: g,
722
- markers: p = [],
723
- fitBounds: v = !0,
724
- fitBoundsPadding: b,
725
- fitBoundDuration: x,
726
- fitBoundsAnimationKey: E,
727
- disableAnimation: R,
728
- mapStyle: C,
729
- onMapClick: q,
730
- baseMapView: $,
731
- cooperativeGestures: oe = !0,
732
- doubleClickZoom: se = !0,
733
- projection: B,
734
- theme: F,
735
- features: U,
736
- itineraryParams: T,
737
- findNearestMarker: S,
738
- isochrone: A,
739
- markerAnchor: V,
740
- popupAnchor: D = "top"
741
- }) => {
742
- const L = Se(), X = de(null), [M, O] = I(f ?? null), [Y, Z] = I(!1), [H, Q] = I(!1), n = P(() => {
743
- const [c = 2.3522, _ = 48.8566] = pe(l) ? l : [];
744
- return { latitude: _, longitude: c, zoom: s };
745
- }, [l, s]), i = P(
746
- () => C || $e($, F ?? L.palette.mode),
747
- [$, C, F, L.palette.mode]
748
- ), {
749
- style: m,
750
- cooperativeGestures: h,
751
- doubleClickZoom: N
752
- } = Pt({
753
- baseMapView: $,
754
- cooperativeGestures: oe,
755
- doubleClickZoom: se,
756
- mapStyle: i,
757
- theme: F ?? L.palette.mode
758
- }), W = (c, _) => {
759
- !g && _ && O(c);
760
- }, y = (c, _) => {
761
- g && O(_ ? c : null);
762
- };
763
- w(() => {
764
- O(f ?? null);
765
- }, [f]);
766
- const j = P(() => M ? p?.find((c) => c.id === M) ?? null : null, [M, p]);
767
- return H ? /* @__PURE__ */ d.jsx(et, { width: o, height: a }) : /* @__PURE__ */ d.jsxs(
768
- z,
769
- {
770
- "data-testid": "mapbox-container",
771
- sx: { borderRadius: t ? 0 : 1, height: a, overflow: "hidden", position: "relative", width: o, ...e },
772
- children: [
773
- /* @__PURE__ */ d.jsx(Ye, { styles: st }),
774
- r && /* @__PURE__ */ d.jsx(
775
- We,
776
- {
777
- "data-testid": "skeleton-loader",
778
- width: o,
779
- height: a,
780
- variant: t ? "rectangular" : "rounded",
781
- sx: {
782
- inset: 0,
783
- position: "absolute",
784
- zIndex: 2
785
- }
786
- }
787
- ),
788
- !r && /* @__PURE__ */ d.jsxs(
789
- Je,
790
- {
791
- ref: X,
792
- cooperativeGestures: h,
793
- doubleClickZoom: N,
794
- mapStyle: m,
795
- projection: B || "mercator",
796
- onLoad: () => {
797
- Z(!0), X.current?.resize();
798
- },
799
- onError: () => {
800
- Q(!0);
801
- },
802
- initialViewState: n,
803
- style: { height: "100%", width: "100%" },
804
- mapboxAccessToken: "pk.eyJ1IjoidHJhY2t0b3JzcmUiLCJhIjoiY2xkMGNxaW5hMGpqZzNvcW9rdXdvZWwzbiJ9.zIXTU-P1dkgpaHq5Tjtqmw",
805
- onClick: (c) => {
806
- const _ = p.find((K) => {
807
- const { lng: ae, lat: le } = c.lngLat, ce = Math.abs(Number(K.lng ?? 0) - ae), k = Math.abs(Number(K.lat ?? 0) - le);
808
- return ce < 0.01 && k < 0.01;
809
- });
810
- q?.(c.lngLat.lng, c.lngLat.lat, _ ?? null);
811
- },
812
- children: [
813
- Y && p.filter(Ae).map((c) => {
814
- const _ = typeof c.size == "number" ? c.size : void 0, K = c.IconComponent && !V ? "top-left" : "center", ae = (() => {
815
- if (!c.IconComponent)
816
- return null;
817
- const k = { ...c.iconProps };
818
- return _ && (k.width = _, k.height = _), /* @__PURE__ */ d.jsx(c.IconComponent, { ...k });
819
- })(), le = c.IconComponent ? null : /* @__PURE__ */ d.jsx(ot, { color: c.color, variant: c.variant, size: _, type: c.type }), ce = {
820
- alignItems: "center",
821
- cursor: c.Tooltip ? "pointer" : "default",
822
- display: "inline-flex",
823
- justifyContent: "center",
824
- ...c.IconComponent && !_ ? {} : _ ? { height: _, width: _ } : {}
825
- };
826
- return /* @__PURE__ */ d.jsx(
827
- je,
828
- {
829
- longitude: c.lng,
830
- latitude: c.lat,
831
- anchor: V || K,
832
- onClick: (k) => {
833
- k.originalEvent.stopPropagation(), c.id && W(c.id, !!c.Tooltip), q?.(c.lng, c.lat, c), c.onClick?.(c);
834
- },
835
- children: /* @__PURE__ */ d.jsx(
836
- z,
837
- {
838
- component: "div",
839
- onMouseEnter: () => c.id && y(c.id, !!c.Tooltip),
840
- onMouseLeave: () => y(null),
841
- style: ce,
842
- children: ae || le
843
- }
844
- )
845
- },
846
- c.id
847
- );
848
- }),
849
- Y && j?.Tooltip && /* @__PURE__ */ d.jsx(
850
- ze,
851
- {
852
- longitude: te(j.lng) ? j.lng : 0,
853
- latitude: te(j.lat) ? j.lat : 0,
854
- anchor: D,
855
- onClose: () => O(null),
856
- maxWidth: u,
857
- closeOnClick: !0,
858
- closeOnMove: !1,
859
- children: /* @__PURE__ */ d.jsx(z, { sx: { minHeight: 60, minWidth: 240 }, children: /* @__PURE__ */ d.jsx(kt, { children: j.Tooltip }) })
860
- }
861
- ),
862
- T && /* @__PURE__ */ d.jsx(
863
- Ne,
864
- {
865
- from: T.from,
866
- to: T.to,
867
- profile: T.profile,
868
- engine: T.engine,
869
- itineraryLineStyle: T.itineraryLineStyle,
870
- initialRoute: T.initialRoute,
871
- onRouteComputed: T.onRouteComputed,
872
- itineraryLabel: T.itineraryLabel
873
- }
874
- ),
875
- S && /* @__PURE__ */ d.jsx(
876
- Ot,
877
- {
878
- origin: S.origin,
879
- destinations: S.destinations,
880
- onNearestFound: S.onNearestFound,
881
- maxDistanceMeters: S.maxDistanceMeters,
882
- engine: S.engine,
883
- profile: S.profile,
884
- initialNearestResults: S.initialNearestResults,
885
- itineraryLineStyle: S.itineraryLineStyle
886
- }
887
- ),
888
- A && /* @__PURE__ */ d.jsx(
889
- _t,
890
- {
891
- origin: A.origin,
892
- profile: A.profile,
893
- onIsochroneLoaded: A.onIsochroneLoaded,
894
- intervals: A.intervals
895
- }
896
- ),
897
- U && /* @__PURE__ */ d.jsx(re, { features: U }),
898
- v && /* @__PURE__ */ d.jsx(
899
- lt,
900
- {
901
- markers: p,
902
- features: U,
903
- padding: b,
904
- duration: R ? 0 : x,
905
- animationKey: E,
906
- openPopup: !!f
907
- }
908
- )
909
- ]
910
- }
911
- )
912
- ]
913
- }
914
- );
915
- }, zt = fe(It), qt = ["OSRM", "Mapbox"], Bt = ["driving", "walking", "cycling"], Vt = (e, t) => {
916
- const r = "geometry" in t ? t.geometry : t, [a, o] = e, l = (s) => s.map(
917
- (u) => u.reduce((f, [g, p], v, b) => {
918
- const [x, E] = b[(v - 1 + b.length) % b.length];
919
- return p > o != E > o && a < (x - g) * (o - p) / (E - p) + g ? !f : f;
920
- }, !1)
921
- ).reduce((u, f, g) => g === 0 ? f : u && !f, !1);
922
- return r.type === "Polygon" ? l(r.coordinates) : r.type === "MultiPolygon" ? r.coordinates.some((s) => l(s)) : !1;
923
- };
924
- export {
925
- Wt as DEFAULT_CENTER_LAT,
926
- Yt as DEFAULT_CENTER_LNG,
927
- Jt as MapProvider,
928
- zt as MapView,
929
- qt as engines,
930
- Vt as isPointInGeoJSON,
931
- Gt as isValidLatLngTuple,
932
- we as isValidLatitude,
933
- Ce as isValidLongitude,
934
- Ae as isValidMarker,
935
- Bt as profiles
447
+ //#endregion
448
+ //#region src/services/core/processInBatches.ts
449
+ var Y = async (e, t, n) => {
450
+ let r = Array.from({ length: Math.ceil(e.length / t) }, (n, r) => e.slice(r * t, (r + 1) * t));
451
+ return (await Promise.all(r.map(async (e) => Promise.all(e.map(n))))).flat();
452
+ }, ae = "https://api.mapbox.com", X = (e, t, n, r, i = {}) => `${ae}/${e}/${t}/mapbox/${n}/${r}?${new URLSearchParams({
453
+ access_token: "",
454
+ ...i
455
+ }).toString()}`, Z = async (e) => {
456
+ try {
457
+ let t = await fetch(e);
458
+ return t.ok ? await t.json() : (console.error(`Mapbox API error: ${t.status} ${t.statusText}`), null);
459
+ } catch (e) {
460
+ return console.error("Mapbox network error:", e), null;
461
+ }
462
+ }, oe = 25, se = 5, ce = J((e, t) => X("directions-matrix", "v1", t, e, {
463
+ annotations: "distance",
464
+ sources: "0"
465
+ }), Z, (e) => e.distances ?? void 0), Q = {
466
+ findNearest: async (e, t, n = "driving", r) => t.length ? (await Y(G(t, oe - 1), se, (t) => ce(e, t, n, r))).flatMap((e) => e.all).sort((e, t) => e.distance - t.distance) : [],
467
+ getIsochrone: async (e, t = "driving", n = [
468
+ 5,
469
+ 10,
470
+ 15
471
+ ]) => await Z(X("isochrone", "v1", t, `${e[0]},${e[1]}`, {
472
+ contours_minutes: n.join(","),
473
+ polygons: "true"
474
+ })),
475
+ getItinerary: async (e, t, n = "driving") => {
476
+ let r = await Z(X("directions", "v5", n, `${e.join(",")};${t.join(",")}`, {
477
+ geometries: "geojson",
478
+ overview: "full"
479
+ }));
480
+ if (!r?.routes?.length) return null;
481
+ let i = r.routes[0];
482
+ return {
483
+ geometry: i.geometry,
484
+ properties: {
485
+ distance: i.distance,
486
+ duration: i.duration
487
+ },
488
+ type: "Feature"
489
+ };
490
+ }
491
+ }, le = r(({ origin: e, profile: t = "driving", intervals: n = [
492
+ 5,
493
+ 10,
494
+ 15
495
+ ], onIsochroneLoaded: r }) => {
496
+ let [a, o] = s(null);
497
+ return i(() => {
498
+ let i = !1;
499
+ if (!e || e.length !== 2) {
500
+ o(null);
501
+ return;
502
+ }
503
+ return (async () => {
504
+ if (!Q.getIsochrone) {
505
+ console.warn("⚠️ getIsochrone is not implemented for this provider.");
506
+ return;
507
+ }
508
+ let a = await Q.getIsochrone(e, t, n);
509
+ i || (o(a), r?.(a ?? null));
510
+ })(), () => {
511
+ i = !0;
512
+ };
513
+ }, [
514
+ e,
515
+ t,
516
+ n,
517
+ r
518
+ ]), a ? /* @__PURE__ */ (0, D.jsx)(N, { features: a }) : null;
519
+ }), ue = {
520
+ cycling: "routed-bike",
521
+ driving: "routed-car",
522
+ walking: "routed-foot"
523
+ }, $ = "https://routing.openstreetmap.de", de = (e, t, n, r) => `${`${$}/${ue[t]}/${e}/v1/${t}/${n}`}${r ? `?${new URLSearchParams(r).toString()}` : ""}`, fe = async (e) => {
524
+ try {
525
+ let t = await fetch(e);
526
+ return t.ok ? await t.json() : (console.error("OSRM API error:", t.status, t.statusText), null);
527
+ } catch (e) {
528
+ return console.error("Error fetching OSRM API:", e), null;
529
+ }
530
+ }, pe = 100, me = 5, he = J((e, t) => de("table", t, e, {
531
+ annotations: "distance",
532
+ sources: 0
533
+ }), fe, (e) => e.distances ?? void 0), ge = {
534
+ findNearest: async (e, t, n = "driving", r) => t.length ? (await Y(G(t, pe - 1), me, (t) => he(e, t, n, r))).flatMap((e) => e.all).sort((e, t) => e.distance - t.distance) : [],
535
+ getItinerary: async (e, t, n = "driving") => {
536
+ let r = await fe(de("route", n, `${e.join(",")};${t.join(",")}`, {
537
+ geometries: "geojson",
538
+ overview: "full"
539
+ }));
540
+ if (!r?.routes?.length) return null;
541
+ let i = r.routes[0];
542
+ return {
543
+ geometry: i.geometry,
544
+ properties: {
545
+ distance: i.distance,
546
+ duration: i.duration
547
+ },
548
+ type: "Feature"
549
+ };
550
+ }
551
+ }, _e = ({ from: e, to: t, profile: n, engine: r, itineraryLineStyle: a, initialRoute: o, onRouteComputed: c, itineraryLabel: l }) => {
552
+ let [u, d] = s(o ?? null);
553
+ return i(() => {
554
+ o && (d(o), c?.(o));
555
+ }, [o, c]), i(() => {
556
+ !(e && t) || o || (async () => {
557
+ let i = await (r === "OSRM" ? ge : Q).getItinerary(e, t, n);
558
+ d(i ?? null), c?.(i ?? null);
559
+ })();
560
+ }, [
561
+ e,
562
+ t,
563
+ n,
564
+ r,
565
+ o,
566
+ c
567
+ ]), u ? /* @__PURE__ */ (0, D.jsx)(N, {
568
+ features: u,
569
+ lineStyle: a,
570
+ lineLabel: l
571
+ }) : null;
572
+ }, ve = r(({ origin: e, maxDistanceMeters: t, destinations: n, onNearestFound: r, initialNearestResults: a, itineraryLineStyle: c, profile: l = "driving", engine: u = "OSRM" }) => {
573
+ let [d, f] = s(a ?? []), p = o(null);
574
+ i(() => {
575
+ a && f(a);
576
+ }, [a]), i(() => {
577
+ let r = new AbortController();
578
+ if (a?.length) return;
579
+ if (!e || e.length !== 2 || !n?.length) {
580
+ f([]);
581
+ return;
582
+ }
583
+ f([]);
584
+ let i = n.map((e) => ({
585
+ coords: [e.lng, e.lat],
586
+ id: e.id
587
+ }));
588
+ return (u === "OSRM" ? ge : Q).findNearest(e, i, l, t).then((e) => f(e ?? [])).catch(() => f([])), () => r.abort();
589
+ }, [
590
+ e,
591
+ t,
592
+ n,
593
+ l,
594
+ u,
595
+ a?.length
596
+ ]), i(() => {
597
+ let e = p.current;
598
+ (!e || e.length !== d.length || e.some((e, t) => e.id !== d[t]?.id || e.distance !== d[t]?.distance)) && (r?.(d), p.current = d);
599
+ }, [d, r]);
600
+ let m = d[0];
601
+ return m ? m.routeFeature ? /* @__PURE__ */ (0, D.jsx)(N, { features: m.routeFeature }) : /* @__PURE__ */ (0, D.jsx)(_e, {
602
+ from: e,
603
+ to: m.point,
604
+ profile: l,
605
+ engine: u,
606
+ itineraryLineStyle: c
607
+ }) : null;
608
+ }), ye = ({ children: e }) => {
609
+ let [t, n] = s(!1);
610
+ return i(() => {
611
+ queueMicrotask(() => n(!0));
612
+ }, []), t ? e : null;
613
+ }, be = {
614
+ satellite: "mapbox://styles/mapbox/satellite-streets-v12",
615
+ street: {
616
+ dark: "mapbox://styles/mapbox/dark-v11",
617
+ light: "mapbox://styles/mapbox/streets-v12"
618
+ }
619
+ }, xe = (e, t) => {
620
+ let n = t === "dark";
621
+ switch (e) {
622
+ case "satellite": return be.satellite;
623
+ default: return n ? be.street.dark : be.street.light;
624
+ }
625
+ }, Se = ({ mapStyle: e, theme: t, baseMapView: n, doubleClickZoom: r, cooperativeGestures: i }) => ({
626
+ cooperativeGestures: i,
627
+ doubleClickZoom: r,
628
+ failIfMajorPerformanceCaveat: !1,
629
+ style: e ?? xe(n, t)
630
+ }), Ce = r(({ containerStyle: e, square: t, loading: n, height: r = 300, width: p = "100%", center: g = [2.3522, 48.8566], zoom: _ = 5, popupMaxWidth: b, openPopup: x, openPopupOnHover: S, markers: C = [], fitBounds: w = !0, fitBoundsPadding: T, fitBoundDuration: ee, fitBoundsAnimationKey: E, disableAnimation: O, mapStyle: k, onMapClick: A, baseMapView: j, cooperativeGestures: M = !0, doubleClickZoom: F = !0, projection: I, theme: L, features: R, itineraryParams: z, findNearestMarker: B, isochrone: V, markerAnchor: H, popupAnchor: U = "top" }) => {
631
+ let W = d(), G = o(null), [K, q] = s(x ?? null), [J, Y] = s(!1), [ae, X] = s(!1), Z = a(() => {
632
+ let [e = 2.3522, t = 48.8566] = v(g) ? g : [];
633
+ return {
634
+ latitude: t,
635
+ longitude: e,
636
+ zoom: _
637
+ };
638
+ }, [g, _]), { style: oe, cooperativeGestures: se, doubleClickZoom: ce } = Se({
639
+ baseMapView: j,
640
+ cooperativeGestures: M,
641
+ doubleClickZoom: F,
642
+ mapStyle: a(() => k || xe(j, L ?? W.palette.mode), [
643
+ j,
644
+ k,
645
+ L,
646
+ W.palette.mode
647
+ ]),
648
+ projection: I,
649
+ theme: L ?? W.palette.mode
650
+ }), Q = (e, t) => {
651
+ !S && t && q(e);
652
+ }, ue = (e, t) => {
653
+ S && q(t ? e : null);
654
+ };
655
+ i(() => {
656
+ q(x ?? null);
657
+ }, [x]);
658
+ let $ = a(() => K ? C?.find((e) => e.id === K) ?? null : null, [K, C]);
659
+ return ae ? /* @__PURE__ */ (0, D.jsx)(P, {
660
+ width: p,
661
+ height: r
662
+ }) : /* @__PURE__ */ (0, D.jsxs)(c, {
663
+ "data-testid": "mapbox-container",
664
+ sx: {
665
+ borderRadius: t ? 0 : 1,
666
+ height: r,
667
+ overflow: "hidden",
668
+ position: "relative",
669
+ width: p,
670
+ ...e
671
+ },
672
+ children: [
673
+ /* @__PURE__ */ (0, D.jsx)(l, { styles: ne }),
674
+ n && /* @__PURE__ */ (0, D.jsx)(u, {
675
+ "data-testid": "skeleton-loader",
676
+ width: p,
677
+ height: r,
678
+ variant: t ? "rectangular" : "rounded",
679
+ sx: {
680
+ inset: 0,
681
+ position: "absolute",
682
+ zIndex: 2
683
+ }
684
+ }),
685
+ !n && /* @__PURE__ */ (0, D.jsxs)(f, {
686
+ ref: G,
687
+ cooperativeGestures: se,
688
+ doubleClickZoom: ce,
689
+ mapStyle: oe,
690
+ projection: I || "mercator",
691
+ onLoad: () => {
692
+ Y(!0), G.current?.resize();
693
+ },
694
+ onError: () => {
695
+ X(!0);
696
+ },
697
+ initialViewState: Z,
698
+ style: {
699
+ height: "100%",
700
+ width: "100%"
701
+ },
702
+ mapboxAccessToken: void 0,
703
+ onClick: (e) => {
704
+ let t = C.find((t) => {
705
+ let { lng: n, lat: r } = e.lngLat, i = Math.abs(Number(t.lng ?? 0) - n), a = Math.abs(Number(t.lat ?? 0) - r);
706
+ return i < .01 && a < .01;
707
+ });
708
+ A?.(e.lngLat.lng, e.lngLat.lat, t ?? null);
709
+ },
710
+ children: [
711
+ J && C.filter(re).map((e) => {
712
+ let t = typeof e.size == "number" ? e.size : void 0, n = e.IconComponent && !H ? "top-left" : "center", r = (() => {
713
+ if (!e.IconComponent) return null;
714
+ let n = { ...e.iconProps };
715
+ return t && (n.width = t, n.height = t), /* @__PURE__ */ (0, D.jsx)(e.IconComponent, { ...n });
716
+ })(), i = e.IconComponent ? null : /* @__PURE__ */ (0, D.jsx)(te, {
717
+ color: e.color,
718
+ variant: e.variant,
719
+ size: t,
720
+ type: e.type
721
+ }), a = {
722
+ alignItems: "center",
723
+ cursor: e.Tooltip ? "pointer" : "default",
724
+ display: "inline-flex",
725
+ justifyContent: "center",
726
+ ...e.IconComponent && !t ? {} : t ? {
727
+ height: t,
728
+ width: t
729
+ } : {}
730
+ };
731
+ return /* @__PURE__ */ (0, D.jsx)(m, {
732
+ longitude: e.lng,
733
+ latitude: e.lat,
734
+ anchor: H || n,
735
+ onClick: (t) => {
736
+ t.originalEvent.stopPropagation(), e.id && Q(e.id, !!e.Tooltip), A?.(e.lng, e.lat, e), e.onClick?.(e);
737
+ },
738
+ children: /* @__PURE__ */ (0, D.jsx)(c, {
739
+ component: "div",
740
+ onMouseEnter: () => e.id && ue(e.id, !!e.Tooltip),
741
+ onMouseLeave: () => ue(null),
742
+ style: a,
743
+ children: r || i
744
+ })
745
+ }, e.id);
746
+ }),
747
+ J && $?.Tooltip && /* @__PURE__ */ (0, D.jsx)(h, {
748
+ longitude: y($.lng) ? $.lng : 0,
749
+ latitude: y($.lat) ? $.lat : 0,
750
+ anchor: U,
751
+ onClose: () => q(null),
752
+ maxWidth: b,
753
+ closeOnClick: !0,
754
+ closeOnMove: !1,
755
+ children: /* @__PURE__ */ (0, D.jsx)(c, {
756
+ sx: {
757
+ minHeight: 60,
758
+ minWidth: 240
759
+ },
760
+ children: /* @__PURE__ */ (0, D.jsx)(ye, { children: $.Tooltip })
761
+ })
762
+ }),
763
+ z && /* @__PURE__ */ (0, D.jsx)(_e, {
764
+ from: z.from,
765
+ to: z.to,
766
+ profile: z.profile,
767
+ engine: z.engine,
768
+ itineraryLineStyle: z.itineraryLineStyle,
769
+ initialRoute: z.initialRoute,
770
+ onRouteComputed: z.onRouteComputed,
771
+ itineraryLabel: z.itineraryLabel
772
+ }),
773
+ B && /* @__PURE__ */ (0, D.jsx)(ve, {
774
+ origin: B.origin,
775
+ destinations: B.destinations,
776
+ onNearestFound: B.onNearestFound,
777
+ maxDistanceMeters: B.maxDistanceMeters,
778
+ engine: B.engine,
779
+ profile: B.profile,
780
+ initialNearestResults: B.initialNearestResults,
781
+ itineraryLineStyle: B.itineraryLineStyle
782
+ }),
783
+ V && /* @__PURE__ */ (0, D.jsx)(le, {
784
+ origin: V.origin,
785
+ profile: V.profile,
786
+ onIsochroneLoaded: V.onIsochroneLoaded,
787
+ intervals: V.intervals
788
+ }),
789
+ R && /* @__PURE__ */ (0, D.jsx)(N, { features: R }),
790
+ w && /* @__PURE__ */ (0, D.jsx)(ie, {
791
+ markers: C,
792
+ features: R,
793
+ padding: T,
794
+ duration: O ? 0 : ee,
795
+ animationKey: E,
796
+ openPopup: !!x
797
+ })
798
+ ]
799
+ })
800
+ ]
801
+ });
802
+ }), we = ["OSRM", "Mapbox"], Te = [
803
+ "driving",
804
+ "walking",
805
+ "cycling"
806
+ ], Ee = (e, t) => {
807
+ let n = "geometry" in t ? t.geometry : t, [r, i] = e, a = (e) => e.map((e) => e.reduce((e, [t, n], a, o) => {
808
+ let [s, c] = o[(a - 1 + o.length) % o.length];
809
+ return n > i != c > i && r < (s - t) * (i - n) / (c - n) + t ? !e : e;
810
+ }, !1)).reduce((e, t, n) => n === 0 ? t : e && !t, !1);
811
+ return n.type === "Polygon" ? a(n.coordinates) : n.type === "MultiPolygon" ? n.coordinates.some((e) => a(e)) : !1;
936
812
  };
813
+ //#endregion
814
+ export { w as DEFAULT_CENTER_LAT, C as DEFAULT_CENTER_LNG, O as MapProvider, Ce as MapView, we as engines, Ee as isPointInGeoJSON, H as isValidLatLngTuple, B as isValidLatitude, V as isValidLongitude, re as isValidMarker, Te as profiles };