diff --git a/core/vendor/geolocation/images/appareil-photo.png b/core/vendor/geolocation/images/appareil-photo.png deleted file mode 100644 index 7d06170..0000000 Binary files a/core/vendor/geolocation/images/appareil-photo.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-lime.png b/core/vendor/geolocation/images/elevation-lime.png deleted file mode 100644 index 68fb537..0000000 Binary files a/core/vendor/geolocation/images/elevation-lime.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-lime.svg b/core/vendor/geolocation/images/elevation-lime.svg deleted file mode 100644 index f141cd6..0000000 --- a/core/vendor/geolocation/images/elevation-lime.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/core/vendor/geolocation/images/elevation-locate.png b/core/vendor/geolocation/images/elevation-locate.png deleted file mode 100644 index 9505daa..0000000 Binary files a/core/vendor/geolocation/images/elevation-locate.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-poi.png b/core/vendor/geolocation/images/elevation-poi.png deleted file mode 100644 index d29e63e..0000000 Binary files a/core/vendor/geolocation/images/elevation-poi.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-position.png b/core/vendor/geolocation/images/elevation-position.png deleted file mode 100644 index 509f063..0000000 Binary files a/core/vendor/geolocation/images/elevation-position.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-purple.png b/core/vendor/geolocation/images/elevation-purple.png deleted file mode 100644 index 4e0bcb8..0000000 Binary files a/core/vendor/geolocation/images/elevation-purple.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-purple.svg b/core/vendor/geolocation/images/elevation-purple.svg deleted file mode 100644 index a693f70..0000000 --- a/core/vendor/geolocation/images/elevation-purple.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/core/vendor/geolocation/images/elevation-pushpin.png b/core/vendor/geolocation/images/elevation-pushpin.png deleted file mode 100644 index f4ec493..0000000 Binary files a/core/vendor/geolocation/images/elevation-pushpin.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-steelblue.png b/core/vendor/geolocation/images/elevation-steelblue.png deleted file mode 100644 index 02d1712..0000000 Binary files a/core/vendor/geolocation/images/elevation-steelblue.png and /dev/null differ diff --git a/core/vendor/geolocation/images/elevation-steelblue.svg b/core/vendor/geolocation/images/elevation-steelblue.svg deleted file mode 100644 index 6b186b3..0000000 --- a/core/vendor/geolocation/images/elevation-steelblue.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - diff --git a/core/vendor/geolocation/images/elevation.png b/core/vendor/geolocation/images/elevation.png deleted file mode 100644 index e3d9348..0000000 Binary files a/core/vendor/geolocation/images/elevation.png and /dev/null differ diff --git a/core/vendor/geolocation/images/remove.svg b/core/vendor/geolocation/images/remove.svg deleted file mode 100644 index f063b3d..0000000 --- a/core/vendor/geolocation/images/remove.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/Control.FullScreen.css b/core/vendor/geolocation/leaflet/Control.FullScreen.css deleted file mode 100644 index e07fea5..0000000 --- a/core/vendor/geolocation/leaflet/Control.FullScreen.css +++ /dev/null @@ -1,10 +0,0 @@ -.fullscreen-icon { background-image: url(icon-fullscreen.svg); background-size:26px 52px; } -.fullscreen-icon.leaflet-fullscreen-on { background-position:0 -26px; } -.leaflet-touch .fullscreen-icon { background-position: 2px 2px; } -.leaflet-touch .fullscreen-icon.leaflet-fullscreen-on { background-position: 2px -24px; } -/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */ -.leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; } -.leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; } -.leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; } -.leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; } -.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; } \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/Control.FullScreen.js b/core/vendor/geolocation/leaflet/Control.FullScreen.js deleted file mode 100644 index 29a594c..0000000 --- a/core/vendor/geolocation/leaflet/Control.FullScreen.js +++ /dev/null @@ -1,271 +0,0 @@ -/*!_map -* leaflet.fullscreen -* (c) Bruno B.; MIT License -* Uses fragments from the package 'screenfull' -*/ -(function (root, factory) { - if (typeof define === 'function' && define.amd) { - // define an AMD module that requires 'leaflet' - // and resolve to an object containing leaflet - define('leafletFullScreen', ['leaflet'], factory); - } else if (typeof module === 'object' && module.exports) { - // define a CommonJS module that requires 'leaflet' - module.exports = factory(require('leaflet')); - } else { - // Assume 'leaflet' are loaded into global variable already - factory(root.L); - } -}(typeof self !== 'undefined' ? self : this, function (leaflet) { - 'use strict'; - - if (typeof document === 'undefined') { - console.warn('"window.document" is undefined; leaflet.fullscreen requires this object to access the DOM'); - return false; - } - - const nativeAPI = (() => { - const methodMap = [ - // Standard - [ - 'requestFullscreen', - 'exitFullscreen', - 'fullscreenElement', - 'fullscreenEnabled', - 'fullscreenchange', - 'fullscreenerror' - ], - // New WebKit - [ - 'webkitRequestFullscreen', - 'webkitExitFullscreen', - 'webkitFullscreenElement', - 'webkitFullscreenEnabled', - 'webkitfullscreenchange', - 'webkitfullscreenerror' - ] - ]; - - const baseList = methodMap[0]; - const ret = {}; - - for (const methodList of methodMap) { - if (methodList[1] in document) { - for (let i = 0; i < methodList.length; i++) { - ret[baseList[i]] = methodList[i]; - } - return ret; - } - } - - return false; - })(); - - const eventNameMap = { - change: nativeAPI.fullscreenchange, - error: nativeAPI.fullscreenerror, - }; - - const fullscreenAPI = { - request: function (element, options) { - return new Promise(function (resolve, reject) { - const onFullScreenEntered = function () { - this.off('change', onFullScreenEntered); - resolve(); - }.bind(this); - - this.on('change', onFullScreenEntered); - element = element || document.documentElement; - const returnPromise = element[nativeAPI.requestFullscreen](options); - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenEntered).catch(reject); - } - }.bind(this)); - }, - exit: function () { - return new Promise(function (resolve, reject) { - if (!this.isFullscreen) { - resolve(); - return; - } - - const onFullScreenExit = function () { - this.off('change', onFullScreenExit); - resolve(); - }.bind(this); - - this.on('change', onFullScreenExit); - const returnPromise = document[nativeAPI.exitFullscreen](); - if (returnPromise instanceof Promise) { - returnPromise.then(onFullScreenExit).catch(reject); - } - }.bind(this)); - }, - on: function (event, callback) { - var eventName = eventNameMap[event]; - if (eventName) { - document.addEventListener(eventName, callback, false); - } - }, - off: function (event, callback) { - var eventName = eventNameMap[event]; - if (eventName) { - document.removeEventListener(eventName, callback, false); - } - }, - nativeAPI: nativeAPI -}; - - Object.defineProperties(fullscreenAPI, { - isFullscreen: { - get: function () { - return Boolean(document[nativeAPI.fullscreenElement]); - } - }, - isEnabled: { - enumerable: true, - get: function () { - // Coerce to boolean in case of old WebKit - return Boolean(document[nativeAPI.fullscreenEnabled]); - } - } - }); - - leaflet.Control.FullScreen = leaflet.Control.extend({ - options: { - position: 'topleft', - title: 'Full Screen', - titleCancel: 'Exit Full Screen', - forceSeparateButton: false, - forcePseudoFullscreen: false, - fullscreenElement: false - }, - - _screenfull: fullscreenAPI, - - onAdd: function (map) { - var className = 'leaflet-control-zoom-fullscreen', container, content = ''; - - if (map.zoomControl && !this.options.forceSeparateButton) { - container = map.zoomControl._container; - } else { - container = leaflet.DomUtil.create('div', 'leaflet-bar'); - } - - if (this.options.content) { - content = this.options.content; - } else { - className += ' fullscreen-icon'; - } - - this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this); - this._map.fullscreenControl = this; - - this._map.on('enterFullscreen exitFullscreen', this._toggleState, this); - - return container; - }, - - onRemove: function () { - leaflet.DomEvent - .off(this.link, 'click', leaflet.DomEvent.stop) - .off(this.link, 'click', this.toggleFullScreen, this); - - if (this._screenfull.isEnabled) { - leaflet.DomEvent - .off(this._container, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop) - .off(this._container, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, this); - - leaflet.DomEvent - .off(document, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop) - .off(document, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, this); - } - }, - - _createButton: function (title, className, content, container, fn, context) { - this.link = leaflet.DomUtil.create('a', className, container); - this.link.href = '#'; - this.link.title = title; - this.link.innerHTML = content; - - this.link.setAttribute('role', 'button'); - this.link.setAttribute('aria-label', title); - - L.DomEvent.disableClickPropagation(container); - - leaflet.DomEvent - .on(this.link, 'click', leaflet.DomEvent.stop) - .on(this.link, 'click', fn, context); - - if (this._screenfull.isEnabled) { - leaflet.DomEvent - .on(container, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop) - .on(container, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, context); - - leaflet.DomEvent - .on(document, this._screenfull.nativeAPI.fullscreenchange, leaflet.DomEvent.stop) - .on(document, this._screenfull.nativeAPI.fullscreenchange, this._handleFullscreenChange, context); - } - - return this.link; - }, - - toggleFullScreen: function () { - var map = this._map; - map._exitFired = false; - if (map._isFullscreen) { - if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) { - this._screenfull.exit(); - } else { - leaflet.DomUtil.removeClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen'); - map.invalidateSize(); - } - map.fire('exitFullscreen'); - map._exitFired = true; - map._isFullscreen = false; - } - else { - if (this._screenfull.isEnabled && !this.options.forcePseudoFullscreen) { - this._screenfull.request(this.options.fullscreenElement ? this.options.fullscreenElement : map._container); - } else { - leaflet.DomUtil.addClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen'); - map.invalidateSize(); - } - map.fire('enterFullscreen'); - map._isFullscreen = true; - } - }, - - _toggleState: function () { - this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel; - this._map._isFullscreen ? L.DomUtil.removeClass(this.link, 'leaflet-fullscreen-on') : L.DomUtil.addClass(this.link, 'leaflet-fullscreen-on'); - }, - - _handleFullscreenChange: function () { - var map = this._map; - map.invalidateSize(); - if (!this._screenfull.isFullscreen && !map._exitFired) { - map.fire('exitFullscreen'); - map._exitFired = true; - map._isFullscreen = false; - } - } - }); - - leaflet.Map.include({ - toggleFullscreen: function () { - this.fullscreenControl.toggleFullScreen(); - } - }); - - leaflet.Map.addInitHook(function () { - if (this.options.fullscreenControl) { - this.addControl(leaflet.control.fullscreen(this.options.fullscreenControlOptions)); - } - }); - - leaflet.control.fullscreen = function (options) { - return new leaflet.Control.FullScreen(options); - }; - - return {leaflet: leaflet}; -})); diff --git a/core/vendor/geolocation/leaflet/MarkerCluster.Default.css b/core/vendor/geolocation/leaflet/MarkerCluster.Default.css deleted file mode 100644 index ce1fa85..0000000 --- a/core/vendor/geolocation/leaflet/MarkerCluster.Default.css +++ /dev/null @@ -1,31 +0,0 @@ -/* tour du point de regroupement */ -.marker-cluster-small { - background-color: rgba(181, 226, 140, 0.5); - } -/* zone centrale du point de regroupement */ -.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { - background-color: rgba(0,0,0,0.75); - } -.marker-cluster-medium { - background-color: rgba(241, 211, 87, 0.5); - } -.marker-cluster-large { - background-color: rgba(253, 156, 115, 0.5); - } -.marker-cluster { - background-clip: padding-box; - border-radius: 20px; - } -.marker-cluster div { - width: 30px; - height: 30px; - margin-left: 5px; - margin-top: 5px; - text-align: center; - border-radius: 15px; - font: 14px monospace; - color: white; - } -.marker-cluster span { - line-height: 30px; - } diff --git a/core/vendor/geolocation/leaflet/MarkerCluster.css b/core/vendor/geolocation/leaflet/MarkerCluster.css deleted file mode 100644 index 3b7e6f6..0000000 --- a/core/vendor/geolocation/leaflet/MarkerCluster.css +++ /dev/null @@ -1,7 +0,0 @@ -.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow { - transition: transform 0.3s ease-out, opacity 0.3s ease-in; -} - -.leaflet-cluster-spider-leg { - transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in; -} diff --git a/core/vendor/geolocation/leaflet/icon-fullscreen.svg b/core/vendor/geolocation/leaflet/icon-fullscreen.svg deleted file mode 100644 index 6107d8c..0000000 --- a/core/vendor/geolocation/leaflet/icon-fullscreen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/black-marker-icon.png b/core/vendor/geolocation/leaflet/images/black-marker-icon.png deleted file mode 100644 index 0fbe24b..0000000 Binary files a/core/vendor/geolocation/leaflet/images/black-marker-icon.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/black-marker-shadow.png b/core/vendor/geolocation/leaflet/images/black-marker-shadow.png deleted file mode 100644 index 9fd2979..0000000 Binary files a/core/vendor/geolocation/leaflet/images/black-marker-shadow.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/icones-info.lio b/core/vendor/geolocation/leaflet/images/icones-info.lio deleted file mode 100644 index 6606b28..0000000 --- a/core/vendor/geolocation/leaflet/images/icones-info.lio +++ /dev/null @@ -1,2 +0,0 @@ -le nom doit comporter --marker \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/layers-2x.png b/core/vendor/geolocation/leaflet/images/layers-2x.png deleted file mode 100644 index 200c333..0000000 Binary files a/core/vendor/geolocation/leaflet/images/layers-2x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/layers.png b/core/vendor/geolocation/leaflet/images/layers.png deleted file mode 100644 index 1a72e57..0000000 Binary files a/core/vendor/geolocation/leaflet/images/layers.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.png b/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.png deleted file mode 100644 index 7a55db4..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.svg b/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.svg deleted file mode 100644 index b293270..0000000 --- a/core/vendor/geolocation/leaflet/images/leaflet-minimap/dist/imagestoggle.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png b/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png deleted file mode 100644 index 83206dd..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-1x.png b/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-1x.png deleted file mode 100644 index 0d41163..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-1x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-2x.png b/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-2x.png deleted file mode 100644 index a736232..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-2x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-search/imagesloader.gif b/core/vendor/geolocation/leaflet/images/leaflet-search/imagesloader.gif deleted file mode 100644 index d3ef195..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-search/imagesloader.gif and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet-search/imagessearch-icon.png b/core/vendor/geolocation/leaflet/images/leaflet-search/imagessearch-icon.png deleted file mode 100644 index 231df74..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet-search/imagessearch-icon.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen-2x.png b/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen-2x.png deleted file mode 100644 index efc0dfb..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen-2x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.png b/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.png deleted file mode 100644 index 8ee2447..0000000 Binary files a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.svg b/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.svg deleted file mode 100644 index 6107d8c..0000000 --- a/core/vendor/geolocation/leaflet/images/leaflet.fullscreenicon-fullscreen.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/leaflet.locatecontrollocation-arrow-solid.svg b/core/vendor/geolocation/leaflet/images/leaflet.locatecontrollocation-arrow-solid.svg deleted file mode 100644 index 9fea156..0000000 --- a/core/vendor/geolocation/leaflet/images/leaflet.locatecontrollocation-arrow-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/leaflet.locatecontrolspinner-solid.svg b/core/vendor/geolocation/leaflet/images/leaflet.locatecontrolspinner-solid.svg deleted file mode 100644 index f795980..0000000 --- a/core/vendor/geolocation/leaflet/images/leaflet.locatecontrolspinner-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/images/marker-icon-2x.png b/core/vendor/geolocation/leaflet/images/marker-icon-2x.png deleted file mode 100644 index 4318c63..0000000 Binary files a/core/vendor/geolocation/leaflet/images/marker-icon-2x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/marker-icon.png b/core/vendor/geolocation/leaflet/images/marker-icon.png deleted file mode 100644 index 0fbe24b..0000000 Binary files a/core/vendor/geolocation/leaflet/images/marker-icon.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/marker-shadow.png b/core/vendor/geolocation/leaflet/images/marker-shadow.png deleted file mode 100644 index 9fd2979..0000000 Binary files a/core/vendor/geolocation/leaflet/images/marker-shadow.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/pin-marker-icon-2x.png b/core/vendor/geolocation/leaflet/images/pin-marker-icon-2x.png deleted file mode 100644 index 1d62ead..0000000 Binary files a/core/vendor/geolocation/leaflet/images/pin-marker-icon-2x.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/pin-marker-icon.png b/core/vendor/geolocation/leaflet/images/pin-marker-icon.png deleted file mode 100644 index a917ee4..0000000 Binary files a/core/vendor/geolocation/leaflet/images/pin-marker-icon.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/images/pin-marker-shadow.png b/core/vendor/geolocation/leaflet/images/pin-marker-shadow.png deleted file mode 100644 index 9fd2979..0000000 Binary files a/core/vendor/geolocation/leaflet/images/pin-marker-shadow.png and /dev/null differ diff --git a/core/vendor/geolocation/leaflet/leaflet-elevation.css b/core/vendor/geolocation/leaflet/leaflet-elevation.css deleted file mode 100644 index f14feee..0000000 --- a/core/vendor/geolocation/leaflet/leaflet-elevation.css +++ /dev/null @@ -1,389 +0,0 @@ -.leaflet-container { - z-index: 0; - /* prevent overlapping the .elevation-detached chart */ -} - -.elevation-detached { - font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; - height: auto; - width: 100%; - position: relative; - z-index: 0; -} - -.elevation-detached .elevation { - width: 100%; -} - -.elevation-detached .background { - max-width: 100%; -} - -.elevation-control.elevation .background { - background-color: rgba(70, 130, 180, 0.2); - border-radius: 5px; - -moz-border-radius: 5px; - -ms-border-radius: 5px; - -o-border-radius: 5px; - -webkit-border-radius: 5px; - overflow: visible; - display: block; -} - -.elevation-control.elevation .axis line, -.elevation-control.elevation .axis path { - stroke: #2D1130; - stroke-width: 2; - fill: none; -} - -.elevation-control.elevation .grid .tick line { - stroke: #EEE; - stroke-width: 1px; - shape-rendering: crispEdges; -} - -.elevation-control.elevation .grid path { - stroke-width: 0; - pointer-events: none; -} - -.elevation-control.elevation .axis text { - text-anchor: end; - fill: #000; - font-weight: 700; -} - -.elevation-control.elevation .area { - fill: #4682B4; - stroke: #000; - stroke-width: 1.8; - paint-order: stroke fill; -} - -.elevation-control.elevation .mouse-focus-line { - stroke: #0D1821; - stroke-width: 1; - pointer-events: none; -} - -.elevation-control.elevation .mouse-focus-label { - fill: #000; - fill-opacity: 0.75; - pointer-events: none; -} - -.elevation-control.elevation .mouse-focus-label-text { - fill: #FFF; - pointer-events: none; -} - -.elevation-control.elevation .mouse-drag { - fill: rgba(23, 74, 117, 0.4); -} - -.elevation-control.elevation .elevation-toggle { - cursor: pointer; - box-shadow: 0 1px 7px rgba(0, 0, 0, 0.4); - -webkit-border-radius: 5px; - border-radius: 5px; - width: 36px; - height: 36px; - background-color: #F8F8F9; -} - -.elevation-summary { - font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif; - font-size: 12px; - margin-left: 45px; -} - -.leaflet-control-container .elevation-summary { - text-shadow: - 1.5px 0 0 #FFF, - -1.5px 0 0 #FFF, - 0 1.5px 0 #FFF, - 0 -1.5px 0 #FFF, - 1px 1px #FFF, - -1px -1px 0 #FFF, - 1px -1px 0 #FFF, - -1px 1px 0 #FFF; -} - -.elevation-summary.multiline-summary { - margin-right: 30px; -} - -.elevation-detached .elevation-summary.multiline-summary { - margin-bottom: 12px; - margin-top: 12px; - line-height: 2; -} - -.elevation-summary.inline-summary>span:not(:last-child):after { - content: "\0020\2014\0020"; -} - -.elevation-summary.multiline-summary>span { - display: block; -} - -.elevation-summary.multiline-summary .download { - float: right; - margin-top: -2.5em; - font-weight: bold; - font-size: 1.2em; -} - -.elevation-detached .elevation-summary.multiline-summary .download { - margin-top: -3.5em; -} - -.elevation-summary .summaryvalue { - font-weight: bold; -} - -.elevation-control.elevation-collapsed .background, -.elevation-control.elevation-collapsed .elevation-summary { - display: none; -} - -.elevation-control.elevation-collapsed .elevation-toggle { - display: block; -} - -.elevation-control.elevation .elevation-toggle-icon { - background: url(../images/elevation.png) no-repeat center center; -} - -.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button { - background: transparent url(../images/remove.svg) no-repeat center center; - background-size: 14px 14px; - position: absolute; - right: 5px; - top: 5px; - height: 20px; - width: 20px; -} - -.leaflet-elevation-pane .height-focus, -.leaflet-overlay-pane .height-focus { - stroke: #000; - fill: #FFF; -} - -.leaflet-elevation-pane .height-focus.line, -.leaflet-overlay-pane .height-focus.line { - pointer-events: none; - stroke-width: 2; -} - -.leaflet-elevation-pane .height-focus-label, -.leaflet-overlay-pane .height-focus-label { - font-size: 14px; - font-weight: 600; - fill: #000; - paint-order: stroke; - stroke: #FFF; - stroke-width: 2px; -} - -.elevation-waypoint-icon:before { - background: url(../images/elevation-pushpin.png) no-repeat center center / contain; - content: ""; - width: 100%; - height: 100%; - display: inline-block; -} - -.elevation-position-icon:before { - background: url(../images/elevation-position.png) no-repeat center center / contain; - content: ""; - width: 100%; - height: 100%; - display: inline-block; -} - -.elevation-polyline { - filter: drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF); -} - -.elevation-placeholder { - margin: auto; - height: auto; - width: 100%; -} - -.elevation-placeholder~* { - display: none !important; -} - -/* LIME THEME //////////////////////////////////////////////// */ - -.lime-theme.elevation-control.elevation .background { - background-color: rgba(156, 194, 34, 0.2); -} - -.lime-theme.elevation-control.elevation .axis line, -.lime-theme.elevation-control.elevation .axis path { - stroke: #566B13; -} - -.lime-theme.elevation-control.elevation .grid .tick line { - stroke: #CCC; -} - -.lime-theme.elevation-control.elevation .mouse-drag { - fill: rgba(99, 126, 11, 0.4); -} - -.lime-theme.elevation-control.elevation .elevation-toggle-icon { - background: url(../images/elevation-lime.png) no-repeat center center; -} - -.lime-theme.elevation-control.elevation .area { - fill: #9CC222; -} - -.lime-theme.elevation-control.elevation .mouse-focus-line { - stroke: #101404; -} - -.lime-theme.height-focus { - stroke: #000; - fill: #9CC222; -} - -.lime-theme.elevation-polyline { - stroke: #566B13; -} - -/* STEELBLUE THEME //////////////////////////////////////////////// */ - -.steelblue-theme.elevation-control.elevation .background { - background-color: rgba(70, 130, 180, 0.2); -} - -.steelblue-theme.elevation-control.elevation .axis line, -.steelblue-theme.elevation-control.elevation .axis path { - stroke: #0D1821; -} - -.steelblue-theme.elevation-control.elevation .mouse-drag { - fill: rgba(23, 74, 117, 0.4); -} - -.steelblue-theme.elevation-control.elevation .elevation-toggle-icon { - background: url(../images/elevation-steelblue.png) no-repeat center center; -} - -.steelblue-theme.elevation-control.elevation .area { - fill: #4682B4; -} - -.steelblue-theme.elevation-control.elevation .mouse-focus-line { - stroke: #0D1821; -} - -.steelblue-theme.height-focus { - stroke: #000; - fill: #4682B4; -} - -.steelblue-theme.elevation-polyline { - stroke: #4682B4; -} - -/* PURPLE THEME //////////////////////////////////////////////// */ - -.purple-theme.elevation-control.elevation .background { - background-color: rgba(115, 44, 123, 0.2); -} - -.purple-theme.elevation-control.elevation .axis line, -.purple-theme.elevation-control.elevation .axis path { - stroke: #2D1130; -} - -.purple-theme.elevation-control.elevation .mouse-drag { - fill: rgba(74, 14, 80, 0.4); -} - -.purple-theme.elevation-control.elevation .elevation-toggle-icon { - background: url(../images/elevation-purple.png) no-repeat center center; -} - -.purple-theme.elevation-control.elevation .area { - fill: #732C7B; -} - -.purple-theme.elevation-control.elevation .mouse-focus-line { - stroke: #000; -} - -.purple-theme.height-focus { - stroke: #000; - fill: #732C7B; -} - -.purple-theme.elevation-polyline { - stroke: #732C7B; -} - -/* YELLOW THEME //////////////////////////////////////////////// */ - -.yellow-theme.elevation-control.elevation .area { - fill: #FF0; -} - -.yellow-theme.elevation-polyline { - stroke: #FF0; -} - -/* RED THEME //////////////////////////////////////////////// */ - -.red-theme.elevation-control.elevation .area { - fill: #F00; - stroke: #000; -} - -.red-theme.elevation-polyline { - stroke: #F00; -} - -/* MAGENTA THEME //////////////////////////////////////////////// */ - -.magenta-theme.elevation-control.elevation .background { - background-color: rgba(255, 255, 255, 0.47); -} - -.magenta-theme.elevation-control.elevation .area { - fill: #FF005E; - stroke: #000; -} - -.magenta-theme.elevation-polyline { - stroke: #FF005E; -} - -/* LIGHTBLUE THEME //////////////////////////////////////////////// */ - -.lightblue-theme.elevation-control.elevation .area { - fill: #3366CC; - stroke: #000; - stroke-width: 1.25; -} - -.elevation-detached .lightblue-theme.elevation-control.elevation .area { - stroke: #3366CC; - fill-opacity: 0.45; -} - -.lightblue-theme.height-focus { - stroke: #000; - fill: #FFFFFF; -} - -.lightblue-theme.elevation-polyline { - stroke: #3366CC; -} diff --git a/core/vendor/geolocation/leaflet/leaflet-elevation.js b/core/vendor/geolocation/leaflet/leaflet-elevation.js deleted file mode 100644 index 6aa71db..0000000 --- a/core/vendor/geolocation/leaflet/leaflet-elevation.js +++ /dev/null @@ -1,1822 +0,0 @@ -(function (factory) { - typeof define === 'function' && define.amd ? define(factory) : - factory(); -}((function () { 'use strict'; - - // Following https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md - (function (factory, window) { - - // define an AMD module that relies on 'leaflet' - if (typeof define === 'function' && define.amd) { - define(['leaflet'], factory); - - // define a Common JS module that relies on 'leaflet' - } else if (typeof exports === 'object') { - module.exports = factory(require('leaflet')); - } - - // attach your plugin to the global 'L' variable - if (typeof window !== 'undefined' && window.L) { - factory(window.L); - - } - }(function (L) { - L.locales = {}; - L.locale = null; - L.registerLocale = function registerLocale(code, locale) { - L.locales[code] = L.Util.extend({}, L.locales[code], locale); - }; - L.setLocale = function setLocale(code) { - L.locale = code; - }; - return L.i18n = L._ = function translate(string, data) { - if (L.locale && L.locales[L.locale] && L.locales[L.locale][string]) { - string = L.locales[L.locale][string]; - } - try { - // Do not fail if some data is missing - // a bad translation should not break the app - string = L.Util.template(string, data); - } - catch (err) {/*pass*/ - } - - return string; - }; - }, window)); - - /* - * Copyright (c) 2019, GPL-3.0+ Project, Raruto - * - * This file is free software: you may copy, redistribute and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 2 of the License, or (at your - * option) any later version. - * - * This file is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * This file incorporates work covered by the following copyright and - * permission notice: - * - * Copyright (c) 2013-2016, MIT License, Felix “MrMufflon” Bache - * - * Permission to use, copy, modify, and/or distribute this software - * for any purpose with or without fee is hereby granted, provided - * that the above copyright notice and this permission notice appear - * in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, - * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - - L.Control.Elevation = L.Control.extend({ - - includes: L.Evented ? L.Evented.prototype : L.Mixin.Events, - - options: { - autohide: !L.Browser.mobile, - autohideMarker: true, - collapsed: false, - controlButton: { - iconCssClass: "elevation-toggle-icon", - title: "Elevation" - }, - detached: true, - distanceFactor: 1, - dragging: !L.Browser.mobile, - downloadLink: 'link', - elevationDiv: "#elevation-div", - followMarker: true, - forceAxisBounds: false, - gpxOptions: { - async: true, - marker_options: { - startIconUrl: null, - endIconUrl: null, - shadowUrl: null, - wptIcons: { - '': L.divIcon({ - className: 'elevation-waypoint-marker', - html: '', - iconSize: [30, 30], - iconAnchor: [8, 30], - }) - }, - }, - }, - height: 200, - heightFactor: 1, - hoverNumber: { - decimalsX: 2, - decimalsY: 0, - formatter: undefined - }, - imperial: false, - interpolation: "curveLinear", - lazyLoadJS: true, - legend: true, - loadData: { - defer: false, - lazy: false, - }, - marker: 'elevation-line', - markerIcon: L.divIcon({ - className: 'elevation-position-marker', - html: '', - iconSize: [32, 32], - iconAnchor: [16, 16], - }), - placeholder: false, - position: "topright", - polyline: { - className: 'elevation-polyline', - color: '#000', - opacity: 0.75, - weight: 5, - lineCap: 'round' - }, - reverseCoords: false, - skipNullZCoords: false, - theme: "lightblue-theme", - margins: { - top: 10, - right: 20, - bottom: 30, - left: 50 - }, - responsive: true, - summary: 'inline', - width: 600, - xLabel: "km", - xTicks: undefined, - yAxisMax: undefined, - yAxisMin: undefined, - yLabel: "m", - yTicks: undefined, - zFollow: 13, - }, - __mileFactor: 0.621371, - __footFactor: 3.28084, - - /* - * Add data to the diagram either from GPX or GeoJSON and update the axis domain and data - */ - addData: function(d, layer) { - L.Control.Elevation._d3LazyLoader = this._lazyLoadJS( - 'https://unpkg.com/d3@5.15.0/dist/d3.min.js', - typeof d3 !== 'object', - L.Control.Elevation._d3LazyLoader - ).then( - function(d, layer) { - this._addData(d); - - if (this._container) { - this._applyData(); - } - if ((typeof layer === "undefined" || layer === null) && d.on) { - layer = d; - } - if (layer) { - if (layer._path) { - L.DomUtil.addClass(layer._path, this.options.polyline.className + ' ' + this.options.theme); - } - layer - .on("mousemove", this._mousemoveLayerHandler, this) - .on("mouseout", this._mouseoutHandler, this); - } - - this.track_info = L.extend({}, this.track_info, { - distance: this._distance, - elevation_max: this._maxElevation, - elevation_min: this._minElevation - }); - - this._layers = this._layers || {}; - this._layers[L.Util.stamp(layer)] = layer; - - this._fireEvt("eledata_added", { data: d, layer: layer, track_info: this.track_info }, true); - }.bind(this, d, layer)); - }, - - /** - * Adds the control to the given map. - */ - addTo: function(map) { - if (this.options.detached) { - this._appendElevationDiv(map._container).appendChild(this.onAdd(map)); - } else { - L.Control.prototype.addTo.call(this, map); - } - return this; - }, - - /* - * Reset data and display - */ - clear: function() { - this._clearPath(); - this._clearChart(); - this._clearData(); - - this._fireEvt("eledata_clear"); - }, - - /** - * Disable dragging chart on touch events. - */ - disableDragging: function() { - this._draggingEnabled = false; - this._resetDrag(); - }, - - /** - * Enable dragging chart on touch events. - */ - enableDragging: function() { - this._draggingEnabled = true; - }, - - /** - * Sets a map view that contains the given geographical bounds. - */ - fitBounds: function(bounds) { - bounds = bounds || this._fullExtent; - if (this._map && bounds) this._map.fitBounds(bounds); - }, - - /** - * Get default zoom level when "followMarker" is true. - */ - getZFollow: function() { - return this._zFollow; - }, - - /** - * Hide current elevation chart profile. - */ - hide: function() { - this._container.style.display = "none"; - }, - - /** - * Initialize chart control "options" and "container". - */ - initialize: function(options) { - this.options = this._deepMerge({}, this.options, options); - - if (this.options.imperial) { - this._distanceFactor = this.__mileFactor; - this._heightFactor = this.__footFactor; - this._xLabel = "mi"; - this._yLabel = "ft"; - } else { - this._distanceFactor = this.options.distanceFactor; - this._heightFactor = this.options.heightFactor; - this._xLabel = this.options.xLabel; - this._yLabel = this.options.yLabel; - } - - this._chartEnabled = true; - this._draggingEnabled = this.options.dragging; - this._zFollow = this.options.zFollow; - - if (this.options.followMarker) this._setMapView = L.Util.throttle(this._setMapView, 300, this); - if (this.options.placeholder) this.options.loadData.lazy = this.options.loadData.defer = true; - - this.on('waypoint_added', function(e) { - if (e.point._popup) { - e.point._popup.options.className = 'elevation-popup'; - e.point._popup._content = decodeURI(e.point._popup._content); - } - if (e.point._popup && e.point._popup._content) { - e.point.bindTooltip(e.point._popup._content, { direction: 'top', sticky: true, opacity: 1, className: 'elevation-tooltip' }).openTooltip(); - } - }); - }, - - /** - * Alias for loadData - */ - load: function(data, opts) { - this.loadData(data, opts); - }, - - /** - * Alias for addTo - */ - loadChart: function(map) { - this.addTo(map); - }, - - /** - * Load elevation data (GPX or GeoJSON). - */ - loadData: function(data, opts) { - opts = L.extend({}, this.options.loadData, opts); - if (opts.defer) { - this.loadDefer(data, opts); - } else if (opts.lazy) { - this.loadLazy(data, opts); - } else if (this._isXMLDoc(data)) { - this.loadGPX(data); - } else if (this._isJSONDoc(data)) { - this.loadGeoJSON(data); - } else { - this.loadFile(data); - } - }, - - /** - * Wait for document load before download data. - */ - loadDefer: function(data, opts) { - opts = L.extend({}, this.options.loadData, opts); - opts.defer = false; - if (document.readyState !== 'complete') window.addEventListener("load", L.bind(this.loadData, this, data, opts), { once: true }); - else this.loadData(data, opts); - }, - - /** - * Load data from a remote url. - */ - loadFile: function(url) { - this._downloadURL = url; // TODO: handle multiple urls? - try { - let xhr = new XMLHttpRequest(); - xhr.responseType = "text"; - xhr.open('GET', url); - xhr.onload = function() { - if (xhr.status !== 200) { - throw "Error " + xhr.status + " while fetching remote file: " + url; - } else { - this.loadData(xhr.response, { lazy: false, defer: false }); - } - }.bind(this); - xhr.send(); - } catch (e) { - console.warn(e); - } - }, - - /** - * Load raw GeoJSON data. - */ - loadGeoJSON: function(data) { - if (typeof data === "string") { - data = JSON.parse(data); - } - - this.layer = this.geojson = L.geoJson(data, { - style: function(feature) { - let style = L.extend({}, this.options.polyline); - if (this.options.theme) { - style.className += ' ' + this.options.theme; - } - return style; - }.bind(this), - pointToLayer: function(feature, latlng) { - let marker = L.marker(latlng, { icon: this.options.gpxOptions.marker_options.wptIcons[''] }); - let desc = feature.properties.desc ? feature.properties.desc : ''; - let name = feature.properties.name ? feature.properties.name : ''; - if (name || desc) { - marker.bindPopup("" + name + "" + (desc.length > 0 ? '
' + desc : '')).openPopup(); - } - this.fire('waypoint_added', { point: marker, point_type: 'waypoint', element: latlng }); - return marker; - }.bind(this), - onEachFeature: function(feature, layer) { - if (feature.geometry.type == 'Point') return; - - this.addData(feature, layer); - - this.track_info = L.extend({}, this.track_info, { type: "geojson", name: data.name }); - }.bind(this), - }); - if (this._map) { - this._map.once('layeradd', function(e) { - this.fitBounds(this.layer.getBounds()); - this._fireEvt("eledata_loaded", { data: data, layer: this.layer, name: this.track_info.name, track_info: this.track_info }, true); - }, this); - - this.layer.addTo(this._map); - } else { - console.warn("Undefined elevation map object"); - } - }, - - /** - * Load raw GPX data. - */ - loadGPX: function(data) { - L.Control.Elevation._gpxLazyLoader = this._lazyLoadJS( - 'https://unpkg.com/leaflet-gpx@1.5.0/gpx.js', - typeof L.GPX !== 'function', - L.Control.Elevation._gpxLazyLoader - ).then( - function(data) { - this.options.gpxOptions.polyline_options = L.extend({}, this.options.polyline, this.options.gpxOptions.polyline_options); - - if (this.options.theme) { - this.options.gpxOptions.polyline_options.className += ' ' + this.options.theme; - } - - this.layer = this.gpx = new L.GPX(data, this.options.gpxOptions); - - this.layer.on('loaded', function(e) { this.fitBounds(e.target.getBounds()); }, this); - this.layer.on('addpoint', function(e) { this.fire("waypoint_added", e, true); }, this); - this.layer.once("addline", function(e) { - this.addData(e.line /*, this.layer*/ ); - - this.track_info = L.extend({}, this.track_info, { type: "gpx", name: this.layer.get_name() }); - - this._fireEvt("eledata_loaded", { data: data, layer: this.layer, name: this.track_info.name, track_info: this.track_info }, true); - }, this); - - if (this._map) { - this.layer.addTo(this._map); - } else { - console.warn("Undefined elevation map object"); - } - }.bind(this, data) - ); - }, - - /** - * Wait for chart container visible before download data. - */ - loadLazy: function(data, opts) { - opts = L.extend({}, this.options.loadData, opts); - opts.lazy = false; - let ticking = false; - let scrollFn = L.bind(function(data) { - if (!ticking) { - L.Util.requestAnimFrame(function() { - if (this._isVisible(this.placeholder)) { - window.removeEventListener('scroll', scrollFn); - this.loadData(data, opts); - this.once('eledata_loaded', function() { - if (this.placeholder && this.placeholder.parentNode) { - this.placeholder.parentNode.removeChild(this.placeholder); - } - }, this); - } - ticking = false; - }, this); - ticking = true; - } - }, this, data); - window.addEventListener('scroll', scrollFn); - if (this.placeholder) this.placeholder.addEventListener('mouseenter', scrollFn, { once: true }); - scrollFn(); - }, - - /** - * Create container DOM element and related event listeners. - * Called on control.addTo(map). - */ - onAdd: function(map) { - this._map = map; - - let container = this._container = L.DomUtil.create("div", "elevation-control elevation"); - - if (!this.options.detached) { - L.DomUtil.addClass(container, 'leaflet-control'); - } - - if (this.options.theme) { - L.DomUtil.addClass(container, this.options.theme); // append theme to control - } - - if (this.options.placeholder && !this._data) { - this.placeholder = L.DomUtil.create('img', 'elevation-placeholder'); - if (typeof this.options.placeholder === 'string') { - this.placeholder.src = this.options.placeholder; - this.placeholder.alt = ''; - } else { - for (let i in this.options.placeholder) { this.placeholder.setAttribute(i, this.options.placeholder[i]); } - } - container.insertBefore(this.placeholder, container.firstChild); - } - - L.Control.Elevation._d3LazyLoader = this._lazyLoadJS( - 'https://unpkg.com/d3@5.15.0/dist/d3.min.js', - typeof d3 !== 'object', - L.Control.Elevation._d3LazyLoader - ).then( - function(map, container) { - this._initToggle(container); - this._initChart(container); - - this._applyData(); - - this._map.on('zoom viewreset zoomanim', this._hidePositionMarker, this); - this._map.on('resize', this._resetView, this); - this._map.on('resize', this._resizeChart, this); - this._map.on('mousedown', this._resetDrag, this); - - this._map.on('eledata_added', this._updateSummary, this); - - L.DomEvent.on(this._map._container, 'mousewheel', this._resetDrag, this); - L.DomEvent.on(this._map._container, 'touchstart', this._resetDrag, this); - - }.bind(this, map, container) - ); - - return container; - }, - - /** - * Clean up control code and related event listeners. - * Called on control.remove(). - */ - onRemove: function(map) { - this._container = null; - }, - - /** - * Redraws the chart control. Sometimes useful after screen resize. - */ - redraw: function() { - this._resizeChart(); - }, - - /** - * Set default zoom level when "followMarker" is true. - */ - setZFollow: function(zoom) { - this._zFollow = zoom; - }, - - /** - * Hide current elevation chart profile. - */ - show: function() { - this._container.style.display = "block"; - }, - - /* - * Parsing data either from GPX or GeoJSON and update the diagram data - */ - _addData: function(d) { - let geom = d && d.geometry; - let feat = d && d.type === "FeatureCollection"; - let gpx = d && d._latlngs; - - if (geom) { - switch (geom.type) { - case 'LineString': - this._addGeoJSONData(geom.coordinates); - break; - - case 'MultiLineString': - geom.coordinates.forEach(coords => this._addGeoJSONData(coords)); - break; - - default: - console.warn('Unsopperted GeoJSON feature geometry type:' + geom.type); - } - } - - if (feat) { - d.features.forEach(feature => this._addData(feature)); - } - - if (gpx) { - this._addGPXdata(d._latlngs); - } - }, - - /* - * Parsing of GeoJSON data lines and their elevation in z-coordinate - */ - _addGeoJSONData: function(coords) { - if (coords) { - coords.forEach(point => this._addPoint(point[1], point[0], point[2])); - } - }, - - /* - * Parsing function for GPX data and their elevation in z-coordinate - */ - _addGPXdata: function(coords) { - if (coords) { - coords.forEach(point => this._addPoint(point.lat, point.lng, point.meta.ele)); - } - }, - - /* - * Parse and push a single (x, y, z) point to current elevation profile. - */ - _addPoint: function(x, y, z) { - if (this.options.reverseCoords) { - [x, y] = [y, x]; - } - - let data = this._data || []; - let eleMax = this._maxElevation || -Infinity; - let eleMin = this._minElevation || +Infinity; - let dist = this._distance || 0; - - let curr = new L.LatLng(x, y); - let prev = data.length ? data[data.length - 1].latlng : curr; - - let delta = curr.distanceTo(prev) * this._distanceFactor; - - dist = dist + Math.round(delta / 1000 * 100000) / 100000; - - // check and fix missing elevation data on last added point - if (!this.options.skipNullZCoords && data.length > 0) { - let prevZ = data[data.length - 1].z; - if (isNaN(prevZ)) { - let lastZ = this._lastValidZ; - let currZ = z * this._heightFactor; - if (!isNaN(lastZ) && !isNaN(currZ)) { - prevZ = (lastZ + currZ) / 2; - } else if (!isNaN(lastZ)) { - prevZ = lastZ; - } else if (!isNaN(currZ)) { - prevZ = currZ; - } - if (!isNaN(prevZ)) data[data.length - 1].z = prevZ; - else data.splice(data.length - 1, 1); - } - } - - z = z * this._heightFactor; - - // skip point if it has not elevation - if (!isNaN(z)) { - eleMax = eleMax < z ? z : eleMax; - eleMin = eleMin > z ? z : eleMin; - this._lastValidZ = z; - } - - data.push({ - dist: dist, - x: x, - y: y, - z: z, - latlng: curr - }); - - this._data = data; - this._distance = dist; - this._maxElevation = eleMax; - this._minElevation = eleMin; - }, - - /** - * Generate "svg" chart container. - */ - _appendChart: function(svg) { - let g = svg - .append("g") - .attr("transform", "translate(" + this.options.margins.left + "," + this.options.margins.top + ")"); - - this._appendGrid(g); - this._appendAreaPath(g); - this._appendAxis(g); - this._appendFocusRect(g); - this._appendMouseFocusG(g); - this._appendLegend(g); - }, - - /** - * Adds the control to the given "detached" div. - */ - _appendElevationDiv: function(container) { - let eleDiv = document.querySelector(this.options.elevationDiv); - if (!eleDiv) { - eleDiv = L.DomUtil.create('div', 'leaflet-control elevation elevation-div'); - this.options.elevationDiv = '#elevation-div_' + Math.random().toString(36).substr(2, 9); - eleDiv.id = this.options.elevationDiv.substr(1); - container.parentNode.insertBefore(eleDiv, container.nextSibling); // insert after end of container. - } - if (this.options.detached) { - L.DomUtil.addClass(eleDiv, 'elevation-detached'); - L.DomUtil.removeClass(eleDiv, 'leaflet-control'); - } - this.eleDiv = eleDiv; - return this.eleDiv; - }, - - /** - * Generate "x-axis". - */ - _appendXaxis: function(axis) { - axis - .append("g") - .attr("class", "x axis") - .attr("transform", "translate(0," + this._height() + ")") - .call( - d3 - .axisBottom() - .scale(this._x) - .ticks(this.options.xTicks) - ) - .append("text") - .attr("x", this._width() + 6) - .attr("y", 30) - .text(this._xLabel); - }, - - /** - * Generate "x-grid". - */ - _appendXGrid: function(grid) { - grid.append("g") - .attr("class", "x grid") - .attr("transform", "translate(0," + this._height() + ")") - .call( - d3 - .axisBottom() - .scale(this._x) - .ticks(this.options.xTicks) - .tickSize(-this._height()) - .tickFormat("") - ); - - }, - - /** - * Generate "y-axis". - */ - _appendYaxis: function(axis) { - axis - .append("g") - .attr("class", "y axis") - .call( - d3 - .axisLeft() - .scale(this._y) - .ticks(this.options.yTicks) - ) - .append("text") - .attr("x", -30) - .attr("y", 3) - .text(this._yLabel); - }, - - /** - * Generate "y-grid". - */ - _appendYGrid: function(grid) { - grid.append("g") - .attr("class", "y grid") - .call( - d3 - .axisLeft() - .scale(this._y) - .ticks(this.options.yTicks) - .tickSize(-this._width()) - .tickFormat("") - ); - }, - - /** - * Generate "path". - */ - _appendAreaPath: function(g) { - this._areapath = g.append("path") - .attr("class", "area"); - }, - - /** - * Generate "axis". - */ - _appendAxis: function(g) { - this._axis = g.append("g") - .attr("class", "axis"); - this._appendXaxis(this._axis); - this._appendYaxis(this._axis); - }, - - /** - * Generate "mouse-focus" and "drag-rect". - */ - _appendFocusRect: function(g) { - let focusRect = this._focusRect = g.append("rect") - .attr("width", this._width()) - .attr("height", this._height()) - .style("fill", "none") - .style("stroke", "none") - .style("pointer-events", "all"); - - if (L.Browser.mobile) { - focusRect - .on("touchmove.drag", this._dragHandler.bind(this)) - .on("touchstart.drag", this._dragStartHandler.bind(this)) - .on("touchstart.focus", this._mousemoveHandler.bind(this)) - .on("touchmove.focus", this._mousemoveHandler.bind(this)); - L.DomEvent.on(this._container, 'touchend', this._dragEndHandler, this); - } - - focusRect - .on("mousemove.drag", this._dragHandler.bind(this)) - .on("mousedown.drag", this._dragStartHandler.bind(this)) - .on("mouseenter.focus", this._mouseenterHandler.bind(this)) - .on("mousemove.focus", this._mousemoveHandler.bind(this)) - .on("mouseout.focus", this._mouseoutHandler.bind(this)); - L.DomEvent.on(this._container, 'mouseup', this._dragEndHandler, this); - }, - - /** - * Generate "grid". - */ - _appendGrid: function(g) { - this._grid = g.append("g") - .attr("class", "grid"); - this._appendXGrid(this._grid); - this._appendYGrid(this._grid); - }, - - /** - * Generate "mouse-focus". - */ - _appendMouseFocusG: function(g) { - let focusG = this._focusG = g.append("g") - .attr("class", "mouse-focus-group"); - - this._mousefocus = focusG.append('svg:line') - .attr('class', 'mouse-focus-line') - .attr('x2', '0') - .attr('y2', '0') - .attr('x1', '0') - .attr('y1', '0'); - - this._focuslabelrect = focusG.append("rect") - .attr('class', 'mouse-focus-label') - .attr("x", 0) - .attr("y", 0) - .attr("width", 0) - .attr("height", 0) - .attr("rx", 3) - .attr("ry", 3); - - this._focuslabeltext = focusG.append("svg:text") - .attr("class", "mouse-focus-label-text"); - this._focuslabelY = this._focuslabeltext.append("svg:tspan") - .attr("class", "mouse-focus-label-y") - .attr("dy", "-1em"); - this._focuslabelX = this._focuslabeltext.append("svg:tspan") - .attr("class", "mouse-focus-label-x") - .attr("dy", "2em"); - }, - - /** - * Generate "legend". - */ - _appendLegend: function(g) { - if (!this.options.legend) return; - - let legend = this._legend = g.append('g') - .attr("class", "legend"); - - let altitude = this._altitudeLegend = this._legend.append('g') - .attr("class", "legend-altitude"); - - altitude.append("rect") - .attr("class", "area") - .attr("x", (this._width() / 2) - 50) - .attr("y", this._height() + this.options.margins.bottom - 17) - .attr("width", 50) - .attr("height", 5) - .attr("opacity", 0.75); - - altitude.append('text') - .text(L._('Altitude')) - .attr("x", (this._width() / 2) + 5) - .attr("font-size", 10) - .style("text-decoration-thickness", "2px") - .style("font-weight", "700") - .attr('y', this._height() + this.options.margins.bottom - 11); - - // autotoggle chart data on single click - legend.on('click', function() { - if (this._chartEnabled) { - this._clearChart(); - this._clearPath(); - this._chartEnabled = false; - } else { - this._resizeChart(); - for (let id in this._layers) { - L.DomUtil.addClass(this._layers[id]._path, this.options.polyline.className + ' ' + this.options.theme); - } - this._chartEnabled = true; - } - }.bind(this)); - - }, - - /** - * Generate "svg:line". - */ - _appendPositionMarker: function(pane) { - let theme = this.options.theme; - let heightG = pane.select("g"); - - this._mouseHeightFocus = heightG.append('svg:line') - .attr("class", theme + " height-focus line") - .attr("x2", 0) - .attr("y2", 0) - .attr("x1", 0) - .attr("y1", 0); - - this._pointG = heightG.append("g"); - this._pointG.append("svg:circle") - .attr("class", theme + " height-focus circle-lower") - .attr("r", 6) - .attr("cx", 0) - .attr("cy", 0); - - this._mouseHeightFocusLabel = heightG.append("svg:text") - .attr("class", theme + " height-focus-label") - .style("pointer-events", "none"); - }, - - /** - * Calculates [x, y] domain and then update chart. - */ - _applyData: function() { - if (!this._data) return; - - let xdomain = d3.extent(this._data, d => d.dist); - let ydomain = d3.extent(this._data, d => d.z); - let opts = this.options; - - if (opts.yAxisMin !== undefined && (opts.yAxisMin < ydomain[0] || opts.forceAxisBounds)) { - ydomain[0] = opts.yAxisMin; - } - if (opts.yAxisMax !== undefined && (opts.yAxisMax > ydomain[1] || opts.forceAxisBounds)) { - ydomain[1] = opts.yAxisMax; - } - - this._x.domain(xdomain); - this._y.domain(ydomain); - this._areapath.datum(this._data) - .attr("d", this._area); - this._updateAxis(); - - this._fullExtent = this._calculateFullExtent(this._data); - }, - - /* - * Calculates the full extent of the data array - */ - _calculateFullExtent: function(data) { - if (!data || data.length < 1) { - throw new Error("no data in parameters"); - } - - let ext = new L.latLngBounds(data[0].latlng, data[0].latlng); - - data.forEach(item => ext.extend(item.latlng)); - - return ext; - }, - - /* - * Reset chart. - */ - _clearChart: function() { - this._resetDrag(); - if (this._areapath) { - // workaround for 'Error: Problem parsing d=""' in Webkit when empty data - // https://groups.google.com/d/msg/d3-js/7rFxpXKXFhI/HzIO_NPeDuMJ - //this._areapath.datum(this._data).attr("d", this._area); - this._areapath.attr("d", "M0 0"); - - this._x.domain([0, 1]); - this._y.domain([0, 1]); - this._updateAxis(); - } - if (this._altitudeLegend) { - this._altitudeLegend.select('text').style("text-decoration-line", "line-through"); - } - }, - - /* - * Reset data. - */ - _clearData: function() { - this._data = null; - this._distance = null; - this._maxElevation = null; - this._minElevation = null; - this.track_info = null; - this._layers = null; - // if (this.layer) { - // this.layer.removeFrom(this._map); - // } - }, - - /* - * Reset path. - */ - _clearPath: function() { - this._hidePositionMarker(); - for (let id in this._layers) { - L.DomUtil.removeClass(this._layers[id]._path, this.options.polyline.className); - L.DomUtil.removeClass(this._layers[id]._path, this.options.theme); - } - }, - - /* - * Collapse current chart control. - */ - _collapse: function() { - if (this._container) { - L.DomUtil.removeClass(this._container, 'elevation-expanded'); - L.DomUtil.addClass(this._container, 'elevation-collapsed'); - } - }, - - /** - * Recursive deep merge objects. - * Alternative to L.Util.setOptions(this, options). - */ - _deepMerge: function(target, ...sources) { - if (!sources.length) return target; - const source = sources.shift(); - if (this._isObject(target) && this._isObject(source)) { - for (const key in source) { - if (this._isObject(source[key])) { - if (!target[key]) Object.assign(target, { - [key]: {} - }); - this._deepMerge(target[key], source[key]); - } else { - Object.assign(target, { - [key]: source[key] - }); - } - } - } - return this._deepMerge(target, ...sources); - }, - - /* - * Handle drag operations. - */ - _dragHandler: function() { - //we don't want map events to occur here - d3.event.preventDefault(); - d3.event.stopPropagation(); - - this._gotDragged = true; - this._drawDragRectangle(); - }, - - /* - * Handles end of drag operations. Zooms the map to the selected items extent. - */ - _dragEndHandler: function() { - if (!this._dragStartCoords || !this._dragCurrentCoords || !this._gotDragged) { - this._dragStartCoords = null; - this._gotDragged = false; - if (this._draggingEnabled) this._resetDrag(); - return; - } - - let item1 = this._findItemForX(this._dragStartCoords[0]); - let item2 = this._findItemForX(this._dragCurrentCoords[0]); - - if (item1 == item2) return; - - this._hidePositionMarker(); - - this._fitSection(item1, item2); - - this._dragStartCoords = null; - this._gotDragged = false; - - this._fireEvt("elechart_dragged", { data: { dragstart: this._data[item1], dragend: this._data[item2] } }, true); - }, - - /* - * Handles start of drag operations. - */ - _dragStartHandler: function() { - d3.event.preventDefault(); - d3.event.stopPropagation(); - - this._gotDragged = false; - this._dragStartCoords = d3.mouse(this._focusRect.node()); - }, - - /* - * Draws the currently dragged rectangle over the chart. - */ - _drawDragRectangle: function() { - if (!this._dragStartCoords || !this._draggingEnabled) { - return; - } - - let dragEndCoords = this._dragCurrentCoords = d3.mouse(this._focusRect.node()); - - let x1 = Math.min(this._dragStartCoords[0], dragEndCoords[0]); - let x2 = Math.max(this._dragStartCoords[0], dragEndCoords[0]); - - if (!this._dragRectangle && !this._dragRectangleG) { - let g = d3.select(this._container).select("svg").select("g"); - - this._dragRectangleG = g.insert("g", ".mouse-focus-group"); - - this._dragRectangle = this._dragRectangleG.append("rect") - .attr("width", x2 - x1) - .attr("height", this._height()) - .attr("x", x1) - .attr('class', 'mouse-drag') - .style("pointer-events", "none"); - } else { - this._dragRectangle.attr("width", x2 - x1) - .attr("x", x1); - } - }, - - /* - * Expand current chart control. - */ - _expand: function() { - if (this._container) { - L.DomUtil.removeClass(this._container, 'elevation-collapsed'); - L.DomUtil.addClass(this._container, 'elevation-expanded'); - } - }, - - /* - * Finds an item with the smallest delta in distance to the given latlng coords - */ - _findItemForLatLng: function(latlng) { - let result = null; - let d = Infinity; - this._data.forEach(item => { - let dist = latlng.distanceTo(item.latlng); - if (dist < d) { - d = dist; - result = item; - } - }); - return result; - }, - - /* - * Finds a data entry for a given x-coordinate of the diagram - */ - _findItemForX: function(x) { - let data = this._data ? this._data : [0, 1]; - let bisect = d3.bisector(d => d.dist).left; - let xinvert = this._x.invert(x); - return bisect(data, xinvert); - }, - - /** - * Fires an event of the specified type. - */ - _fireEvt: function(type, data, propagate) { - if (this.fire) { - this.fire(type, data, propagate); - } - if (this._map) { - this._map.fire(type, data, propagate); - } - }, - - /** - * Make the map fit the route section between given indexes. - */ - _fitSection: function(index1, index2) { - let start = Math.min(index1, index2); - let end = Math.max(index1, index2); - let ext = this._calculateFullExtent(this._data.slice(start, end)); - this.fitBounds(ext); - }, - - /* - * Fromatting funciton using the given decimals and seperator - */ - _formatter: function(num, dec, sep) { - let res = L.Util.formatNum(num, dec).toString(); - let numbers = res.split("."); - if (numbers[1]) { - for (let d = dec - numbers[1].length; d > 0; d--) { - numbers[1] += "0"; - } - res = numbers.join(sep || "."); - } - return res; - }, - - /** - * Calculates chart height. - */ - _height: function() { - let opts = this.options; - return opts.height - opts.margins.top - opts.margins.bottom; - }, - - /* - * Hides the position/height indicator marker drawn onto the map - */ - _hidePositionMarker: function() { - if (!this.options.autohideMarker) { - return; - } - - this._selectedItem = null; - - if (this._marker) { - if (this._map) this._map.removeLayer(this._marker); - this._marker = null; - } - if (this._mouseHeightFocus) { - this._mouseHeightFocus.style("visibility", "hidden"); - this._mouseHeightFocusLabel.style("visibility", "hidden"); - } - if (this._pointG) { - this._pointG.style("visibility", "hidden"); - } - if (this._focusG) { - this._focusG.style("visibility", "hidden"); - } - }, - - /** - * Generate "svg" chart DOM element. - */ - _initChart: function() { - let opts = this.options; - opts.xTicks = opts.xTicks || Math.round(this._width() / 75); - opts.yTicks = opts.yTicks || Math.round(this._height() / 30); - opts.hoverNumber.formatter = opts.hoverNumber.formatter || this._formatter; - - if (opts.responsive) { - if (opts.detached) { - let offWi = this.eleDiv.offsetWidth; - let offHe = this.eleDiv.offsetHeight; - opts.width = offWi > 0 ? offWi : opts.width; - opts.height = (offHe - 20) > 0 ? offHe - 20 : opts.height; // 20 = horizontal scrollbar size. - } else { - opts._maxWidth = opts._maxWidth > opts.width ? opts._maxWidth : opts.width; - let containerWidth = this._map._container.clientWidth; - opts.width = opts._maxWidth > containerWidth ? containerWidth - 30 : opts.width; - } - } - - let x = this._x = d3.scaleLinear().range([0, this._width()]); - let y = this._y = d3.scaleLinear().range([this._height(), 0]); - - let interpolation = typeof opts.interpolation === 'function' ? opts.interpolation : d3[opts.interpolation]; - - let area = this._area = d3.area().curve(interpolation) - .x(d => (d.xDiagCoord = x(d.dist))) - .y0(this._height()) - .y1(d => y(d.z)); - let line = this._line = d3.line() - .x(d => d3.mouse(svg.select("g"))[0]) - .y(d => this._height()); - - let container = d3.select(this._container); - - let svg = container.append("svg") - .attr("class", "background") - .attr("width", opts.width) - .attr("height", opts.height); - - let summary = this.summaryDiv = container.append("div") - .attr("class", "elevation-summary " + this.options.summary + "-summary").node(); - - this._appendChart(svg); - this._updateSummary(); - - }, - - /** - * Inspired by L.Control.Layers - */ - _initToggle: function(container) { - //Makes this work on IE10 Touch devices by stopping it from firing a mouseout event when the touch is released - container.setAttribute('aria-haspopup', true); - - if (!this.options.detached) { - L.DomEvent - .disableClickPropagation(container); - //.disableScrollPropagation(container); - } - - if (L.Browser.mobile) { - L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation); - } - - L.DomEvent.on(container, 'mousewheel', this._mousewheelHandler, this); - - if (!this.options.detached) { - let iconCssClass = "elevation-toggle " + this.options.controlButton.iconCssClass + (this.options.autohide ? "" : " close-button"); - let link = this._button = L.DomUtil.create('a', iconCssClass, container); - link.href = '#'; - link.title = this.options.controlButton.title; - - if (this.options.collapsed) { - this._collapse(); - if (this.options.autohide) { - L.DomEvent - .on(container, 'mouseover', this._expand, this) - .on(container, 'mouseout', this._collapse, this); - } else { - L.DomEvent - .on(link, 'click', L.DomEvent.stop) - .on(link, 'click', this._toggle, this); - } - - L.DomEvent.on(link, 'focus', this._toggle, this); - - this._map.on('click', this._collapse, this); - // TODO: keyboard accessibility - } - } - }, - - /** - * Check object type. - */ - _isObject: function(item) { - return (item && typeof item === 'object' && !Array.isArray(item)); - }, - - /** - * Check JSON object type. - */ - _isJSONDoc: function(doc, lazy) { - lazy = typeof lazy === "undefined" ? true : lazy; - if (typeof doc === "string" && lazy) { - doc = doc.trim(); - return doc.indexOf("{") == 0 || doc.indexOf("[") == 0; - } else { - try { - JSON.parse(doc.toString()); - } catch (e) { - if (typeof doc === "object" && lazy) return true; - console.warn(e); - return false; - } - return true; - } - }, - - /** - * Check XML object type. - */ - _isXMLDoc: function(doc, lazy) { - lazy = typeof lazy === "undefined" ? true : lazy; - if (typeof doc === "string" && lazy) { - doc = doc.trim(); - return doc.indexOf("<") == 0; - } else { - let documentElement = (doc ? doc.ownerDocument || doc : 0).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; - } - }, - - /** - * Check DOM element visibility. - */ - _isDomVisible: function(elem) { - return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length); - }, - - /** - * Check DOM element viewport visibility. - */ - _isVisible: function(elem) { - if (!elem) return false; - - let styles = window.getComputedStyle(elem); - - function isVisibleByStyles(elem, styles) { - return styles.visibility !== 'hidden' && styles.display !== 'none'; - } - - function isAboveOtherElements(elem, styles) { - let boundingRect = elem.getBoundingClientRect(); - let left = boundingRect.left + 1; - let right = boundingRect.right - 1; - let top = boundingRect.top + 1; - let bottom = boundingRect.bottom - 1; - let above = true; - - let pointerEvents = elem.style.pointerEvents; - - if (styles['pointer-events'] == 'none') elem.style.pointerEvents = 'auto'; - - if (document.elementFromPoint(left, top) !== elem) above = false; - if (document.elementFromPoint(right, top) !== elem) above = false; - - // Only for completely visible elements - // if (document.elementFromPoint(left, bottom) !== elem) above = false; - // if (document.elementFromPoint(right, bottom) !== elem) above = false; - - elem.style.pointerEvents = pointerEvents; - - return above; - } - - if (!isVisibleByStyles(elem, styles)) return false; - if (!isAboveOtherElements(elem, styles)) return false; - return true; - }, - - /** - * Async JS script download. - */ - _lazyLoadJS: function(url, skip, loader) { - if (skip === false || !this.options.lazyLoadJS) { - return Promise.resolve(); - } - if (loader instanceof Promise) { - return loader; - } - return new Promise((resolve, reject) => { - let tag = document.createElement("script"); - tag.addEventListener('load', resolve, { once: true }); - tag.src = url; - document.head.appendChild(tag); - }); - }, - - /* - * Handles the moueseenter over the chart. - */ - _mouseenterHandler: function() { - this._fireEvt("elechart_enter", null, true); - }, - - /* - * Handles the moueseover the chart and displays distance and altitude level. - */ - _mousemoveHandler: function(d, i, ctx) { - if (!this._data || this._data.length === 0 || !this._chartEnabled) { - return; - } - let coords = d3.mouse(this._focusRect.node()); - let xCoord = coords[0]; - let item = this._data[this._findItemForX(xCoord)]; - - this._hidePositionMarker(); - this._showDiagramIndicator(item, xCoord); - this._showPositionMarker(item); - this._setMapView(item); - - if (this._map && this._map._container) { - L.DomUtil.addClass(this._map._container, 'elechart-hover'); - } - - this._fireEvt("elechart_change", { data: item }, true); - this._fireEvt("elechart_hover", { data: item }, true); - }, - - /* - * Handles mouseover events of the data layers on the map. - */ - _mousemoveLayerHandler: function(e) { - if (!this._data || this._data.length === 0) { - return; - } - let latlng = e.latlng; - let item = this._findItemForLatLng(latlng); - if (item) { - let xCoord = item.xDiagCoord; - - this._hidePositionMarker(); - this._showDiagramIndicator(item, xCoord); - this._showPositionMarker(item); - } - }, - - /* - * Handles the moueseout over the chart. - */ - _mouseoutHandler: function() { - if (!this.options.detached) { - this._hidePositionMarker(); - } - - if (this._map && this._map._container) { - L.DomUtil.removeClass(this._map._container, 'elechart-hover'); - } - - this._fireEvt("elechart_leave", null, true); - }, - - /* - * Handles the mouesewheel over the chart. - */ - _mousewheelHandler: function(e) { - if (this._map.gestureHandling && this._map.gestureHandling._enabled) return; - let ll = this._selectedItem ? this._selectedItem.latlng : this._map.getCenter(); - let z = e.deltaY > 0 ? this._map.getZoom() - 1 : this._map.getZoom() + 1; - this._resetDrag(); - this._map.flyTo(ll, z); - - }, - - /* - * Removes the drag rectangle and zoms back to the total extent of the data. - */ - _resetDrag: function() { - if (this._dragRectangleG) { - this._dragRectangleG.remove(); - this._dragRectangleG = null; - this._dragRectangle = null; - this._hidePositionMarker(); - } - }, - - /** - * Resets drag, marker and bounds. - */ - _resetView: function() { - if (this._map && this._map._isFullscreen) return; - this._resetDrag(); - this._hidePositionMarker(); - this.fitBounds(this._fullExtent); - }, - - /** - * Hacky way for handling chart resize. Deletes it and redraw chart. - */ - _resizeChart: function() { - if (this.options.responsive) { - if (this.options.detached) { - let newWidth = this.eleDiv.offsetWidth; // - 20; - - if (newWidth <= 0) return; - - this.options.width = newWidth; - this.eleDiv.innerHTML = ""; - this.eleDiv.appendChild(this.onAdd(this._map)); - } else { - this._map.removeControl(this._container); - this.addTo(this._map); - } - } - }, - - /** - * Generate GPX / GeoJSON download event. - */ - _saveFile: function(fileUrl) { - let d = document, - a = d.createElement('a'), - b = d.body; - a.href = fileUrl; - a.target = '_new'; - a.download = ""; // fileName - a.style.display = 'none'; - b.appendChild(a); - a.click(); - b.removeChild(a); - }, - - /** - * Display distance and altitude level ("focus-rect"). - */ - _showDiagramIndicator: function(item, xCoordinate) { - if (!this._chartEnabled) return; - - let opts = this.options; - this._focusG.style("visibility", "visible"); - - this._mousefocus.attr('x1', xCoordinate) - .attr('y1', 0) - .attr('x2', xCoordinate) - .attr('y2', this._height()) - .classed('hidden', false); - - let alt = item.z, - dist = item.dist, - ll = item.latlng, - numY = opts.hoverNumber.formatter(alt, opts.hoverNumber.decimalsY), - numX = opts.hoverNumber.formatter(dist, opts.hoverNumber.decimalsX); - - this._focuslabeltext - // .attr("x", xCoordinate) - .attr("y", this._y(item.z)) - .style("font-weight", "700"); - - this._focuslabelX - .text(numX + " " + this._xLabel) - .attr("x", xCoordinate + 10); - - this._focuslabelY - .text(numY + " " + this._yLabel) - .attr("x", xCoordinate + 10); - - let focuslabeltext = this._focuslabeltext.node(); - if (this._isDomVisible(focuslabeltext)) { - let bbox = focuslabeltext.getBBox(); - let padding = 2; - - this._focuslabelrect - .attr("x", bbox.x - padding) - .attr("y", bbox.y - padding) - .attr("width", bbox.width + (padding * 2)) - .attr("height", bbox.height + (padding * 2)); - - // move focus label to left - if (xCoordinate >= this._width() / 2) { - this._focuslabelrect.attr("x", this._focuslabelrect.attr("x") - this._focuslabelrect.attr("width") - (padding * 2) - 10); - this._focuslabelX.attr("x", this._focuslabelX.attr("x") - this._focuslabelrect.attr("width") - (padding * 2) - 10); - this._focuslabelY.attr("x", this._focuslabelY.attr("x") - this._focuslabelrect.attr("width") - (padding * 2) - 10); - } - } - - }, - - /** - * Collapse or Expand current chart control. - */ - _toggle: function() { - if (L.DomUtil.hasClass(this._container, "elevation-expanded")) - this._collapse(); - else - this._expand(); - }, - - /** - * Sets the view of the map (center and zoom). Useful when "followMarker" is true. - */ - _setMapView: function(item) { - if (!this.options.followMarker || !this._map) return; - let zoom = this._map.getZoom(); - zoom = zoom < this._zFollow ? this._zFollow : zoom; - this._map.setView(item.latlng, zoom, { animate: true, duration: 0.25 }); - }, - - /* - * Shows the position/height indicator marker drawn onto the map - */ - _showPositionMarker: function(item) { - this._selectedItem = item; - - if (this._map && !this._map.getPane('elevationPane')) { - this._map.createPane('elevationPane'); - this._map.getPane('elevationPane').style.zIndex = 625; // This pane is above markers but below popups. - this._map.getPane('elevationPane').style.pointerEvents = 'none'; - } - - if (this.options.marker == 'elevation-line') { - this._updatePositionMarker(item); - } else if (this.options.marker == 'position-marker') { - this._updateLeafletMarker(item); - } - }, - - /** - * Update chart axis. - */ - _updateAxis: function() { - this._grid.selectAll("g").remove(); - this._axis.selectAll("g").remove(); - this._appendXGrid(this._grid); - this._appendYGrid(this._grid); - this._appendXaxis(this._axis); - this._appendYaxis(this._axis); - }, - - /** - * Update distance and altitude level ("leaflet-marker"). - */ - _updateHeightIndicator: function(item) { - let opts = this.options; - - let numY = opts.hoverNumber.formatter(item.z, opts.hoverNumber.decimalsY); - let numX = opts.hoverNumber.formatter(item.dist, opts.hoverNumber.decimalsX); - - let normalizedAlt = this._height() / this._maxElevation * item.z; - let normalizedY = item.y - normalizedAlt; - - this._mouseHeightFocus - .attr("x1", item.x) - .attr("x2", item.x) - .attr("y1", item.y) - .attr("y2", normalizedY) - .style("visibility", "visible"); - - this._mouseHeightFocusLabel - .attr("x", item.x) - .attr("y", normalizedY) - .text(numY + " " + this._yLabel) - .style("visibility", "visible"); - }, - - /** - * Update position marker ("leaflet-marker"). - */ - _updateLeafletMarker: function(item) { - let ll = item.latlng; - - if (!this._marker) { - this._marker = new L.Marker(ll, { - icon: this.options.markerIcon, - zIndexOffset: 1000000, - }); - this._marker.addTo(this._map, { - pane: 'elevationPane', - }); - } else { - this._marker.setLatLng(ll); - } - }, - - /** - * Update focus point ("leaflet-marker"). - */ - _updatePointG: function(item) { - this._pointG - .attr("transform", "translate(" + item.x + "," + item.y + ")") - .style("visibility", "visible"); - }, - - /** - * Update position marker ("leaflet-marker"). - */ - _updatePositionMarker: function(item) { - let point = this._map.latLngToLayerPoint(item.latlng); - let layerpoint = { - dist: item.dist, - x: point.x, - y: point.y, - z: item.z, - }; - - if (!this._mouseHeightFocus) { - L.svg({ pane: "elevationPane" }).addTo(this._map); // default leaflet svg renderer - let layerpane = d3.select(this._map.getContainer()).select(".leaflet-elevation-pane svg"); - this._appendPositionMarker(layerpane); - } - - this._updatePointG(layerpoint); - this._updateHeightIndicator(layerpoint); - }, - - /** - * Update chart summary. - */ - _updateSummary: function() { - if (this.options.summary && this.summaryDiv) { - this.track_info = this.track_info || {}; - this.track_info.distance = this._distance || 0; - this.track_info.elevation_max = this._maxElevation || 0; - this.track_info.elevation_min = this._minElevation || 0; - d3.select(this.summaryDiv).html('' + L._("Total Length: ") + '' + this.track_info.distance.toFixed(2) + ' ' + this._xLabel + '' + L._("Max Elevation: ") + '' + this.track_info.elevation_max.toFixed(2) + ' ' + this._yLabel + '' + L._("Min Elevation: ") + '' + this.track_info.elevation_min.toFixed(2) + ' ' + this._yLabel + ''); - } - if (this.options.downloadLink && this._downloadURL) { // TODO: generate dynamically file content instead of using static file urls. - let span = document.createElement('span'); - span.className = 'download'; - let save = document.createElement('a'); - save.innerHTML = "Télécharger"; //modif - save.href = "#"; - save.onclick = function(e) { - e.preventDefault(); - let evt = { confirm: this._saveFile.bind(this, this._downloadURL) }; - let type = this.options.downloadLink; - if (type == 'modal') { - if (typeof CustomEvent === "function") document.dispatchEvent(new CustomEvent("eletrack_download", { detail: evt })); - this._fireEvt('eletrack_download', evt); - } else if (type == 'link' || type === true) { - evt.confirm(); - } - }.bind(this); - - this.summaryDiv.appendChild(span).appendChild(save); - } - }, - - /** - * Calculates chart width. - */ - _width: function() { - let opts = this.options; - return opts.width - opts.margins.left - opts.margins.right; - }, - - }); - - L.control.elevation = function(options) { - return new L.Control.Elevation(options); - }; - -}))); -//# sourceMappingURL=leaflet-elevation.js.map diff --git a/core/vendor/geolocation/leaflet/leaflet-omnivore.min.js b/core/vendor/geolocation/leaflet/leaflet-omnivore.min.js deleted file mode 100644 index 1b62dce..0000000 --- a/core/vendor/geolocation/leaflet/leaflet-omnivore.min.js +++ /dev/null @@ -1,2 +0,0 @@ - -!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.omnivore=n()}}(function(){var e;return function r(n,e,t){function o(u,a){if(!e[u]){if(!n[u]){var s="function"==typeof require&&require;if(!a&&s)return s(u,!0);if(i)return i(u,!0);throw new Error("Cannot find module '"+u+"'")}var f=e[u]={exports:{}};n[u][0].call(f.exports,function(e){var r=n[u][1][e];return o(r?r:e)},f,f.exports,r,n,e,t)}return e[u].exports}for(var i="function"==typeof require&&require,u=0;u0)){var t=r.shift();t()}},!0),function(n){r.push(n),window.postMessage("process-tick","*")}}return function(n){setTimeout(n,0)}}(),t.title="browser",t.browser=!0,t.env={},t.argv=[],t.on=r,t.addListener=r,t.once=r,t.off=r,t.removeListener=r,t.removeAllListeners=r,t.emit=r,t.binding=function(){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(){throw new Error("process.chdir is not supported")}},{}],5:[function(n,e){function r(n,e,r){function t(n){return n>=200&&300>n||304===n}function o(){void 0===a.status||t(a.status)?e.call(a,null,a):e.call(a,a,null)}var i=!1;if("undefined"==typeof window.XMLHttpRequest)return e(Error("Browser not supported"));if("undefined"==typeof r){var u=n.match(/^\s*https?:\/\/[^\/]*/);r=u&&u[0]!==location.protocol+"//"+location.domain+(location.port?":"+location.port:"")}var a=new window.XMLHttpRequest;if(r&&!("withCredentials"in a)){a=new window.XDomainRequest;var s=e;e=function(){if(i)s.apply(this,arguments);else{var n=this,e=arguments;setTimeout(function(){s.apply(n,e)},0)}}}return"onload"in a?a.onload=o:a.onreadystatechange=function(){4===a.readyState&&o()},a.onerror=function(n){e.call(this,n||!0,null),e=function(){}},a.onprogress=function(){},a.ontimeout=function(n){e.call(this,n,null),e=function(){}},a.onabort=function(n){e.call(this,n,null),e=function(){}},a.open("GET",n,!0),a.send(null),i=!0,a}"undefined"!=typeof e&&(e.exports=r)},{}],6:[function(n,e){function r(n){return!!n.match(/(Lat)(itude)?/gi)}function t(n){return!!n.match(/(L)(on|ng)(gitude)?/i)}function o(n){return"object"==typeof n?Object.keys(n).length:0}function i(n){var e=[",",";"," ","|"],r=[];return e.forEach(function(e){var t=c(e).parse(n);if(t.length>=1){for(var i=o(t[0]),u=0;u= N) return EOF; // special case: end of file\n if (eol) return eol = false, EOL; // special case: end of line\n\n // special case: quotes\n var j = I;\n if (text.charCodeAt(j) === 34) {\n var i = j;\n while (i++ < N) {\n if (text.charCodeAt(i) === 34) {\n if (text.charCodeAt(i + 1) !== 34) break;\n ++i;\n }\n }\n I = i + 2;\n var c = text.charCodeAt(i + 1);\n if (c === 13) {\n eol = true;\n if (text.charCodeAt(i + 2) === 10) ++I;\n } else if (c === 10) {\n eol = true;\n }\n return text.substring(j + 1, i).replace(/""/g, "\\"");\n }\n\n // common case: find next delimiter or newline\n while (I < N) {\n var c = text.charCodeAt(I++), k = 1;\n if (c === 10) eol = true; // \\n\n else if (c === 13) { eol = true; if (text.charCodeAt(I) === 10) ++I, ++k; } // \\r|\\r\\n\n else if (c !== delimiterCode) continue;\n return text.substring(j, I - k);\n }\n\n // special case: last token before EOF\n return text.substring(j);\n }\n\n while ((t = token()) !== EOF) {\n var a = [];\n while (t !== EOL && t !== EOF) {\n a.push(t);\n t = token();\n }\n if (f && !(a = f(a, n++))) continue;\n rows.push(a);\n }\n\n return rows;\n };\n\n dsv.format = function(rows) {\n if (Array.isArray(rows[0])) return dsv.formatRows(rows); // deprecated; use formatRows\n var fieldSet = {}, fields = [];\n\n // Compute unique fields in order of discovery.\n rows.forEach(function(row) {\n for (var field in row) {\n if (!(field in fieldSet)) {\n fields.push(fieldSet[field] = field);\n }\n }\n });\n\n return [fields.map(formatValue).join(delimiter)].concat(rows.map(function(row) {\n return fields.map(function(field) {\n return formatValue(row[field]);\n }).join(delimiter);\n })).join("\\n");\n };\n\n dsv.formatRows = function(rows) {\n return rows.map(formatRow).join("\\n");\n };\n\n function formatRow(row) {\n return row.map(formatValue).join(delimiter);\n }\n\n function formatValue(text) {\n return reFormat.test(text) ? "\\"" + text.replace(/\\"/g, "\\"\\"") + "\\"" : text;\n }\n\n return dsv;\n}\n;return dsv')()},{fs:2}],8:[function(n,e){e.exports=function(n,e){if(e||(e="NSEW"),"string"!=typeof n)return null;var r=/^([0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/,t=n.match(r);return t?t[4]&&-1===e.indexOf(t[4])?null:((t[1]?parseFloat(t[1]):0)+(t[2]?parseFloat(t[2])/60:0)+(t[3]?parseFloat(t[3])/3600:0))*(t[4]&&"S"===t[4]||"W"===t[4]?-1:1):null}},{}],9:[function(n,e,r){(function(t){toGeoJSON=function(){"use strict";function e(n){if(!n||!n.length)return 0;for(var e=0,r=0;ee?~e:e],o=t[0];return n.transform?(r=[0,0],t.forEach(function(n){r[0]+=n[0],r[1]+=n[1]})):r=t[t.length-1],0>e?[r,o]:[o,r]}function t(n,e){for(var r in n){var t=n[r];delete e[t.start],delete t.start,delete t.end,t.forEach(function(n){o[0>n?~n:n]=1}),a.push(t)}}var o={},i={},u={},a=[],s=-1;return e.forEach(function(r,t){var o,i=n.arcs[0>r?~r:r];i.length<3&&!i[1][0]&&!i[1][1]&&(o=e[++s],e[s]=r,e[t]=o)}),e.forEach(function(n){var e,t,o=r(n),a=o[0],s=o[1];if(e=u[a])if(delete u[e.end],e.push(n),e.end=s,t=i[s]){delete i[t.start];var f=t===e?e:e.concat(t);i[f.start=e.start]=u[f.end=t.end]=f}else i[e.start]=u[e.end]=e;else if(e=i[s])if(delete i[e.start],e.unshift(n),e.start=a,t=u[a]){delete u[t.end];var c=t===e?e:t.concat(e);i[c.start=t.start]=u[c.end=e.end]=c}else i[e.start]=u[e.end]=e;else e=[n],i[e.start=a]=u[e.end=s]=e}),t(u,i),t(i,u),e.forEach(function(n){o[0>n?~n:n]||a.push([n])}),a}function o(n,e,t){function o(n){var e=0>n?~n:n;(c[e]||(c[e]=[])).push({i:n,g:f})}function i(n){n.forEach(o)}function u(n){n.forEach(i)}function a(n){"GeometryCollection"===n.type?n.geometries.forEach(a):n.type in l&&(f=n,l[n.type](n.arcs))}var s=[];if(arguments.length>1){var f,c=[],l={LineString:i,MultiLineString:u,Polygon:u,MultiPolygon:function(n){n.forEach(u)}};a(e),c.forEach(arguments.length<3?function(n){s.push(n[0].i)}:function(n){t(n[0].g,n[n.length-1].g)&&s.push(n[0].i)})}else for(var p=0,d=n.arcs.length;d>p;++p)s.push(p);return{type:"MultiLineString",arcs:r(n,s)}}function i(e,t){function o(n){n.forEach(function(e){e.forEach(function(e){(u[e=0>e?~e:e]||(u[e]=[])).push(n)})}),a.push(n)}function i(n){return d(s(e,{type:"Polygon",arcs:[n]}).coordinates[0])>0}var u={},a=[],f=[];return t.forEach(function(n){"Polygon"===n.type?o(n.arcs):"MultiPolygon"===n.type&&n.arcs.forEach(o)}),a.forEach(function(n){if(!n._){var e=[],r=[n];for(n._=1,f.push(e);n=r.pop();)e.push(n),n.forEach(function(n){n.forEach(function(n){u[0>n?~n:n].forEach(function(n){n._||(n._=1,r.push(n))})})})}}),a.forEach(function(n){delete n._}),{type:"MultiPolygon",arcs:f.map(function(t){var o=[];if(t.forEach(function(n){n.forEach(function(n){n.forEach(function(n){u[0>n?~n:n].length<2&&o.push(n)})})}),o=r(e,o),(n=o.length)>1)for(var a,s=i(t[0][0]),f=0;n>f;++f)if(s===i(o[f])){a=o[0],o[0]=o[f],o[f]=a;break}return o})}}function u(n,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return a(n,e)})}:a(n,e)}function a(n,e){var r={type:"Feature",id:e.id,properties:e.properties||{},geometry:s(n,e)};return null==e.id&&delete r.id,r}function s(n,e){function r(n,e){e.length&&e.pop();for(var r,t=c[0>n?~n:n],o=0,i=t.length;i>o;++o)e.push(r=t[o].slice()),s(r,o);0>n&&f(e,i)}function t(n){return n=n.slice(),s(n,0),n}function o(n){for(var e=[],t=0,o=n.length;o>t;++t)r(n[t],e);return e.length<2&&e.push(e[0].slice()),e}function i(n){for(var e=o(n);e.length<4;)e.push(e[0].slice());return e}function u(n){return n.map(i)}function a(n){var e=n.type;return"GeometryCollection"===e?{type:e,geometries:n.geometries.map(a)}:e in l?{type:e,coordinates:l[e](n)}:null}var s=m(n.transform),c=n.arcs,l={Point:function(n){return t(n.coordinates)},MultiPoint:function(n){return n.coordinates.map(t)},LineString:function(n){return o(n.arcs)},MultiLineString:function(n){return n.arcs.map(o)},Polygon:function(n){return u(n.arcs)},MultiPolygon:function(n){return n.arcs.map(u)}};return a(e)}function f(n,e){for(var r,t=n.length,o=t-e;o<--t;)r=n[o],n[o++]=n[t],n[t]=r}function c(n,e){for(var r=0,t=n.length;t>r;){var o=r+t>>>1;n[o]n&&(n=~n);var r=o[n];r?r.push(e):o[n]=[e]})}function r(n,r){n.forEach(function(n){e(n,r)})}function t(n,e){"GeometryCollection"===n.type?n.geometries.forEach(function(n){t(n,e)}):n.type in u&&u[n.type](n.arcs,e)}var o={},i=n.map(function(){return[]}),u={LineString:e,MultiLineString:r,Polygon:r,MultiPolygon:function(n,e){n.forEach(function(n){r(n,e)})}};n.forEach(t);for(var a in o)for(var s=o[a],f=s.length,l=0;f>l;++l)for(var p=l+1;f>p;++p){var d,g=s[l],v=s[p];(d=i[g])[a=c(d,v)]!==v&&d.splice(a,0,v),(d=i[v])[a=c(d,g)]!==g&&d.splice(a,0,g)}return i}function p(n,e){function r(n){u.remove(n),n[1][2]=e(n),u.push(n)}var t,o=m(n.transform),i=y(n.transform),u=h(),a=0;for(e||(e=g),n.arcs.forEach(function(n){var r=[];n.forEach(o);for(var i=1,a=n.length-1;a>i;++i)t=n.slice(i-1,i+2),t[1][2]=e(t),r.push(t),u.push(t);n[0][2]=n[a][2]=1/0;for(var i=0,a=r.length;a>i;++i)t=r[i],t.previous=r[i-1],t.next=r[i+1]});t=u.pop();){var s=t.previous,f=t.next;t[1][2]0;){var r=(e+1>>1)-1,o=t[r];if(v(n,o)>=0)break;t[o._=e]=o,t[n._=e=r]=n}}function e(n,e){for(;;){var r=e+1<<1,i=r-1,u=e,a=t[u];if(o>i&&v(t[i],a)<0&&(a=t[u=i]),o>r&&v(t[r],a)<0&&(a=t[u=r]),u===e)break;t[a._=e]=a,t[n._=e=u]=n}}var r={},t=[],o=0;return r.push=function(e){return n(t[e._=o]=e,o++),o},r.pop=function(){if(!(0>=o)){var n,r=t[0];return--o>0&&(n=t[o],e(t[n._=0]=n,0)),r}},r.remove=function(r){var i,u=r._;if(t[u]===r)return u!==--o&&(i=t[o],(v(i,r)<0?n:e)(t[i._=u]=i,u)),u},r}function m(n){if(!n)return w;var e,r,t=n.scale[0],o=n.scale[1],i=n.translate[0],u=n.translate[1];return function(n,a){a||(e=r=0),n[0]=(e+=n[0])*t+i,n[1]=(r+=n[1])*o+u}}function y(n){if(!n)return w;var e,r,t=n.scale[0],o=n.scale[1],i=n.translate[0],u=n.translate[1];return function(n,a){a||(e=r=0);var s=(n[0]-i)/t|0,f=(n[1]-u)/o|0;n[0]=s-e,n[1]=f-r,e=s,r=f}}function w(){}var x={version:"1.6.8",mesh:function(n){return s(n,o.apply(this,arguments))},meshArcs:o,merge:function(n){return s(n,i.apply(this,arguments))},mergeArcs:i,feature:u,neighbors:l,presimplify:p};"function"==typeof e&&e.amd?e(x):"object"==typeof t&&t.exports?t.exports=x:this.topojson=x}()},{}],11:[function(n,e){function r(n){function e(e){var r=n.substring(h).match(e);return r?(h+=r[0].length,r[0]):null}function r(n){return n&&v.match(/\d+/)&&(n.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+v}}),n}function t(){e(/^\s*/)}function o(){t();for(var n,r=0,o=[],i=[o],u=o;n=e(/^(\()/)||e(/^(\))/)||e(/^(\,)/)||e(/^[-+]?([0-9]*\.[0-9]+|[0-9]+)/);){if("("==n)i.push(u),u=[],i[i.length-1].push(u),r++;else if(")"==n){if(u=i.pop(),!u)return;if(r--,0===r)break}else if(","===n)u=[],i[i.length-1].push(u);else{if(isNaN(parseFloat(n)))return null;u.push(parseFloat(n))}t()}return 0!==r?null:o}function i(){for(var n,r,o=[];r=e(/^[-+]?([0-9]*\.[0-9]+|[0-9]+)/)||e(/^(\,)/);)","==r?(o.push(n),n=[]):(n||(n=[]),n.push(parseFloat(r))),t();return n&&o.push(n),o.length?o:null}function u(){if(!e(/^(point)/i))return null;if(t(),!e(/^(\()/))return null;var n=i();return n?(t(),e(/^(\))/)?{type:"Point",coordinates:n[0]}:null):null}function a(){if(!e(/^(multipoint)/i))return null;t();var n=o();return n?(t(),{type:"MultiPoint",coordinates:n}):null}function s(){if(!e(/^(multilinestring)/i))return null;t();var n=o();return n?(t(),{type:"MultiLineString",coordinates:n}):null}function f(){if(!e(/^(linestring)/i))return null;if(t(),!e(/^(\()/))return null;var n=i();return n?e(/^(\))/)?{type:"LineString",coordinates:n}:null:null}function c(){return e(/^(polygon)/i)?(t(),{type:"Polygon",coordinates:o()}):null}function l(){return e(/^(multipolygon)/i)?(t(),{type:"MultiPolygon",coordinates:o()}):null}function p(){var n,r=[];if(!e(/^(geometrycollection)/i))return null;if(t(),!e(/^(\()/))return null;for(;n=d();)r.push(n),t(),e(/^(\,)/),t();return e(/^(\))/)?{type:"GeometryCollection",geometries:r}:null}function d(){return u()||f()||c()||a()||s()||l()||p()}var g=n.split(";"),n=g.pop(),v=(g.shift()||"").split("=").pop(),h=0;return r(d())}function t(n){function e(n){return 2===n.length?n[0]+" "+n[1]:3===n.length?n[0]+" "+n[1]+" "+n[2]:void 0}function r(n){return n.map(e).join(", ")}function o(n){return n.map(r).map(u).join(", ")}function i(n){return n.map(o).map(u).join(", ")}function u(n){return"("+n+")"}switch("Feature"===n.type&&(n=n.geometry),n.type){case"Point":return"POINT ("+e(n.coordinates)+")";case"LineString":return"LINESTRING ("+r(n.coordinates)+")";case"Polygon":return"POLYGON ("+o(n.coordinates)+")";case"MultiPoint":return"MULTIPOINT ("+r(n.coordinates)+")";case"MultiPolygon":return"MULTIPOLYGON ("+i(n.coordinates)+")";case"MultiLineString":return"MULTILINESTRING ("+o(n.coordinates)+")";case"GeometryCollection":return"GEOMETRYCOLLECTION ("+n.geometries.map(t).join(", ")+")";default:throw new Error("stringify requires a valid GeoJSON Feature or geometry object as input")}}e.exports=r,e.exports.parse=r,e.exports.stringify=t},{}]},{},[1])(1)}); diff --git a/core/vendor/geolocation/leaflet/leaflet-ui.css b/core/vendor/geolocation/leaflet/leaflet-ui.css deleted file mode 100644 index 93c297b..0000000 --- a/core/vendor/geolocation/leaflet/leaflet-ui.css +++ /dev/null @@ -1 +0,0 @@ -.pano-canvas{position:absolute!important;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:0;padding:0;z-index:1000;display:none}.pegman-control{width:30px;height:30px;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);cursor:grab}.pegman-control.dragging{cursor:grabbing}.pegman-control .pegman-button{position:relative;width:100%;height:100%;background-image:url(images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png);background-position:-145px -23px;background-repeat:no-repeat}.pegman-control:hover .pegman-button{background-position:-145px -75px}.pegman-control.active .pegman-button,.pegman-control.dragging .pegman-button{background-position:-145px -50px}.pegman-control.active .pegman-button:before{position:absolute;width:100%;height:100%;content:" ";display:block;z-index:-1;opacity:.5;background:linear-gradient(#d1d1d1,#f5f5f5,#fbfbfb)}.pegman-control.streetview-layer-active{background:linear-gradient(#d1d1d1,#f5f5f5,#fbfbfb);background-clip:padding-box}.pegman{position:absolute;z-index:9999999;display:block;width:100%;height:100%;opacity:0}.pegman:before{position:relative;z-index:5;display:block;width:19px;height:32px;content:" ";background-image:url(images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png);background-repeat:no-repeat;background-position:-112px -4px}.pegman:after{position:absolute;width:22px;height:22px;content:" ";bottom:-18px;left:50%;margin-left:-11px;z-index:4;display:block;overflow:visible;visibility:visible;border:1px dotted rgba(51,51,51,.9);border-radius:30px;background-color:rgba(105,185,70,.7);box-shadow:3px 10px 25px rgba(105,185,70,.9)}.pegman.active{opacity:1!important}.pegman.active.left:before{background-position:-119px -55px}.pegman.active.right:before{background-position:-114px -158px}.pegman.active.bottom:before,.pegman.active.top:before{background-position:-112px -4px}.pegman.dropped{opacity:1}.pegman.dropped:before{background-position:-112px -4px}.pegman-marker{background:transparent url(images/leaflet-pegman/maps.gstatic.com/api-3cb_scout5.png) no-repeat scroll 0 -364px}.pegman-marker:not(.leaflet-drag-target){transition:transform .2s linear}.leaflet-left .pegman-control:hover .pegman-button{transform:scaleX(-1)}.leaflet-pegman-v3-default .pegman-control{width:40px;height:40px}.leaflet-pegman-v3-default .pegman-control .pegman-button{background-image:url(images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-2x.png);background-position:-3px -55px;background-size:45px}.leaflet-pegman-v3-default .pegman-control.streetview-layer-active .pegman-button{background-position:-3px -7px}.leaflet-pegman-v3-default .pegman-control:hover .pegman-button{background-position:-3px -152px}.leaflet-pegman-v3-default .pegman-control.dragging .pegman-button{background-position:-3px -104px}.leaflet-pegman-v3-small .pegman-control{width:30px;height:30px}.leaflet-pegman-v3-small .pegman-control .pegman-button{background-image:url(images/leaflet-pegman/maps.gstatic.com/pegman_v3runway-1x.png);background-position:2px -27px;background-size:25px}.leaflet-pegman-v3-small .pegman-control.streetview-layer-active .pegman-button{background-position:2px 0}.leaflet-pegman-v3-small .pegman-control:hover .pegman-button{background-position:2px -79px}.leaflet-pegman-v3-small .pegman-control.dragging .pegman-button{background-position:2px -53px}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control{width:26px;height:26px;box-shadow:0 1px 5px rgba(0,0,0,.65)}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control .pegman-button{background-position:0 -29px}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-small .pegman-control:hover .pegman-button{background-position:0 -81px}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control{width:36px;height:36px;box-shadow:0 1px 5px rgba(0,0,0,.65)}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control .pegman-button{background-position:-3px -53px;background-size:42px}.leaflet-container:not(.leaflet-touch).leaflet-pegman-v3-default .pegman-control:hover .pegman-button{background-position:-3px -143px}.leaflet-control-locate a{cursor:pointer}.leaflet-control-locate a .leaflet-control-locate-location-arrow{-webkit-mask-image:url(images/leaflet.locatecontrollocation-arrow-solid.svg);mask-image:url(images/leaflet.locatecontrollocation-arrow-solid.svg)}.leaflet-control-locate a .leaflet-control-locate-location-arrow,.leaflet-control-locate a .leaflet-control-locate-spinner{display:inline-block;width:16px;height:16px;margin:7px;background-color:#000;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.leaflet-control-locate a .leaflet-control-locate-spinner{-webkit-mask-image:url(images/leaflet.locatecontrolspinner-solid.svg);mask-image:url(images/leaflet.locatecontrolspinner-solid.svg);animation:leaflet-control-locate-spin 2s linear infinite}.leaflet-control-locate.active a .leaflet-control-locate-location-arrow{background-color:#2074b6}.leaflet-control-locate.following a .leaflet-control-locate-location-arrow{background-color:#fc8428}.leaflet-touch .leaflet-bar .leaflet-locate-text-active{width:100%;max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0 10px}.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon{padding:0 5px 0 0}.leaflet-control-locate-location circle{animation:leaflet-control-locate-throb 4s ease infinite}@keyframes leaflet-control-locate-throb{0%{stroke-width:1}50%{stroke-width:3;transform:scale(.8)}to{stroke-width:1}}@keyframes leaflet-control-locate-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fullscreen-icon{background-image:url(images/leaflet.fullscreenicon-fullscreen.svg);background-size:26px 52px}.fullscreen-icon.leaflet-fullscreen-on{background-position:0 -26px}.leaflet-touch .fullscreen-icon{background-position:2px 2px}.leaflet-touch .fullscreen-icon.leaflet-fullscreen-on{background-position:2px -24px}.leaflet-container:-webkit-full-screen{width:100%!important;height:100%!important;z-index:99999}.leaflet-container:-ms-fullscreen{width:100%!important;height:100%!important;z-index:99999}.leaflet-container:full-screen,.leaflet-container:fullscreen,.leaflet-pseudo-fullscreen{width:100%!important;height:100%!important;z-index:99999}.leaflet-pseudo-fullscreen{position:fixed!important;top:0!important;left:0!important}.leaflet-gesture-handling:after{color:#fff;font-family:Roboto,Arial,sans-serif;font-size:22px;justify-content:center;display:flex;align-items:center;padding:15px;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1001;pointer-events:none;text-align:center;transition:opacity .8s ease-in-out;opacity:0;content:""}.leaflet-gesture-handling-warning:after{transition-duration:.3s;opacity:1}.leaflet-gesture-handling-touch:after{content:attr(data-gesture-handling-touch-content)}.leaflet-gesture-handling-scroll:after{content:attr(data-gesture-handling-scroll-content)}.leaflet-edit-osm.leaflet-control a{padding-right:5px}.leaflet-edit-osm.leaflet-control-attribution.leaflet-control{clear:both}.leaflet-edit-osm~.leaflet-control-attribution.leaflet-control{clear:none}.leaflet-control-layers-inline{margin:0;padding:0}.leaflet-control-layers-inline.leaflet-control-layers{border:transparent;background-color:transparent}.leaflet-control-layers-inline .leaflet-control-layers-base{margin:0;padding:0}.leaflet-control-layers-inline .leaflet-control-layers-base input{display:none}.leaflet-control-layers-inline .leaflet-control-layers-base span{display:inline-block;padding:9.5px;font-size:15px;font-weight:600}.leaflet-control-layers-inline .leaflet-control-layers-base label{display:inline-block;cursor:pointer;box-shadow:0 1px 4px -1px rgba(0,0,0,.3);background-color:#fff;background-clip:padding-box;border:2px solid rgba(0,0,0,.2);border-right:none;border-left:none}.leaflet-control-layers-inline .leaflet-control-layers-base label:hover{background-color:#f4f4f4}.leaflet-control-layers-inline .leaflet-control-layers-base label:first-of-type{border-left:2px solid rgba(0,0,0,.2);border-top-left-radius:4px;border-bottom-left-radius:4px}.leaflet-control-layers-inline .leaflet-control-layers-base label:last-of-type{border-right:2px solid rgba(0,0,0,.2);border-top-right-radius:4px;border-bottom-right-radius:4px}.leaflet-control-layers-inline .leaflet-control-layers-base input+span{color:#565656}.leaflet-control-layers-inline .leaflet-control-layers-base input:checked+span{font-weight:700;color:inherit}.leaflet-container:not(.leaflet-touch) .leaflet-control-layers-inline .leaflet-control-layers-base span{padding:8px;font-size:14px}.leaflet-container:not(.leaflet-touch) .leaflet-control-layers-inline .leaflet-control-layers-base label{border:none}.leaflet-control-minimap{border:solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:3px;background:#f8f8f9;transition:all .6s}.leaflet-control-minimap a{background-color:#fff;background-repeat:no-repeat;z-index:99999;transition:all .6s}.leaflet-control-minimap a.minimized-bottomright{-webkit-transform:rotate(180deg);transform:rotate(180deg);border-radius:0}.leaflet-control-minimap a.minimized-topleft{-webkit-transform:rotate(0deg);transform:rotate(0deg);border-radius:0}.leaflet-control-minimap a.minimized-bottomleft{-webkit-transform:rotate(270deg);transform:rotate(270deg);border-radius:0}.leaflet-control-minimap a.minimized-topright{-webkit-transform:rotate(90deg);transform:rotate(90deg);border-radius:0}.leaflet-control-minimap-toggle-display{background-image:url(images/leaflet-minimap/dist/imagestoggle.svg);background-size:cover;position:absolute;border-radius:3px 0 0}.leaflet-oldie .leaflet-control-minimap-toggle-display{background-image:url(images/leaflet-minimap/dist/imagestoggle.png)}.leaflet-control-minimap-toggle-display-bottomright{bottom:0;right:0}.leaflet-control-minimap-toggle-display-topleft{top:0;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.leaflet-control-minimap-toggle-display-bottomleft{bottom:0;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.leaflet-control-minimap-toggle-display-topright{top:0;right:0;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.leaflet-oldie .leaflet-control-minimap{border:1px solid #999}.leaflet-oldie .leaflet-control-minimap a{background-color:#fff}.leaflet-oldie .leaflet-control-minimap a.minimized{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.leaflet-control-loading:empty{background-image:url(data:image/gif;base64,R0lGODlhEAAQAPQAAP///wAAAPDw8IqKiuDg4EZGRnp6egAAAFhYWCQkJKysrL6+vhQUFJycnAQEBDY2NmhoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH+GkNyZWF0ZWQgd2l0aCBhamF4bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAFdyAgAgIJIeWoAkRCCMdBkKtIHIngyMKsErPBYbADpkSCwhDmQCBethRB6Vj4kFCkQPG4IlWDgrNRIwnO4UKBXDufzQvDMaoSDBgFb886MiQadgNABAokfCwzBA8LCg0Egl8jAggGAA1kBIA1BAYzlyILczULC2UhACH5BAAKAAEALAAAAAAQABAAAAV2ICACAmlAZTmOREEIyUEQjLKKxPHADhEvqxlgcGgkGI1DYSVAIAWMx+lwSKkICJ0QsHi9RgKBwnVTiRQQgwF4I4UFDQQEwi6/3YSGWRRmjhEETAJfIgMFCnAKM0KDV4EEEAQLiF18TAYNXDaSe3x6mjidN1s3IQAh+QQACgACACwAAAAAEAAQAAAFeCAgAgLZDGU5jgRECEUiCI+yioSDwDJyLKsXoHFQxBSHAoAAFBhqtMJg8DgQBgfrEsJAEAg4YhZIEiwgKtHiMBgtpg3wbUZXGO7kOb1MUKRFMysCChAoggJCIg0GC2aNe4gqQldfL4l/Ag1AXySJgn5LcoE3QXI3IQAh+QQACgADACwAAAAAEAAQAAAFdiAgAgLZNGU5joQhCEjxIssqEo8bC9BRjy9Ag7GILQ4QEoE0gBAEBcOpcBA0DoxSK/e8LRIHn+i1cK0IyKdg0VAoljYIg+GgnRrwVS/8IAkICyosBIQpBAMoKy9dImxPhS+GKkFrkX+TigtLlIyKXUF+NjagNiEAIfkEAAoABAAsAAAAABAAEAAABWwgIAICaRhlOY4EIgjH8R7LKhKHGwsMvb4AAy3WODBIBBKCsYA9TjuhDNDKEVSERezQEL0WrhXucRUQGuik7bFlngzqVW9LMl9XWvLdjFaJtDFqZ1cEZUB0dUgvL3dgP4WJZn4jkomWNpSTIyEAIfkEAAoABQAsAAAAABAAEAAABX4gIAICuSxlOY6CIgiD8RrEKgqGOwxwUrMlAoSwIzAGpJpgoSDAGifDY5kopBYDlEpAQBwevxfBtRIUGi8xwWkDNBCIwmC9Vq0aiQQDQuK+VgQPDXV9hCJjBwcFYU5pLwwHXQcMKSmNLQcIAExlbH8JBwttaX0ABAcNbWVbKyEAIfkEAAoABgAsAAAAABAAEAAABXkgIAICSRBlOY7CIghN8zbEKsKoIjdFzZaEgUBHKChMJtRwcWpAWoWnifm6ESAMhO8lQK0EEAV3rFopIBCEcGwDKAqPh4HUrY4ICHH1dSoTFgcHUiZjBhAJB2AHDykpKAwHAwdzf19KkASIPl9cDgcnDkdtNwiMJCshACH5BAAKAAcALAAAAAAQABAAAAV3ICACAkkQZTmOAiosiyAoxCq+KPxCNVsSMRgBsiClWrLTSWFoIQZHl6pleBh6suxKMIhlvzbAwkBWfFWrBQTxNLq2RG2yhSUkDs2b63AYDAoJXAcFRwADeAkJDX0AQCsEfAQMDAIPBz0rCgcxky0JRWE1AmwpKyEAIfkEAAoACAAsAAAAABAAEAAABXkgIAICKZzkqJ4nQZxLqZKv4NqNLKK2/Q4Ek4lFXChsg5ypJjs1II3gEDUSRInEGYAw6B6zM4JhrDAtEosVkLUtHA7RHaHAGJQEjsODcEg0FBAFVgkQJQ1pAwcDDw8KcFtSInwJAowCCA6RIwqZAgkPNgVpWndjdyohACH5BAAKAAkALAAAAAAQABAAAAV5ICACAimc5KieLEuUKvm2xAKLqDCfC2GaO9eL0LABWTiBYmA06W6kHgvCqEJiAIJiu3gcvgUsscHUERm+kaCxyxa+zRPk0SgJEgfIvbAdIAQLCAYlCj4DBw0IBQsMCjIqBAcPAooCBg9pKgsJLwUFOhCZKyQDA3YqIQAh+QQACgAKACwAAAAAEAAQAAAFdSAgAgIpnOSonmxbqiThCrJKEHFbo8JxDDOZYFFb+A41E4H4OhkOipXwBElYITDAckFEOBgMQ3arkMkUBdxIUGZpEb7kaQBRlASPg0FQQHAbEEMGDSVEAA1QBhAED1E0NgwFAooCDWljaQIQCE5qMHcNhCkjIQAh+QQACgALACwAAAAAEAAQAAAFeSAgAgIpnOSoLgxxvqgKLEcCC65KEAByKK8cSpA4DAiHQ/DkKhGKh4ZCtCyZGo6F6iYYPAqFgYy02xkSaLEMV34tELyRYNEsCQyHlvWkGCzsPgMCEAY7Cg04Uk48LAsDhRA8MVQPEF0GAgqYYwSRlycNcWskCkApIyEAOwAAAAAAAAAAAA==);background-repeat:no-repeat}.leaflet-control-layer-container,.leaflet-control-loading,.leaflet-control-zoom a.leaflet-control-loading,.leaflet-control-zoomslider a.leaflet-control-loading{display:none}.leaflet-control-layer-container.is-loading,.leaflet-control-loading.is-loading,.leaflet-control-zoom a.leaflet-control-loading.is-loading,.leaflet-control-zoomslider a.leaflet-control-loading.is-loading{display:block}.leaflet-bar-part-bottom{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-container .leaflet-control-search{position:relative;float:left;background:#fff;color:#1978cf;border:2px solid rgba(0,0,0,.2);background-clip:padding-box;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;background-color:hsla(0,0%,100%,.8);z-index:1000;margin-left:10px;margin-top:10px}.leaflet-control-search.search-exp{background:#fff;border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-control-search .search-input{display:block;float:left;background:#fff;border:1px solid #666;border-radius:2px;height:22px;padding:0 20px 0 2px;margin:4px 0 4px 4px}.leaflet-control-search.search-load .search-input{background:url(images/leaflet-search/imagesloader.gif) no-repeat 100% #fff}.leaflet-control-search.search-load .search-cancel{visibility:hidden}.leaflet-control-search .search-cancel{display:block;width:22px;height:22px;position:absolute;right:28px;margin:6px 0;background:url(images/leaflet-search/imagessearch-icon.png) no-repeat 0 -46px;text-decoration:none;filter:alpha(opacity=80);opacity:.8}.leaflet-control-search .search-cancel:hover{filter:alpha(opacity=100);opacity:1}.leaflet-control-search .search-cancel span{display:none;font-size:18px;line-height:20px;color:#ccc;font-weight:700}.leaflet-control-search .search-cancel:hover span{color:#aaa}.leaflet-control-search .search-button{display:block;float:left;width:30px;height:30px;background:url(images/leaflet-search/imagessearch-icon.png) no-repeat 4px 4px #fff;border-radius:4px}.leaflet-control-search .search-button:hover{background:url(images/leaflet-search/imagessearch-icon.png) no-repeat 4px -20px #fafafa}.leaflet-control-search .search-tooltip{position:absolute;top:100%;left:0;float:left;list-style:none;padding-left:0;min-width:120px;max-height:122px;box-shadow:1px 1px 6px rgba(0,0,0,.4);background-color:rgba(0,0,0,.25);z-index:1010;overflow-y:auto;overflow-x:hidden;cursor:pointer}.leaflet-control-search .search-tip{margin:2px;padding:2px 4px;display:block;color:#000;background:#eee;border-radius:.25em;text-decoration:none;white-space:nowrap;vertical-align:center}.leaflet-control-search .search-button:hover{background-color:#f4f4f4}.leaflet-control-search .search-tip-select,.leaflet-control-search .search-tip:hover{background-color:#fff}.leaflet-control-search .search-alert{cursor:pointer;clear:both;font-size:.75em;margin-bottom:5px;padding:0 .25em;color:#e00;font-weight:700;border-radius:.25em}.leaflet-control-resizer-corner-e,.leaflet-control-resizer-corner-s,.leaflet-control-resizer-corner-se{z-index:1000;position:absolute}.leaflet-control-resizer-corner-e{right:0;height:100%}.leaflet-control-resizer-corner-s{bottom:0;width:100%}.leaflet-control-resizer-corner-se{right:0;bottom:0}.leaflet-control-resizer-transparent{background-color:transparent;user-select:none;transition:.5s}.leaflet-control-resizer-transparent:after{border-color:transparent;transition:.5s}.leaflet-control-resizer-opaque,.leaflet-control-resizer-transparent-fakedhover,.leaflet-control-resizer-transparent:hover{background-color:rgba(255,250,170,.8)}.leaflet-control-resizer-opaque:after,.leaflet-control-resizer-transparent-fakedhover:after,.leaflet-control-resizer-transparent:hover:after{border-color:rgba(85,85,85,.9)}.leaflet-control-resizer-e{width:25px;height:50px;border-top-left-radius:25px;border-bottom-left-radius:25px;cursor:e-resize;right:0;top:50%;transform:translateY(-50%)}.leaflet-control-resizer-s{width:50px;height:25px;border-top-left-radius:25px;border-top-right-radius:25px;cursor:s-resize;left:50%;bottom:0;transform:translateX(-50%)}.leaflet-control-resizer-se{width:35px;height:35px;border-top-left-radius:35px;cursor:se-resize;right:0;bottom:0;position:absolute}.leaflet-control-resizer-e:after,.leaflet-control-resizer-s:after,.leaflet-control-resizer-se:after{content:"";position:absolute;z-index:999;border-width:1px;bottom:20%;right:20%}.leaflet-control-resizer-e:after,.leaflet-control-resizer-s:after{width:60%;height:60%}.leaflet-control-resizer-se:after{width:40%;height:40%}.leaflet-control-resizer-e:after,.leaflet-control-resizer-se:after{border-right-style:solid}.leaflet-control-resizer-s:after,.leaflet-control-resizer-se:after{border-bottom-style:solid}.leaflet-visualclick-icon{border-radius:100%;pointer-events:none}.leaflet-visualclick-icon:after{height:60px;width:60px;margin-left:-30px;margin-top:-30px;-webkit-animation:visualclick-pulsate .7s ease-out;animation:visualclick-pulsate .7s ease-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-delay:0s;animation-delay:0s}.leaflet-visualclick-icon-touch:after,.leaflet-visualclick-icon:after{content:"";border-radius:100%;position:absolute;pointer-events:none;box-shadow:inset 0 0 25px -1px #e1e3e4,0 0 10px -1px #c5c5c5;opacity:0}.leaflet-visualclick-icon-touch:after{height:140px;width:140px;margin-left:-70px;margin-top:-70px;-webkit-animation:visualclick-pulsate-touch .7s ease-out;animation:visualclick-pulsate-touch .7s ease-out;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes visualclick-pulsate{0%{-webkit-transform:scale(.5);transform:scale(.5);opacity:1}to{-webkit-transform:scale(1.3);transform:scale(1.3);opacity:0}}@keyframes visualclick-pulsate{0%{-webkit-transform:scale(.5);transform:scale(.5);opacity:1}to{-webkit-transform:scale(1.3);transform:scale(1.3);opacity:0}}@-webkit-keyframes visualclick-pulsate-touch{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.8}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}@keyframes visualclick-pulsate-touch{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.8}to{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}}.leaflet-pane.leaflet-ie10-visual-click-pane-pane{z-index:300}.leaflet-control-locate a .leaflet-control-locate-location-arrow{mask-image:url(https://unpkg.com/@raruto/leaflet-elevation@0.3.9/images/elevation-locate.png)}.leaflet-control-minimap.leaflet-control{cursor:pointer}.leaflet-control-layers-inline .leaflet-control-layers-base span{line-height:1}.leaflet-control-zoom~.leaflet-control-scale.leaflet-control{clear:both;margin:0}.leaflet-control-scale-line{line-height:1}.leaflet-control-scale~.leaflet-control-attribution.leaflet-control{clear:none}.leaflet-right .leaflet-control-search{float:right;margin-left:0;margin-top:0}.leaflet-control-search .search-input{width:215px}.leaflet-control-search .search-tooltip{width:260px}.leaflet-container:not(.leaflet-touch) .leaflet-control-search .search-button{width:26px;height:26px;background-position:2.5px 2.5px}.leaflet-container:not(.leaflet-touch) .leaflet-control-search{border:none;box-shadow:0 1px 5px rgba(0,0,0,.65)}.leaflet-container:not(.leaflet-touch) .leaflet-control-search.search-exp .search-button{margin:4px 0 0}.leaflet-control-easyPrint .leaflet-control-easyPrint-button-export{background-image:url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cGF0aCBkPSJNMTI4LDMyaDI1NnY2NEgxMjhWMzJ6IE00ODAsMTI4SDMyYy0xNy42LDAtMzIsMTQuNC0zMiwzMnYxNjBjMCwxNy42LDE0LjM5OCwzMiwzMiwzMmg5NnYxMjhoMjU2VjM1Mmg5NiAgIGMxNy42LDAsMzItMTQuNCwzMi0zMlYxNjBDNTEyLDE0Mi40LDQ5Ny42LDEyOCw0ODAsMTI4eiBNMzUyLDQ0OEgxNjBWMjg4aDE5MlY0NDh6IE00ODcuMTk5LDE3NmMwLDEyLjgxMy0xMC4zODcsMjMuMi0yMy4xOTcsMjMuMiAgIGMtMTIuODEyLDAtMjMuMjAxLTEwLjM4Ny0yMy4yMDEtMjMuMnMxMC4zODktMjMuMiwyMy4xOTktMjMuMkM0NzYuODE0LDE1Mi44LDQ4Ny4xOTksMTYzLjE4Nyw0ODcuMTk5LDE3NnoiIGZpbGw9IiMwMDAwMDAiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);background-size:16px 16px;cursor:pointer}.leaflet-control-resizer-opaque,.leaflet-control-resizer-transparent-fakedhover,.leaflet-control-resizer-transparent:hover{background-color:#fff;border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-control-resizer-s,.leaflet-control-resizer-se{border-bottom:none!important}.leaflet-control-resizer-e,.leaflet-control-resizer-se{border-right:none!important}.leaflet-control-resizer-opaque:after,.leaflet-control-resizer-transparent-fakedhover:after,.leaflet-control-resizer-transparent:hover:after{border-width:2px}.leaflet-control-resizer-corner-e,.leaflet-control-resizer-corner-s,.leaflet-control-resizer-corner-se{pointer-events:none} \ No newline at end of file diff --git a/core/vendor/geolocation/leaflet/leaflet-ui.js b/core/vendor/geolocation/leaflet/leaflet-ui.js deleted file mode 100644 index 7f6d560..0000000 --- a/core/vendor/geolocation/leaflet/leaflet-ui.js +++ /dev/null @@ -1,39 +0,0 @@ -!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";!function(t,e){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(module.exports=t(require("leaflet"))),void 0!==e&&e.L&&t(e.L)}((function(t){return t.locales={},t.locale=null,t.registerLocale=function(e,i){t.locales[e]=t.Util.extend({},t.locales[e],i)},t.setLocale=function(e){t.locale=e},t.i18n=t._=function(e,i){t.locale&&t.locales[t.locale]&&t.locales[t.locale][e]&&(e=t.locales[t.locale][e]);try{e=t.Util.template(e,i)}catch(t){}return e}}),window);const t=L.extend({},L.DomUtil);L.extend(L.DomUtil,{setTransform:function(e,i,o,n,s){var a=i||new L.Point(0,0);if(!n)return i=a._round(),t.setTransform.call(this,e,i,o);a=a.rotateFrom(n,s),e.style[L.DomUtil.TRANSFORM]="translate3d("+a.x+"px,"+a.y+"px,0)"+(o?" scale("+o+")":"")+" rotate("+n+"rad)"},setPosition:function(e,i,o,n){if(!o)return t.setPosition.call(this,e,i);e._leaflet_pos=i,L.Browser.any3d?L.DomUtil.setTransform(e,i,void 0,o,n):(e.style.left=i.x+"px",e.style.top=i.y+"px")},DEG_TO_RAD:Math.PI/180,RAD_TO_DEG:180/Math.PI}),L.Draggable.include({updateMapBearing:function(t){this._mapBearing=t}}),L.extend(L.Point.prototype,{rotate:function(t){if(!t)return this;var e=Math.sin(t),i=Math.cos(t);return new L.Point(this.x*i-this.y*e,this.x*e+this.y*i)},rotateFrom:function(t,e){if(!t)return this;var i=Math.sin(t),o=Math.cos(t),n=e.x,s=e.y,a=this.x-n,r=this.y-s;return new L.Point(a*o-r*i+n,a*i+r*o+s)}});const e=L.extend({},L.DivOverlay.prototype);L.DivOverlay.include({getEvents:function(){return L.extend(e.getEvents.call(this),{rotate:this._updatePosition})},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=L.point(this.options.offset),i=this._getAnchor();this._zoomAnimated?(this._map._rotate&&(t=this._map.rotatedPointToMapPanePoint(t)),L.DomUtil.setPosition(this._container,t.add(i))):e=e.add(t).add(i);var o=this._containerBottom=-e.y,n=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=o+"px",this._container.style.left=n+"px"}}});const i=L.extend({},L.Popup.prototype);L.Popup.include({_animateZoom:function(t){this._map._rotate||i._animateZoom.call(this,t);var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),o=this._getAnchor();e=this._map.rotatedPointToMapPanePoint(e),L.DomUtil.setPosition(this._container,e.add(o))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,e=parseInt(L.DomUtil.getStyle(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,o=this._containerWidth,n=new L.Point(this._containerLeft,-i-this._containerBottom);n._add(L.DomUtil.getPosition(this._container));var s=n._add(this._map._getMapPanePos()),a=L.point(this.options.autoPanPadding),r=L.point(this.options.autoPanPaddingTopLeft||a),l=L.point(this.options.autoPanPaddingBottomRight||a),h=t.getSize(),c=0,p=0;s.x+o+l.x>h.x&&(c=s.x+o-h.x+l.x),s.x-c-r.x<0&&(c=s.x-r.x),s.y+i+l.y>h.y&&(p=s.y+i-h.y+l.y),s.y-p-r.y<0&&(p=s.y-r.y),(c||p)&&t.fire("autopanstart").panBy([c,p])}}});const o=L.extend({},L.Tooltip.prototype);L.Tooltip.include({_updatePosition:function(){if(!this._map._rotate)return o._updatePosition.call(this);var t=this._map.latLngToLayerPoint(this._latlng);t=this._map.rotatedPointToMapPanePoint(t),this._setPosition(t)},_animateZoom:function(t){if(!this._map._rotate)return o._animateZoom.call(this,t);var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);e=this._map.rotatedPointToMapPanePoint(e),this._setPosition(e)}});L.extend({},L.Icon.prototype);var n;L.Icon.include({_setIconStyles:function(t,e){var i=this.options,o=i[e+"Size"];"number"==typeof o&&(o=[o,o]);var n=L.point(o),s=L.point("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px",t.style[L.DomUtil.TRANSFORM+"Origin"]=s.x+"px "+s.y+"px 0px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")}});var s={_onDragStart:function(){if(!this._marker._map._rotate)return n._onDragStart.call(this);this._draggable.updateMapBearing(this._marker._map._bearing)},_onDrag:function(t){var e=this._marker,i=e.options.rotation||e.options.rotateWithView,o=e._shadow,n=L.DomUtil.getPosition(e._icon);!i&&o&&L.DomUtil.setPosition(o,n),e._map._rotate&&(n=e._map.mapPanePointToRotatedPoint(n));var s=e._map.layerPointToLatLng(n);e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,i?e.setLatLng(s):e.fire("move",t),e.fire("drag",t)},_onDragEnd:function(t){this._marker._map._rotate&&this._marker.update(),n._onDragEnd.call(this,t)}};const a=L.extend({},L.Marker.prototype);L.Marker.mergeOptions({rotation:0,rotateWithView:!1}),L.Marker.include({getEvents:function(){return L.extend(a.getEvents.call(this),{rotate:this.update})},onAdd:function(t){a.onAdd.call(this,t),t.on("rotate",this.update,this)},_initInteraction:function(){var t=a._initInteraction.call(this);return this.dragging&&this.dragging.enabled()&&this._map&&this._map._rotate&&(n=n||Object.getPrototypeOf(this.dragging),this.dragging._onDragStart=s._onDragStart.bind(this.dragging),this.dragging._onDrag=s._onDrag.bind(this.dragging),this.dragging._onDragEnd=s._onDragEnd.bind(this.dragging),this.dragging.disable(),this.dragging.enable()),t},_setPos:function(t){this._map._rotate&&(t=this._map.rotatedPointToMapPanePoint(t));var e=this.options.rotation||0;this.options.rotateWithView&&(e+=this._map._bearing),L.DomUtil.setPosition(this._icon,t,e,t),this._shadow&&L.DomUtil.setPosition(this._shadow,t,e,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){if(!this._map._rotate)return a._updateZIndex.call(this,t);this._icon.style.zIndex=Math.round(this._zIndex+t)},setRotation:function(t){this.options.rotation=t,this.update()}});const r=L.extend({},L.GridLayer.prototype);L.GridLayer.include({getEvents:function(){var t=r.getEvents.call(this);return this._map._rotate&&!this.options.updateWhenIdle&&(this._onRotate||(this._onRotate=L.Util.throttle(this._onMoveEnd,this.options.updateInterval,this)),t.rotate=this._onRotate),t},_getTiledPixelBounds:function(t){if(!this._map._rotate)return r._getTiledPixelBounds.call(this,t);var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),o=e.getZoomScale(i,this._tileZoom),n=e.project(t,this._tileZoom).floor(),s=e.getSize(),a=new L.Bounds([e.containerPointToLayerPoint([0,0]).floor(),e.containerPointToLayerPoint([s.x,0]).floor(),e.containerPointToLayerPoint([0,s.y]).floor(),e.containerPointToLayerPoint([s.x,s.y]).floor()]).getSize().divideBy(2*o);return new L.Bounds(n.subtract(a),n.add(a))}});const l=L.extend({},L.Canvas.prototype);L.Canvas.include({onAdd:function(){l.onAdd.call(this),this._map.on("rotate",this._redraw,this)},onRemove:function(){l.onRemove.call(this),this._map.off("rotate",this._redraw,this)},_update:function(){l._update.call(this),this.fire("update")}});const h=L.extend({},L.Renderer.prototype);L.Renderer.include({onAdd:function(){h.onAdd.call(this)},onRemove:function(){h.onRemove.call(this)},_updateTransform:function(t,e){if(!this._map._rotate)return h._updateTransform.call(this,t,e);var i=this._map.getZoomScale(e,this._zoom),o=this._map._latLngToNewLayerPoint(this._topLeft,e,t);L.Browser.any3d?L.DomUtil.setTransform(this._container,o,i):L.DomUtil.setPosition(this._container,o)},_update:function(){if(!this._map._rotate)return h._update.call(this);var t=this.options.padding,e=this._map,i=this._map.getSize(),o=i.multiplyBy(-t),n=i.multiplyBy(1+t),s=new L.Bounds([e.containerPointToLayerPoint([o.x,o.y]).floor(),e.containerPointToLayerPoint([o.x,n.y]).floor(),e.containerPointToLayerPoint([n.x,o.y]).floor(),e.containerPointToLayerPoint([n.x,n.y]).floor()]);this._bounds=s,this._topLeft=this._map.layerPointToLatLng(s.min),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}});const c=L.extend({},L.SVG.prototype);L.SVG.include({_update:function(){c._update.call(this),this._map._rotate&&this.fire("update")}});const p=L.extend({},L.Map.prototype); -/*! - * Based on package 'screenfull' - * v5.2.0 - 2021-11-03 - * (c) Sindre Sorhus; MIT License - * Added definition for using screenfull as an amd module - * Must be placed before the definition of leaflet.fullscreen - * as it is required by that - */var d,u;L.Map.mergeOptions({rotate:!1,bearing:0}),L.Map.include({initialize:function(t,e){e.rotate&&(this._rotate=!0,this._bearing=0),p.initialize.call(this,t,e),this.options.rotate&&this.setBearing(this.options.bearing)},containerPointToLayerPoint:function(t){return this._rotate?L.point(t).subtract(this._getMapPanePos()).rotateFrom(-this._bearing,this._getRotatePanePos()).subtract(this._getRotatePanePos()):p.containerPointToLayerPoint.call(this,t)},getBounds:function(){if(!this._rotate)return p.getBounds.call(this);var t=this.getSize(),e=this.layerPointToLatLng(this.containerPointToLayerPoint([0,0])),i=this.layerPointToLatLng(this.containerPointToLayerPoint([t.x,0])),o=this.layerPointToLatLng(this.containerPointToLayerPoint([t.x,t.y])),n=this.layerPointToLatLng(this.containerPointToLayerPoint([0,t.y]));return new L.LatLngBounds([e,i,o,n])},layerPointToContainerPoint:function(t){return this._rotate?L.point(t).add(this._getRotatePanePos()).rotateFrom(this._bearing,this._getRotatePanePos()).add(this._getMapPanePos()):p.layerPointToContainerPoint.call(this,t)},setBearing:function(t){if(L.Browser.any3d&&this._rotate){var e=this._getRotatePanePos(),i=this.getSize().divideBy(2);this._pivot=this._getMapPanePos().clone().multiplyBy(-1).add(i),e=e.rotateFrom(-this._bearing,this._pivot),this._bearing=t*L.DomUtil.DEG_TO_RAD,this._rotatePanePos=e.rotateFrom(this._bearing,this._pivot),L.DomUtil.setPosition(this._rotatePane,e,this._bearing,this._pivot),this.fire("rotate")}},getBearing:function(){return this._bearing*L.DomUtil.RAD_TO_DEG},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),L.DomUtil.setPosition(this._mapPane,new L.Point(0,0)),this._rotate?(this._rotatePane=this.createPane("rotatePane",this._mapPane),this._norotatePane=this.createPane("norotatePane",this._mapPane),this.createPane("tilePane",this._rotatePane),this.createPane("overlayPane",this._rotatePane),this.createPane("shadowPane",this._norotatePane),this.createPane("markerPane",this._norotatePane),this.createPane("tooltipPane",this._norotatePane),this.createPane("popupPane",this._norotatePane)):(this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane")),this.options.markerZoomAnimation||(L.DomUtil.addClass(t.markerPane,"leaflet-zoom-hide"),L.DomUtil.addClass(t.shadowPane,"leaflet-zoom-hide"))},rotatedPointToMapPanePoint:function(t){return L.point(t).rotate(this._bearing)._add(this._getRotatePanePos())},mapPanePointToRotatedPoint:function(t){return L.point(t)._subtract(this._getRotatePanePos()).rotate(-this._bearing)},_getCenterOffset:function(t){var e=p._getCenterOffset.call(this,t);return this._rotate&&(e=e.rotate(this._bearing)),e},_getRotatePanePos:function(){return this._rotatePanePos||new L.Point(0,0)},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this._rotate||p._getNewPixelOrigin.call(this,t,e),this.project(t,e).rotate(this._bearing)._subtract(i)._add(this._getMapPanePos())._add(this._getRotatePanePos()).rotate(-this._bearing)._round()},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,o=t.coords.heading,n=new L.LatLng(e,i),s=n.toBounds(t.coords.accuracy),a=this._locateOptions;if(a.setView){var r=this.getBoundsZoom(s);this.setView(n,a.maxZoom?Math.min(r,a.maxZoom):r)}var l={latlng:n,bounds:s,timestamp:t.timestamp,heading:o};for(var h in t.coords)"number"==typeof t.coords[h]&&(l[h]=t.coords[h]);this.fire("locationfound",l)}}),L.Map.CompassBearing=L.Handler.extend({initialize:function(t){window.DeviceOrientationEvent?(this._capable=!0,this._map=t,this._throttled=L.Util.throttle(this._onDeviceOrientation,1e3,this)):this._capable=!1},addHooks:function(){this._capable&&this._map._rotate&&L.DomEvent.on(window,"deviceorientation",this._throttled,this)},removeHooks:function(){this._capable&&this._map._rotate&&L.DomEvent.off(window,"deviceorientation",this._throttled,this)},_onDeviceOrientation:function(t){null!==t.alpha&&this._map.setBearing(t.alpha-window.orientation)}}),L.Map.addInitHook("addHandler","compassBearing",L.Map.CompassBearing),L.Map.mergeOptions({trackContainerMutation:!1}),L.Map.ContainerMutation=L.Handler.extend({addHooks:function(){L.Browser.mutation&&(this._observer||(this._observer=new MutationObserver(L.Util.bind(this._onMutation,this))),this._observer.observe(this._map.getContainer(),{childList:!1,attributes:!0,characterData:!1,subtree:!1,attributeFilter:["style"]}))},removeHooks:function(){L.Browser.mutation&&this._observer.disconnect()},_onMutation:function(){this._map.invalidateSize()}}),L.Map.addInitHook("addHandler","trackContainerMutation",L.Map.ContainerMutation),L.Map.mergeOptions({bounceAtZoomLimits:!0}),L.Map.TouchGestures=L.Handler.extend({initialize:function(t){this._map=t,this.rotate=!!this._map.options.touchRotate,this.zoom=!!this._map.options.touchZoom},addHooks:function(){L.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){L.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming&&!this._rotating){var i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]),n=i.subtract(o);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),this.zoom?("center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(o)._divideBy(2))),this._startDist=i.distanceTo(o),this._startZoom=e.getZoom(),this._zooming=!0):this._zooming=!1,this.rotate?(this._startTheta=Math.atan(n.x/n.y),this._startBearing=e.getBearing(),n.y<0&&(this._startBearing+=180),this._rotating=!0):this._rotating=!1,this._moved=!1,e.stop(),L.DomEvent.on(document,"touchmove",this._onTouchMove,this).on(document,"touchend",this._onTouchEnd,this),L.DomEvent.preventDefault(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&(this._zooming||this._rotating)){var e,i=this._map,o=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]),s=o.subtract(n),a=o.distanceTo(n)/this._startDist;if(this._rotating){var r=(Math.atan(s.x/s.y)-this._startTheta)*L.DomUtil.RAD_TO_DEG;s.y<0&&(r+=180),r&&i.setBearing(this._startBearing-r)}if(this._zooming)if(this._zoom=i.getScaleZoom(a,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoomi.getMaxZoom()&&a>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===a)return}else{if(e=o._add(n)._divideBy(2)._subtract(this._centerPoint),1===a&&0===e.x&&0===e.y)return;var l=-i.getBearing()*L.DomUtil.DEG_TO_RAD;this._center=i.unproject(i.project(this._pinchStartLatLng).subtract(e.rotate(l)))}this._moved||(i._moveStart(!0),this._moved=!0),L.Util.cancelAnimFrame(this._animRequest);var h=L.bind(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=L.Util.requestAnimFrame(h,this,!0),L.DomEvent.preventDefault(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,this._rotating=!1,L.Util.cancelAnimFrame(this._animRequest),L.DomEvent.off(document,"touchmove",this._onTouchMove).off(document,"touchend",this._onTouchEnd),this.zoom&&(this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.snapZoom):this._map._resetView(this._center,this._map._limitZoom(this._zoom)))):this._zooming=!1}}),L.Map.addInitHook("addHandler","touchGestures",L.Map.TouchGestures),L.Map.mergeOptions({touchRotate:!1}),L.Map.TouchRotate=L.Handler.extend({addHooks:function(){this._map.touchGestures.enable(),this._map.touchGestures.rotate=!0},removeHooks:function(){this._map.touchGestures.rotate=!1}}),L.Map.addInitHook("addHandler","touchRotate",L.Map.TouchRotate),L.Map.mergeOptions({shiftKeyRotate:!0}),L.Map.ShiftKeyRotate=L.Handler.extend({addHooks:function(){L.DomEvent.on(this._map._container,"wheel",this._handleShiftScroll,this),this._map.shiftKeyRotate.rotate=!0},removeHooks:function(){L.DomEvent.off(this._map._container,"wheel",this._handleShiftScroll,this),this._map.shiftKeyRotate.rotate=!1},_handleShiftScroll:function(t){t.shiftKey?(t.preventDefault(),this._map.scrollWheelZoom.disable(),this._map.setBearing(this._map._bearing*L.DomUtil.RAD_TO_DEG+5*Math.sign(t.deltaY))):this._map.scrollWheelZoom.enable()}}),L.Map.addInitHook("addHandler","shiftKeyRotate",L.Map.ShiftKeyRotate),L.Map.addInitHook((function(){this.scrollWheelZoom.enabled()&&this.shiftKeyRotate.enabled()&&(this.scrollWheelZoom.disable(),this.scrollWheelZoom.enable())})),L.Map.mergeOptions({touchZoom:L.Browser.touch&&!L.Browser.android23,bounceAtZoomLimits:!1}),L.Map.TouchZoom=L.Handler.extend({addHooks:function(){L.DomUtil.addClass(this._map._container,"leaflet-touch-zoom"),this._map.touchGestures.enable(),this._map.touchGestures.zoom=!0},removeHooks:function(){L.DomUtil.removeClass(this._map._container,"leaflet-touch-zoom"),this._map.touchGestures.zoom=!1}}),L.Map.addInitHook("addHandler","touchZoom",L.Map.TouchZoom),L.Control.Rotate=L.Control.extend({options:{position:"topleft",closeOnZeroBearing:!0},onAdd:function(t){this._onDeviceOrientation=L.Util.throttle(this._unthrottledOnDeviceOrientation,100,this);var e=this._container=L.DomUtil.create("div","leaflet-control-rotate leaflet-bar"),i=this._arrow=L.DomUtil.create("span","leaflet-control-rotate-arrow");i.style.backgroundImage="url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\")",i.style.cursor="grab",i.style.display="block",i.style.width="100%",i.style.height="100%",i.style.backgroundRepeat="no-repeat",i.style.backgroundPosition="50%";var o=this._link=L.DomUtil.create("a","leaflet-control-rotate-toggle",e);return o.appendChild(i),o.href="#",o.title="Rotate map",L.DomEvent.on(o,"dblclick",L.DomEvent.stopPropagation).on(o,"mousedown",this._handleMouseDown,this).on(o,"click",L.DomEvent.stop).on(o,"click",this._cycleState,this).on(o,"click",this._refocusOnMap,this),L.Browser.any3d||L.DomUtil.addClass(o,"leaflet-disabled"),this._restyle(),t.on("rotate",this._restyle.bind(this)),this._follow=!1,this._canFollow=!1,this.options.closeOnZeroBearing&&0===t.getBearing()&&(e.style.display="none"),e},_handleMouseDown:function(t){L.DomEvent.stopPropagation(t),this.dragging=!0,this.dragstartX=t.pageX,this.dragstartY=t.pageY,L.DomEvent.on(document,"mousemove",this._handleMouseDrag,this).on(document,"mouseup",this._handleMouseUp,this)},_handleMouseUp:function(t){L.DomEvent.stopPropagation(t),this.dragging=!1,L.DomEvent.off(document,"mousemove",this._handleMouseDrag,this).off(document,"mouseup",this._handleMouseUp,this)},_handleMouseDrag:function(t){if(this.dragging){var e=t.clientX-this.dragstartX;this._map.setBearing(e)}},_cycleState:function(t){var e=this._map;e&&(e.touchRotate.enabled()||e.compassBearing.enabled()?e.compassBearing.enabled()?(e.compassBearing.disable(),e.setBearing(0),this.options.closeOnZeroBearing&&e.touchRotate.enable()):(e.touchRotate.disable(),e.compassBearing.enable()):e.touchRotate.enable(),this._restyle())},_restyle:function(){if(this._map.options.rotate){var t=this._map,e=t.getBearing();this.options.closeOnZeroBearing&&e&&(this._container.style.display="block");var i="rotate("+e+"deg)";this._arrow.style.transform=i,t.compassBearing.enabled()?this._link.style.backgroundColor="orange":t.touchRotate.enabled()?this._link.style.backgroundColor=null:(this._link.style.backgroundColor="grey",this.options.closeOnZeroBearing&&0===t.getBearing()&&(this._container.style.display="none"))}else L.DomUtil.addClass(this._link,"leaflet-disabled")}}),L.control.rotate=function(t){return new L.Control.Rotate(t)},L.Map.mergeOptions({rotateControl:!0}),L.Map.addInitHook((function(){if(this.options.rotateControl){var t="object"==typeof this.options.rotateControl?this.options.rotateControl:{};this.rotateControl=L.control.rotate(t),this.addControl(this.rotateControl)}})), -/*! - Copyright (c) 2016 Dominik Moritz - - This file is part of the leaflet locate control. It is licensed under the MIT license. - You can find the project at: https://github.com/domoritz/leaflet-locatecontrol - */ -function(t,e){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(void 0!==e&&e.L?module.exports=t(L):module.exports=t(require("leaflet"))),void 0!==e&&e.L&&(e.L.Control.Locate=t(L))}((function(t){const e=(e,i,o)=>{(o=o.split(" ")).forEach((function(o){t.DomUtil[e].call(this,i,o)}))},i=(t,i)=>e("addClass",t,i),o=(t,i)=>e("removeClass",t,i),n=t.Marker.extend({initialize(e,i){t.Util.setOptions(this,i),this._latlng=e,this.createIcon()},createIcon(){const e=this.options;let i="";void 0!==e.color&&(i+=`stroke:${e.color};`),void 0!==e.weight&&(i+=`stroke-width:${e.weight};`),void 0!==e.fillColor&&(i+=`fill:${e.fillColor};`),void 0!==e.fillOpacity&&(i+=`fill-opacity:${e.fillOpacity};`),void 0!==e.opacity&&(i+=`opacity:${e.opacity};`);const o=this._getIconSVG(e,i);this._locationIcon=t.divIcon({className:o.className,html:o.svg,iconSize:[o.w,o.h]}),this.setIcon(this._locationIcon)},_getIconSVG(t,e){const i=t.radius,o=i+t.weight,n=2*o;return{className:"leaflet-control-locate-location",svg:`',w:n,h:n}},setStyle(e){t.Util.setOptions(this,e),this.createIcon()}}),s=n.extend({initialize(e,i,o){t.Util.setOptions(this,o),this._latlng=e,this._heading=i,this.createIcon()},setHeading(t){this._heading=t},_getIconSVG(t,e){const i=t.radius,o=t.width+t.weight,n=2*(i+t.depth+t.weight),s=`M0,0 l${t.width/2},${t.depth} l-${o},0 z`;return{className:"leaflet-control-locate-heading",svg:`',w:o,h:n}}}),a=t.Control.extend({options:{position:"topleft",layer:void 0,setView:"untilPanOrZoom",keepCurrentZoomLevel:!1,initialZoomLevel:!1,getLocationBounds:t=>t.bounds,flyTo:!1,clickBehavior:{inView:"stop",outOfView:"setView",inViewNotFollowing:"inView"},returnToPrevBounds:!1,cacheLocation:!0,drawCircle:!0,drawMarker:!0,showCompass:!0,markerClass:n,compassClass:s,circleStyle:{className:"leaflet-control-locate-circle",color:"#136AEC",fillColor:"#136AEC",fillOpacity:.15,weight:0},markerStyle:{className:"leaflet-control-locate-marker",color:"#fff",fillColor:"#2A93EE",fillOpacity:1,weight:3,opacity:1,radius:9},compassStyle:{fillColor:"#2A93EE",fillOpacity:1,weight:0,color:"#fff",opacity:1,radius:9,width:9,depth:6},followCircleStyle:{},followMarkerStyle:{},followCompassStyle:{},icon:"leaflet-control-locate-location-arrow",iconLoading:"leaflet-control-locate-spinner",iconElementTag:"span",textElementTag:"small",circlePadding:[0,0],metric:!0,createButtonCallback(e,i){const o=t.DomUtil.create("a","leaflet-bar-part leaflet-bar-part-single",e);o.title=i.strings.title,o.href="#",o.setAttribute("role","button");const n=t.DomUtil.create(i.iconElementTag,i.icon,o);if(void 0!==i.strings.text){t.DomUtil.create(i.textElementTag,"leaflet-locate-text",o).textContent=i.strings.text,o.classList.add("leaflet-locate-text-active"),o.parentNode.style.display="flex",i.icon.length>0&&n.classList.add("leaflet-locate-icon")}return{link:o,icon:n}},onLocationError(t,e){alert(t.message)},onLocationOutsideMapBounds(t){t.stop(),alert(t.options.strings.outsideMapBoundsMsg)},showPopup:!0,strings:{title:"Show me where I am",metersUnit:"meters",feetUnit:"feet",popup:"You are within {distance} {unit} from this point",outsideMapBoundsMsg:"You seem located outside the boundaries of the map"},locateOptions:{maxZoom:1/0,watch:!0,setView:!1}},initialize(e){for(const i in e)"object"==typeof this.options[i]?t.extend(this.options[i],e[i]):this.options[i]=e[i];this.options.followMarkerStyle=t.extend({},this.options.markerStyle,this.options.followMarkerStyle),this.options.followCircleStyle=t.extend({},this.options.circleStyle,this.options.followCircleStyle),this.options.followCompassStyle=t.extend({},this.options.compassStyle,this.options.followCompassStyle)},onAdd(e){const i=t.DomUtil.create("div","leaflet-control-locate leaflet-bar leaflet-control");this._container=i,this._map=e,this._layer=this.options.layer||new t.LayerGroup,this._layer.addTo(e),this._event=void 0,this._compassHeading=null,this._prevBounds=null;const o=this.options.createButtonCallback(i,this.options);return this._link=o.link,this._icon=o.icon,t.DomEvent.on(this._link,"click",(function(e){t.DomEvent.stopPropagation(e),t.DomEvent.preventDefault(e),this._onClick()}),this).on(this._link,"dblclick",t.DomEvent.stopPropagation),this._resetVariables(),this._map.on("unload",this._unload,this),i},_onClick(){this._justClicked=!0;const t=this._isFollowing();if(this._userPanned=!1,this._userZoomed=!1,this._active&&!this._event)this.stop();else if(this._active){const e=this.options.clickBehavior;let i=e.outOfView;switch(this._map.getBounds().contains(this._event.latlng)&&(i=t?e.inView:e.inViewNotFollowing),e[i]&&(i=e[i]),i){case"setView":this.setView();break;case"stop":if(this.stop(),this.options.returnToPrevBounds){(this.options.flyTo?this._map.flyToBounds:this._map.fitBounds).bind(this._map)(this._prevBounds)}}}else this.options.returnToPrevBounds&&(this._prevBounds=this._map.getBounds()),this.start();this._updateContainerStyle()},start(){this._activate(),this._event&&(this._drawMarker(this._map),this.options.setView&&this.setView()),this._updateContainerStyle()},stop(){this._deactivate(),this._cleanClasses(),this._resetVariables(),this._removeMarker()},stopFollowing(){this._userPanned=!0,this._updateContainerStyle(),this._drawMarker()},_activate(){if(!this._active&&(this._map.locate(this.options.locateOptions),this._map.fire("locateactivate",this),this._active=!0,this._map.on("locationfound",this._onLocationFound,this),this._map.on("locationerror",this._onLocationError,this),this._map.on("dragstart",this._onDrag,this),this._map.on("zoomstart",this._onZoom,this),this._map.on("zoomend",this._onZoomEnd,this),this.options.showCompass)){const e="ondeviceorientationabsolute"in window;if(e||"ondeviceorientation"in window){const i=this,o=function(){t.DomEvent.on(window,e?"deviceorientationabsolute":"deviceorientation",i._onDeviceOrientation,i)};DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then((function(t){"granted"===t&&o()})):o()}}},_deactivate(){this._map.stopLocate(),this._map.fire("locatedeactivate",this),this._active=!1,this.options.cacheLocation||(this._event=void 0),this._map.off("locationfound",this._onLocationFound,this),this._map.off("locationerror",this._onLocationError,this),this._map.off("dragstart",this._onDrag,this),this._map.off("zoomstart",this._onZoom,this),this._map.off("zoomend",this._onZoomEnd,this),this.options.showCompass&&(this._compassHeading=null,"ondeviceorientationabsolute"in window?t.DomEvent.off(window,"deviceorientationabsolute",this._onDeviceOrientation,this):"ondeviceorientation"in window&&t.DomEvent.off(window,"deviceorientation",this._onDeviceOrientation,this))},setView(){if(this._drawMarker(),this._isOutsideMapBounds())this._event=void 0,this.options.onLocationOutsideMapBounds(this);else if(this._justClicked&&!1!==this.options.initialZoomLevel)(e=this.options.flyTo?this._map.flyTo:this._map.setView).bind(this._map)([this._event.latitude,this._event.longitude],this.options.initialZoomLevel);else if(this.options.keepCurrentZoomLevel){(e=this.options.flyTo?this._map.flyTo:this._map.panTo).bind(this._map)([this._event.latitude,this._event.longitude])}else{var e=this.options.flyTo?this._map.flyToBounds:this._map.fitBounds;this._ignoreEvent=!0,e.bind(this._map)(this.options.getLocationBounds(this._event),{padding:this.options.circlePadding,maxZoom:this.options.initialZoomLevel||this.options.locateOptions.maxZoom}),t.Util.requestAnimFrame((function(){this._ignoreEvent=!1}),this)}},_drawCompass(){if(!this._event)return;const t=this._event.latlng;if(this.options.showCompass&&t&&null!==this._compassHeading){const e=this._isFollowing()?this.options.followCompassStyle:this.options.compassStyle;this._compass?(this._compass.setLatLng(t),this._compass.setHeading(this._compassHeading),this._compass.setStyle&&this._compass.setStyle(e)):this._compass=new this.options.compassClass(t,this._compassHeading,e).addTo(this._layer)}!this._compass||this.options.showCompass&&null!==this._compassHeading||(this._compass.removeFrom(this._layer),this._compass=null)},_drawMarker(){void 0===this._event.accuracy&&(this._event.accuracy=0);const e=this._event.accuracy,i=this._event.latlng;if(this.options.drawCircle){const o=this._isFollowing()?this.options.followCircleStyle:this.options.circleStyle;this._circle?this._circle.setLatLng(i).setRadius(e).setStyle(o):this._circle=t.circle(i,e,o).addTo(this._layer)}let o,n;if(this.options.metric?(o=e.toFixed(0),n=this.options.strings.metersUnit):(o=(3.2808399*e).toFixed(0),n=this.options.strings.feetUnit),this.options.drawMarker){const t=this._isFollowing()?this.options.followMarkerStyle:this.options.markerStyle;this._marker?(this._marker.setLatLng(i),this._marker.setStyle&&this._marker.setStyle(t)):this._marker=new this.options.markerClass(i,t).addTo(this._layer)}this._drawCompass();const s=this.options.strings.popup;function a(){return"string"==typeof s?t.Util.template(s,{distance:o,unit:n}):"function"==typeof s?s({distance:o,unit:n}):s}this.options.showPopup&&s&&this._marker&&this._marker.bindPopup(a())._popup.setLatLng(i),this.options.showPopup&&s&&this._compass&&this._compass.bindPopup(a())._popup.setLatLng(i)},_removeMarker(){this._layer.clearLayers(),this._marker=void 0,this._circle=void 0},_unload(){this.stop(),this._map.off("unload",this._unload,this)},_setCompassHeading(e){!isNaN(parseFloat(e))&&isFinite(e)?(e=Math.round(e),this._compassHeading=e,t.Util.requestAnimFrame(this._drawCompass,this)):this._compassHeading=null},_onCompassNeedsCalibration(){this._setCompassHeading()},_onDeviceOrientation(t){this._active&&(t.webkitCompassHeading?this._setCompassHeading(t.webkitCompassHeading):t.absolute&&t.alpha&&this._setCompassHeading(360-t.alpha))},_onLocationError(t){3==t.code&&this.options.locateOptions.watch||(this.stop(),this.options.onLocationError(t,this))},_onLocationFound(t){if((!this._event||this._event.latlng.lat!==t.latlng.lat||this._event.latlng.lng!==t.latlng.lng||this._event.accuracy!==t.accuracy)&&this._active){switch(this._event=t,this._drawMarker(),this._updateContainerStyle(),this.options.setView){case"once":this._justClicked&&this.setView();break;case"untilPan":this._userPanned||this.setView();break;case"untilPanOrZoom":this._userPanned||this._userZoomed||this.setView();break;case"always":this.setView()}this._justClicked=!1}},_onDrag(){this._event&&!this._ignoreEvent&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_onZoom(){this._event&&!this._ignoreEvent&&(this._userZoomed=!0,this._updateContainerStyle(),this._drawMarker())},_onZoomEnd(){this._event&&this._drawCompass(),this._event&&!this._ignoreEvent&&this._marker&&!this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_isFollowing(){return!!this._active&&("always"===this.options.setView||("untilPan"===this.options.setView?!this._userPanned:"untilPanOrZoom"===this.options.setView?!this._userPanned&&!this._userZoomed:void 0))},_isOutsideMapBounds(){return void 0!==this._event&&(this._map.options.maxBounds&&!this._map.options.maxBounds.contains(this._event.latlng))},_updateContainerStyle(){this._container&&(this._active&&!this._event?this._setClasses("requesting"):this._isFollowing()?this._setClasses("following"):this._active?this._setClasses("active"):this._cleanClasses())},_setClasses(t){"requesting"==t?(o(this._container,"active following"),i(this._container,"requesting"),o(this._icon,this.options.icon),i(this._icon,this.options.iconLoading)):"active"==t?(o(this._container,"requesting following"),i(this._container,"active"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)):"following"==t&&(o(this._container,"requesting"),i(this._container,"active following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon))},_cleanClasses(){t.DomUtil.removeClass(this._container,"requesting"),t.DomUtil.removeClass(this._container,"active"),t.DomUtil.removeClass(this._container,"following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)},_resetVariables(){this._active=!1,this._justClicked=!1,this._userPanned=!1,this._userZoomed=!1}});return t.control.locate=e=>new t.Control.Locate(e),a}),window),d="undefined"!=typeof self?self:window,u=function(){var t="undefined"!=typeof window&&void 0!==window.document?window.document:{},e=function(){for(var e,i=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],o=0,n=i.length,s={};oGoogle',pane:"overlayPane",type:null},pano:{enableCloseButton:!0,fullscreenControl:!1,imageDateControl:!0},marker:{draggable:!0,icon:L.icon({className:"pegman-marker",iconSize:[52,52],iconAnchor:[24,33],iconUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAFElEQVR4XgXAAQ0AAABAMP1L30IDCPwC/o5WcS4AAAAASUVORK5CYII="})}},__interactURL:"https://unpkg.com/interactjs@1.2.9/dist/interact.min.js",__gmapsURL:"https://maps.googleapis.com/maps/api/js?v=3",__mutantURL:"https://unpkg.com/leaflet.gridlayer.googlemutant@0.10.0/Leaflet.GoogleMutant.js",initialize:function(t){void 0!==t.logging&&(t.debug=t.logging),L.Util.setOptions(this,t),this._mousePos={direction:{},old:{}},this._pegmanMarkerCoords=null,this._streetViewCoords=null,this._streetViewLayerEnabled=!1,this._dropzoneMapOpts={accept:".draggable",overlap:.75,ondropactivate:L.bind(this.onDropZoneActivated,this),ondragenter:L.bind(this.onDropZoneDragEntered,this),ondragleave:L.bind(this.onDropZoneDragLeaved,this),ondrop:L.bind(this.onDropZoneDropped,this),ondropdeactivate:L.bind(this.onDropZoneDeactivated,this)},this._draggableMarkerOpts={inertia:!1,onmove:L.bind(this.onDraggableMove,this),onend:L.bind(this.onDraggableEnd,this)},this._lazyLoaderAdded=!1},onAdd:function(t){return this._map=t,this._container=L.DomUtil.create("div","leaflet-pegman pegman-control leaflet-bar"),this._pegman=L.DomUtil.create("div","pegman draggable drag-drop",this._container),this._pegmanButton=L.DomUtil.create("div","pegman-button",this._container),this._pegmanMarker=L.marker([0,0],this.options.marker),this._panoDiv=this.options.panoDiv?document.querySelector(this.options.panoDiv):L.DomUtil.create("div","",this._map._container),L.DomUtil.addClass(this._panoDiv,"pano-canvas"),L.DomUtil.addClass(this._map._container,this.options.theme),L.DomEvent.disableClickPropagation(this._panoDiv),L.DomEvent.on(this._container,"click mousedown dblclick",this._disableClickPropagation,this),this._container.addEventListener("touchstart",this._loadScripts.bind(this,!L.Browser.touch),{once:!0}),this._container.addEventListener("mousedown",this._loadScripts.bind(this,!0),{once:!0}),this._container.addEventListener("mouseover",this._loadScripts.bind(this,!1),{once:!0}),this._loadInteractHandlers(),this._loadGoogleHandlers(),L.DomEvent.on(document,"mousemove",this.mouseMoveTracking,this),L.DomEvent.on(document,"keyup",this.keyUpTracking,this),this._pegmanMarker.on("dragend",this.onPegmanMarkerDragged,this),this._map.on("click",this.onMapClick,this),this._map.on("layeradd",this.onMapLayerAdd,this),this._container},onRemove:function(t){this._googleStreetViewLayer&&this._googleStreetViewLayer.remove(),this._pegmanMarker&&this._pegmanMarker.remove(),L.DomUtil.remove(this._panoDiv),L.DomEvent.off(document,"mousemove",this.mouseMoveTracking,this),L.DomEvent.off(document,"keyup",this.keyUpTracking,this),t.off("mousemove",this._setMouseCursor,this)},_log:function(t){this.options.debug&&console.log(t)},_addClasses:function(t,e){for(var i in e=e.split(" "))L.DomUtil.addClass(t,e[i])},_removeClasses:function(t,e){for(var i in e=e.split(" "))L.DomUtil.removeClass(t,e[i])},_removeAttributes:function(t,e){for(var i in e)t.removeAttribute(e[i])},_insertAfter:function(t,e){t.parentNode.insertBefore(e,t.nextSibling)},_translateElement:function(t,e,i){!1===e&&!1===i&&this._removeAttributes(this._pegman,["style","data-x","data-y"]);var o=(parseFloat(t.getAttribute("data-x"))||0)+e,n=(parseFloat(t.getAttribute("data-y"))||0)+i;t.style.webkitTransform=t.style.transform="translate("+o+"px, "+n+"px)",t.setAttribute("data-x",o),t.setAttribute("data-y",n)},_updateClasses:function(t){switch(t){case"pegman-dragging":this._removeClasses(this._pegman,"dropped"),this._addClasses(this._container,"dragging");break;case"pegman-dragged":this._removeClasses(this._pegman,"can-drop dragged left right active dropped"),this._removeAttributes(this._pegman,["style","data-x","data-y"]);break;case"dropzone-actived":this._addClasses(this._map._container,"drop-active");break;case"dropzone-drag-entered":this._addClasses(this._pegman,"active can-drop"),this._addClasses(this._map._container,"drop-target");break;case"dropzone-drag-leaved":this._removeClasses(this._map._container,"drop-target"),this._removeClasses(this._pegman,"can-drop");break;case"dropzone-drop":this._removeClasses(this._container,"dragging"),this._removeClasses(this._pegman,"active left right"),this._addClasses(this._pegman,"dropped"),this._removeClasses(this._pegman,"can-drop dragged left right active dropped");break;case"dropzone-deactivated":this._removeClasses(this._pegman,"active left right"),this._removeClasses(this._map._container,"drop-active drop-target");break;case"mousemove-top":this._addClasses(this._pegman,"top"),this._removeClasses(this._pegman,"bottom right left");break;case"mousemove-bottom":this._addClasses(this._pegman,"bottom"),this._removeClasses(this._pegman,"top right left");break;case"mousemove-left":this._addClasses(this._pegman,"left"),this._removeClasses(this._pegman,"right top bottom");break;case"mousemove-right":this._addClasses(this._pegman,"right"),this._removeClasses(this._pegman,"left top bottom");break;case"pegman-added":this._addClasses(this._container,"active");break;case"pegman-removed":this._removeClasses(this._container,"active");break;case"streetview-shown":this._addClasses(this._container,"streetview-layer-active");break;case"streetview-hidden":this._removeClasses(this._container,"streetview-layer-active");break;default:throw"Unhandled event:"+t}this.fire("svpc_"+t)},onDraggableMove:function(t){this.mouseMoveTracking(t),this.pegmanRemove(),this._updateClasses("pegman-dragging"),this._translateElement(this._pegman,t.dx,t.dy)},onDraggableEnd:function(t){this._pegmanMarkerCoords=this._map.mouseEventToLatLng(t),this.pegmanAdd(),this.findStreetViewData(this._pegmanMarkerCoords.lat,this._pegmanMarkerCoords.lng),this._updateClasses("pegman-dragged")},onDropZoneActivated:function(t){this._updateClasses("dropzone-actived")},onDropZoneDragEntered:function(t){this.showStreetViewLayer(),this._updateClasses("dropzone-drag-entered")},onDropZoneDragLeaved:function(t){this._updateClasses("dropzone-drag-leaved")},onDropZoneDropped:function(t){this._updateClasses("dropzone-drop"),this._translateElement(this._pegman,!1,!1)},onDropZoneDeactivated:function(t){this._updateClasses("dropzone-deactivated")},onPegmanMarkerDragged:function(t){this._pegmanMarkerCoords=this._pegmanMarker.getLatLng(),this.findStreetViewData(this._pegmanMarkerCoords.lat,this._pegmanMarkerCoords.lng)},onMapClick:function(t){this._streetViewLayerEnabled&&this.findStreetViewData(t.latlng.lat,t.latlng.lng)},onMapLayerAdd:function(t){this._googleStreetViewLayer&&this._googleStreetViewLayer.bringToFront()},onStreetViewPanoramaClose:function(){this.clear()},onPanoramaPositionChanged:function(){var t=this._panorama.getPosition();t=L.latLng(t.lat(),t.lng()),this._map&&!this._map.getBounds().pad(-.05).contains(t)&&this._map.panTo(t),this._pegmanMarker.setLatLng(t)},onPanoramaPovChanged:function(){var t=this._panorama.getPov();this._pegmanMarker.getElement().style.backgroundPosition="0 "+-Math.abs(Math.round(t.heading/22.5)%16*Math.round(835/16))+"px"},clear:function(){this.pegmanRemove(),this.hideStreetViewLayer(),this.closeStreetViewPanorama()},toggleStreetViewLayer:function(t){this._streetViewLayerEnabled?this.clear():this.showStreetViewLayer(),this._log("streetview-layer-toggled")},pegmanAdd:function(){this._pegmanMarker.addTo(this._map),this._pegmanMarker.setLatLng(this._pegmanMarkerCoords),this.findStreetViewData(this._pegmanMarkerCoords.lat,this._pegmanMarkerCoords.lng),this._updateClasses("pegman-added")},pegmanRemove:function(){this._pegmanMarker.removeFrom(this._map),this._updateClasses("pegman-removed")},closeStreetViewPanorama:function(){this._panoDiv.style.display="none"},openStreetViewPanorama:function(){this._panoDiv.style.display="block"},hideStreetViewLayer:function(){this._googleStreetViewLayer&&(this._googleStreetViewLayer.removeFrom(this._map),this._streetViewLayerEnabled=!1,this._updateClasses("streetview-hidden"))},showStreetViewLayer:function(){this._googleStreetViewLayer&&(this._googleStreetViewLayer.addTo(this._map),this._streetViewLayerEnabled=!0,this._updateClasses("streetview-shown"))},findStreetViewData:function(t,e){if("undefined"==typeof google)return this._loadScripts(!0),this.once("svpc_streetview-shown",L.bind(this.findStreetViewData,this,t,e));if(!this._pegmanMarker._map&&this._map)return this._pegmanMarkerCoords=L.latLng(t,e),this.pegmanAdd();this._streetViewCoords=new google.maps.LatLng(t,e);var i=this._map.getZoom(),o=100;o=i<6?5e3:i<10?500:i<15?250:i>=17?50:100,this._streetViewService.getPanoramaByLocation(this._streetViewCoords,o,L.bind(this.processStreetViewServiceData,this))},processStreetViewServiceData:function(t,e){e==google.maps.StreetViewStatus.OK?(this.openStreetViewPanorama(),this._panorama.setPano(t.location.pano),this._panorama.setPov({heading:google.maps.geometry.spherical.computeHeading(t.location.latLng,this._streetViewCoords),pitch:0,zoom:0}),this._panorama.setVisible(!0)):console.warn("Street View data not found for this location.")},mouseMoveTracking:function(t){var e=this._mousePos;t.pageYe.old.y&&(e.direction.y="bottom",this._updateClasses("mousemove-bottom")),t.pageXe.old.x&&(e.direction.x="right",this._updateClasses("mousemove-right")),e.old.x=t.pageX,e.old.y=t.pageY},keyUpTracking:function(t){27==t.keyCode&&(this._log("escape pressed"),this.clear())},_disableClickPropagation:function(t){L.DomEvent.stopPropagation(t),L.DomEvent.preventDefault(t)},_loadGoogleHandlers:function(t){"object"==typeof google&&"object"==typeof google.maps&&"function"==typeof L.GridLayer.GoogleMutant&&(this._initGoogleMaps(t),this._initMouseTracker())},_initGoogleMaps:function(t){this._googleStreetViewLayer=L.gridLayer.googleMutant(this.options.mutant),this._googleStreetViewLayer.addGoogleLayer("StreetViewCoverageLayer"),this._panorama=new google.maps.StreetViewPanorama(this._panoDiv,this.options.pano),this._streetViewService=new google.maps.StreetViewService,this._panorama.addListener("closeclick",L.bind(this.onStreetViewPanoramaClose,this)),this._panorama.addListener("position_changed",L.bind(this.onPanoramaPositionChanged,this)),this._panorama.addListener("pov_changed",L.bind(this.onPanoramaPovChanged,this)),t&&this.showStreetViewLayer()},_initMouseTracker:function(){if(this._googleStreetViewLayer){var t=this._googleStreetViewLayer.getTileSize();this.tileWidth=t.x,this.tileHeight=t.y,this.defaultDraggableCursor=this._map._container.style.cursor,this._map.on("mousemove",this._setMouseCursor,this)}},_setMouseCursor:function(t){var e=this._getTileCoords(t.latlng.lat,t.latlng.lng,this._map.getZoom()),i=this._getTileImage(e),o=this._getTilePixelPoint(i,t.originalEvent),n=this._hasTileData(i,o);this._map._container.style.cursor=n?"pointer":this.defaultDraggableCursor},_getTileCoords:function(t,e,i){return{x:parseInt(Math.floor((e+180)/360*(1<=0},_parseGestureHandlingOptions:function(){var t=this._map.options.gestureHandlingOptions.text||this._map.options.gestureHandlingText||C.text,e=this._map.options.gestureHandlingOptions.duration||this._map.options.gestureHandlingDuration||C.duration,i=L.extend(this._map.options.gestureHandlingOptions,C);return i.text=t,i.duration=e,i},_setGestureHandlingOptions:function(){var t=this._parseGestureHandlingOptions();(this._isLanguageContent(t.text)?Promise.resolve(t.text):this._getLanguageContent(t.locale)).then((t=>{this._map._container.setAttribute("data-gesture-handling-touch-content",t.touch),this._map._container.setAttribute("data-gesture-handling-scroll-content",t.scroll),this._touchWarning=t.touch,this._scrollWarning=t.scroll}))},_getUserLanguage:function(){return navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage},_getLanguageContent:function(t){t=t||this._getUserLanguage()||"en";var e,i=new Promise((t=>{e=t})),o=t=>{var i=t.default||{};i.scroll=this._isMacUser()?i.scrollMac:i.scroll,e(i)};return import(g+"./locales/"+t+".js").then(o).catch((e=>import(g+"./locales/"+t.split("-")[0]+".js").then(o).catch((t=>Promise.resolve({default:m}).then(o))))),i},_handleTouch:function(t){L.DomUtil.hasClass(t.target,"leaflet-interactive")||t.target.closest(".leaflet-control-container")||t.target.closest(".leaflet-popup-pane")?L.DomUtil.hasClass(t.target,"leaflet-interactive")&&"touchmove"===t.type&&1===t.touches.length?this._enableTouchWarning():this._disableTouchWarning():"touchmove"!==t.type&&"touchstart"!==t.type?this._disableTouchWarning():1===t.touches.length?this._enableTouchWarning():(t.preventDefault(),this._disableTouchWarning(),this._enableInteractions())},_enableTouchWarning:function(){this._enableWarning("touch"),this._disableInteractions()},_disableTouchWarning:function(t){clearTimeout(this._isTouching),this._isTouching=setTimeout(L.bind((function(){this._disableWarning("touch")}),this),t||0)},_enableScrollWarning:function(){this._enableWarning("scroll"),this._disableInteraction("scrollWheelZoom")},_disableScrollWarning:function(t){clearTimeout(this._isScrolling),this._isScrolling=setTimeout(L.bind((function(){this._disableWarning("scroll"),this._enableInteraction("scrollWheelZoom")}),this),t||0)},_handleScroll:function(t){this._map.scrollWheelZoom&&this._map.scrollWheelZoom.enabled()&&(t.metaKey||t.ctrlKey||t.shiftKey&&this._map._rotate?(t.preventDefault(),this._disableScrollWarning()):(this._enableScrollWarning(),this._disableScrollWarning(this._map.options.gestureHandlingOptions.duration)))},_handleScrollOnPopup:function(t){L.DomEvent["popupopen"==t.type?"on":"off"](t.popup._contentNode,"wheel",this._handleScroll,this)},_handleMouseOver:function(t){this._enableInteractions()},_handleMouseOut:function(t){w||this._disableInteractions()},_onExitFullscreen:function(){this._map.options.gestureHandling&&this._map.gestureHandling.enable()},_onEnterFullscreen:function(){this._map.options.gestureHandling&&this._map.gestureHandling.disable()}});L.Map.mergeOptions({gestureHandlingOptions:C}),L.Map.addInitHook("addHandler","gestureHandling",M),L.Control.EditInOSM=L.Control.extend({options:{position:"bottomright",editor:!1},_edit:function(){var t=this._map.getCenter(),e=this._map.getZoom(),i=this.options.editor?"&editor="+this.options.editor:"";window.open("http://www.openstreetmap.org/edit?zoom="+e+i+"&lat="+t.lat+"&lon="+t.lng)},onAdd:function(t){var e=L.DomUtil.create("div","leaflet-control-attribution leaflet-edit-osm"),i=L.DomUtil.create("a","",e);return i.href="#",i.innerHTML="✎ Edit",i.title="Edit in OpenStreetMap",L.DomEvent.on(i,"click",L.DomEvent.stopPropagation).on(i,"mousedown",L.DomEvent.stopPropagation).on(i,"dblclick",L.DomEvent.stopPropagation).on(i,"click",L.DomEvent.preventDefault).on(i,"click",L.bind(this._edit,this),this),e}}),L.control.editInOSM=function(t){return new L.Control.EditInOSM(t)}, -/** - * leaflet-control-layers-inline - * - * @author Raruto - * @license GPL-3.0+ - * @link https://github.com/Raruto/leaflet-control-layers-inline - * @desc Leaflet plugin that allows to display inline layers control - */ -_=L.Control.Layers.prototype,f=_.initialize,y=_.onAdd,_.options.inline=!1,L.Control.Layers.include({initialize:function(t,e,i){i.inline&&(i.collapsed=!1),f.call(this,t,e,i)},onAdd:function(t){return y.call(this,t),this.options.inline&&(this.options.collapsed=!1,L.DomUtil.addClass(this._container,"leaflet-control-layers-inline")),this.options.className&&L.DomUtil.addClass(this._container,this.options.className),this._container}}),function(t,e){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(module.exports=t(require("leaflet"))),void 0!==e&&e.L&&(e.L.Control.MiniMap=t(L),e.L.control.minimap=function(t,i){return new e.L.Control.MiniMap(t,i)})}((function(t){var e=t.Control.extend({includes:t.Evented?t.Evented.prototype:t.Mixin.Events,options:{position:"bottomright",toggleDisplay:!1,zoomLevelOffset:-5,zoomLevelFixed:!1,centerFixed:!1,zoomAnimation:!1,autoToggleDisplay:!1,minimized:!1,width:150,height:150,collapsedWidth:19,collapsedHeight:19,aimingRectOptions:{color:"#ff7800",weight:1,clickable:!1},shadowRectOptions:{color:"#000000",weight:1,clickable:!1,opacity:0,fillOpacity:0},strings:{hideText:"Hide MiniMap",showText:"Show MiniMap"},mapOptions:{}},initialize:function(e,i){t.Util.setOptions(this,i),this.options.aimingRectOptions.clickable=!1,this.options.shadowRectOptions.clickable=!1,this._layer=e},onAdd:function(e){this._mainMap=e,this._container=t.DomUtil.create("div","leaflet-control-minimap"),this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",t.DomEvent.disableClickPropagation(this._container),t.DomEvent.on(this._container,"mousewheel",t.DomEvent.stopPropagation);var i={attributionControl:!1,dragging:!this.options.centerFixed,zoomControl:!1,zoomAnimation:this.options.zoomAnimation,autoToggleDisplay:this.options.autoToggleDisplay,touchZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),scrollWheelZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),doubleClickZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),boxZoom:!this._isZoomLevelFixed(),crs:e.options.crs};return i=t.Util.extend(this.options.mapOptions,i),this._miniMap=new t.Map(this._container,i),this._miniMap.addLayer(this._layer),this._mainMapMoving=!1,this._miniMapMoving=!1,this._userToggledDisplay=!1,this._minimized=!1,this.options.toggleDisplay&&this._addToggleButton(),this._miniMap.whenReady(t.Util.bind((function(){this._aimingRect=t.rectangle(this._mainMap.getBounds(),this.options.aimingRectOptions).addTo(this._miniMap),this._shadowRect=t.rectangle(this._mainMap.getBounds(),this.options.shadowRectOptions).addTo(this._miniMap),this._mainMap.on("moveend",this._onMainMapMoved,this),this._mainMap.on("move",this._onMainMapMoving,this),this._miniMap.on("movestart",this._onMiniMapMoveStarted,this),this._miniMap.on("move",this._onMiniMapMoving,this),this._miniMap.on("moveend",this._onMiniMapMoved,this)}),this)),this._container},addTo:function(e){t.Control.prototype.addTo.call(this,e);var i=this.options.centerFixed||this._mainMap.getCenter();return this._miniMap.setView(i,this._decideZoom(!0)),this._setDisplay(this.options.minimized),this},onRemove:function(t){this._mainMap.off("moveend",this._onMainMapMoved,this),this._mainMap.off("move",this._onMainMapMoving,this),this._miniMap.off("moveend",this._onMiniMapMoved,this),this._miniMap.removeLayer(this._layer)},changeLayer:function(t){this._miniMap.removeLayer(this._layer),this._layer=t,this._miniMap.addLayer(this._layer)},_addToggleButton:function(){this._toggleDisplayButton=this.options.toggleDisplay?this._createButton("",this._toggleButtonInitialTitleText(),"leaflet-control-minimap-toggle-display leaflet-control-minimap-toggle-display-"+this.options.position,this._container,this._toggleDisplayButtonClicked,this):void 0,this._toggleDisplayButton.style.width=this.options.collapsedWidth+"px",this._toggleDisplayButton.style.height=this.options.collapsedHeight+"px"},_toggleButtonInitialTitleText:function(){return this.options.minimized?this.options.strings.showText:this.options.strings.hideText},_createButton:function(e,i,o,n,s,a){var r=t.DomUtil.create("a",o,n);r.innerHTML=e,r.href="#",r.title=i;var l=t.DomEvent.stopPropagation;return t.DomEvent.on(r,"click",l).on(r,"mousedown",l).on(r,"dblclick",l).on(r,"click",t.DomEvent.preventDefault).on(r,"click",s,a),r},_toggleDisplayButtonClicked:function(){this._userToggledDisplay=!0,this._minimized?this._restore():this._minimize()},_setDisplay:function(t){t!==this._minimized&&(this._minimized?this._restore():this._minimize())},_minimize:function(){this.options.toggleDisplay?(this._container.style.width=this.options.collapsedWidth+"px",this._container.style.height=this.options.collapsedHeight+"px",this._toggleDisplayButton.className+=" minimized-"+this.options.position,this._toggleDisplayButton.title=this.options.strings.showText):this._container.style.display="none",this._minimized=!0,this._onToggle()},_restore:function(){this.options.toggleDisplay?(this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",this._toggleDisplayButton.className=this._toggleDisplayButton.className.replace("minimized-"+this.options.position,""),this._toggleDisplayButton.title=this.options.strings.hideText):this._container.style.display="block",this._minimized=!1,this._onToggle()},_onMainMapMoved:function(t){if(this._miniMapMoving)this._miniMapMoving=!1;else{var e=this.options.centerFixed||this._mainMap.getCenter();this._mainMapMoving=!0,this._miniMap.setView(e,this._decideZoom(!0)),this._setDisplay(this._decideMinimized())}this._aimingRect.setBounds(this._mainMap.getBounds())},_onMainMapMoving:function(t){this._aimingRect.setBounds(this._mainMap.getBounds())},_onMiniMapMoveStarted:function(t){if(!this.options.centerFixed){var e=this._aimingRect.getBounds(),i=this._miniMap.latLngToContainerPoint(e.getSouthWest()),o=this._miniMap.latLngToContainerPoint(e.getNorthEast());this._lastAimingRectPosition={sw:i,ne:o}}},_onMiniMapMoving:function(e){this.options.centerFixed||!this._mainMapMoving&&this._lastAimingRectPosition&&(this._shadowRect.setBounds(new t.LatLngBounds(this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.sw),this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.ne))),this._shadowRect.setStyle({opacity:1,fillOpacity:.3}))},_onMiniMapMoved:function(t){this._mainMapMoving?this._mainMapMoving=!1:(this._miniMapMoving=!0,this._mainMap.setView(this._miniMap.getCenter(),this._decideZoom(!1)),this._shadowRect.setStyle({opacity:0,fillOpacity:0}))},_isZoomLevelFixed:function(){var t=this.options.zoomLevelFixed;return this._isDefined(t)&&this._isInteger(t)},_decideZoom:function(t){if(this._isZoomLevelFixed())return t?this.options.zoomLevelFixed:this._mainMap.getZoom();if(t)return this._mainMap.getZoom()+this.options.zoomLevelOffset;var e,i=this._miniMap.getZoom()-this._mainMap.getZoom(),o=this._miniMap.getZoom()-this.options.zoomLevelOffset;return i>this.options.zoomLevelOffset&&this._mainMap.getZoom()this._lastMiniMapZoom?(e=this._mainMap.getZoom()+1,this._miniMap.setZoom(this._miniMap.getZoom()-1)):e=this._mainMap.getZoom():e=o,this._lastMiniMapZoom=this._miniMap.getZoom(),e},_decideMinimized:function(){return this._userToggledDisplay?this._minimized:this.options.autoToggleDisplay?!!this._mainMap.getBounds().contains(this._miniMap.getBounds()):this._minimized},_isInteger:function(t){return"number"==typeof t},_isDefined:function(t){return void 0!==t},_onToggle:function(){t.Util.requestAnimFrame((function(){t.DomEvent.on(this._container,"transitionend",this._fireToggleEvents,this),t.Browser.any3d||t.Util.requestAnimFrame(this._fireToggleEvents,this)}),this)},_fireToggleEvents:function(){t.DomEvent.off(this._container,"transitionend",this._fireToggleEvents,this);var e={minimized:this._minimized};this.fire(this._minimized?"minimize":"restore",e),this.fire("toggle",e)}});return t.Map.mergeOptions({miniMapControl:!1}),t.Map.addInitHook((function(){this.options.miniMapControl&&(this.miniMapControl=(new e).addTo(this))})),e}),window),function(){var t=window.console||{error:function(){},warn:function(){}};function e(e){e.Control.Loading=e.Control.extend({options:{delayIndicator:null,position:"topleft",separate:!1,zoomControl:null,spinjs:!1,spin:{lines:7,length:3,width:3,radius:5,rotate:13,top:"83%"}},initialize:function(t){e.setOptions(this,t),this._dataLoaders={},null!==this.options.zoomControl&&(this.zoomControl=this.options.zoomControl)},onAdd:function(i){if(this.options.spinjs&&"function"!=typeof Spinner)return t.error("Leaflet.loading cannot load because you didn't load spin.js (http://fgnass.github.io/spin.js/), even though you set it in options.");this._addLayerListeners(i),this._addMapListeners(i),this.options.separate||this.zoomControl||(i.zoomControl?this.zoomControl=i.zoomControl:i.zoomsliderControl&&(this.zoomControl=i.zoomsliderControl));var o,n="leaflet-control-loading";return this.zoomControl&&!this.options.separate?(o=this.zoomControl._container,n+=" leaflet-bar-part-bottom leaflet-bar-part last",e.DomUtil.addClass(this._getLastControlButton(),"leaflet-bar-part-bottom")):o=e.DomUtil.create("div","leaflet-control-zoom leaflet-control-layer-container leaflet-bar"),this._indicatorContainer=o,this._indicator=e.DomUtil.create("a",n,o),this.options.spinjs&&(this._spinner=new Spinner(this.options.spin).spin(),this._indicator.appendChild(this._spinner.el)),o},onRemove:function(t){this._removeLayerListeners(t),this._removeMapListeners(t)},removeFrom:function(t){return this.zoomControl&&!this.options.separate?(this._container.removeChild(this._indicator),this._map=null,this.onRemove(t),this):e.Control.prototype.removeFrom.call(this,t)},addLoader:function(t){if(this._dataLoaders[t]=!0,this.options.delayIndicator&&!this.delayIndicatorTimeout){var e=this;this.delayIndicatorTimeout=setTimeout((function(){e.updateIndicator(),e.delayIndicatorTimeout=null}),this.options.delayIndicator)}else this.updateIndicator()},removeLoader:function(t){delete this._dataLoaders[t],this.updateIndicator(),this.options.delayIndicator&&this.delayIndicatorTimeout&&!this.isLoading()&&(clearTimeout(this.delayIndicatorTimeout),this.delayIndicatorTimeout=null)},updateIndicator:function(){this.isLoading()?this._showIndicator():this._hideIndicator()},isLoading:function(){return this._countLoaders()>0},_countLoaders:function(){var t,e=0;for(t in this._dataLoaders)this._dataLoaders.hasOwnProperty(t)&&e++;return e},_showIndicator:function(){e.DomUtil.addClass(this._indicator,"is-loading"),e.DomUtil.addClass(this._indicatorContainer,"is-loading"),this.options.separate||(this.zoomControl instanceof e.Control.Zoom?e.DomUtil.removeClass(this._getLastControlButton(),"leaflet-bar-part-bottom"):"function"==typeof e.Control.Zoomslider&&this.zoomControl instanceof e.Control.Zoomslider&&e.DomUtil.removeClass(this.zoomControl._ui.zoomOut,"leaflet-bar-part-bottom"))},_hideIndicator:function(){e.DomUtil.removeClass(this._indicator,"is-loading"),e.DomUtil.removeClass(this._indicatorContainer,"is-loading"),this.options.separate||(this.zoomControl instanceof e.Control.Zoom?e.DomUtil.addClass(this._getLastControlButton(),"leaflet-bar-part-bottom"):"function"==typeof e.Control.Zoomslider&&this.zoomControl instanceof e.Control.Zoomslider&&e.DomUtil.addClass(this.zoomControl._ui.zoomOut,"leaflet-bar-part-bottom"))},_getLastControlButton:function(){for(var t=this.zoomControl._container,e=t.children.length-1;e>0;){var i=t.children[e];if(this._indicator!==i&&0!==i.offsetWidth&&0!==i.offsetHeight)break;e--}return t.children[e]},_handleLoading:function(t){this.addLoader(this.getEventId(t))},_handleBaseLayerChange:function(t){var i=this;t.layer&&t.layer.eachLayer&&"function"==typeof t.layer.eachLayer?t.layer.eachLayer((function(t){i._handleBaseLayerChange({layer:t})})):e.TileLayer.Canvas&&t.layer instanceof e.TileLayer.Canvas||i._handleLoading(t)},_handleLoad:function(t){this.removeLoader(this.getEventId(t))},getEventId:function(t){return t.id?t.id:t.layer?t.layer._leaflet_id:t.target._leaflet_id},_layerAdd:function(e){if(e.layer&&e.layer.on)try{e.layer.on({loading:this._handleLoading,load:this._handleLoad},this)}catch(i){t.warn("L.Control.Loading: Tried and failed to add event handlers to layer",e.layer),t.warn("L.Control.Loading: Full details",i)}},_layerRemove:function(e){if(e.layer&&e.layer.off)try{e.layer.off({loading:this._handleLoading,load:this._handleLoad},this)}catch(i){t.warn("L.Control.Loading: Tried and failed to remove event handlers from layer",e.layer),t.warn("L.Control.Loading: Full details",i)}},_addLayerListeners:function(t){t.eachLayer((function(t){t.on&&t.on({loading:this._handleLoading,load:this._handleLoad},this)}),this),t.on("layeradd",this._layerAdd,this),t.on("layerremove",this._layerRemove,this)},_removeLayerListeners:function(t){t.eachLayer((function(t){t.off&&t.off({loading:this._handleLoading,load:this._handleLoad},this)}),this),t.off("layeradd",this._layerAdd,this),t.off("layerremove",this._layerRemove,this)},_addMapListeners:function(t){t.on({baselayerchange:this._handleBaseLayerChange,dataloading:this._handleLoading,dataload:this._handleLoad,layerremove:this._handleLoad},this)},_removeMapListeners:function(t){t.off({baselayerchange:this._handleBaseLayerChange,dataloading:this._handleLoading,dataload:this._handleLoad,layerremove:this._handleLoad},this)}}),e.Map.addInitHook((function(){this.options.loadingControl&&(this.loadingControl=new e.Control.Loading,this.addControl(this.loadingControl))})),e.Control.loading=function(t){return new e.Control.Loading(t)}}"function"==typeof define&&define.amd?define(["leaflet"],(function(t){e(t)})):e(L)}(),function(t){if("function"==typeof define&&define.amd)define(["leaflet"],t);else if("undefined"!=typeof module)module.exports=t(require("leaflet"));else{if(void 0===window.L)throw"Leaflet must be loaded first";t(window.L)}}((function(t){return t.Control.Search=t.Control.extend({includes:"1"===t.version[0]?t.Evented.prototype:t.Mixin.Events,options:{url:"",layer:null,sourceData:null,jsonpParam:null,propertyLoc:"loc",propertyName:"title",formatData:null,filterData:null,moveToLocation:null,buildTip:null,container:"",zoom:null,minLength:1,initial:!0,casesensitive:!1,autoType:!0,delayType:400,tooltipLimit:-1,tipAutoSubmit:!0,firstTipSubmit:!1,autoResize:!0,collapsed:!0,autoCollapse:!1,autoCollapseTime:1200,textErr:"Location not found",textCancel:"Cancel",textPlaceholder:"Search...",hideMarkerOnCollapse:!1,position:"topleft",marker:{icon:!1,animate:!0,circle:{radius:10,weight:3,color:"#e03",stroke:!0,fill:!1}}},_getPath:function(t,e){var i=e.split("."),o=i.pop(),n=i.length,s=i[0],a=1;if(n>0)for(;(t=t[s])&&a⊗",t.DomEvent.on(o,"click",t.DomEvent.stop,this).on(o,"click",this.cancel,this),o},_createButton:function(e,i){var o=t.DomUtil.create("a",i,this._container);return o.href="#",o.title=e,t.DomEvent.on(o,"click",t.DomEvent.stop,this).on(o,"click",this._handleSubmit,this).on(o,"focus",this.collapseDelayedStop,this).on(o,"blur",this.collapseDelayed,this),o},_createTooltip:function(e){var i=this,o=t.DomUtil.create("ul",e,this._container);return o.style.display="none",t.DomEvent.disableClickPropagation(o).on(o,"blur",this.collapseDelayed,this).on(o,"mousewheel",(function(e){i.collapseDelayedStop(),t.DomEvent.stopPropagation(e)}),this).on(o,"mouseover",(function(t){i.collapseDelayedStop()}),this),o},_createTip:function(e,i){var o;if(this.options.buildTip){if("string"==typeof(o=this.options.buildTip.call(this,e,i))){var n=t.DomUtil.create("div");n.innerHTML=o,o=n.firstChild}}else(o=t.DomUtil.create("li","")).innerHTML=e;return t.DomUtil.addClass(o,"search-tip"),o._text=e,this.options.tipAutoSubmit&&t.DomEvent.disableClickPropagation(o).on(o,"click",t.DomEvent.stop,this).on(o,"click",(function(t){this._input.value=e,this._handleAutoresize(),this._input.focus(),this._hideTooltip(),this._handleSubmit()}),this),o},_getUrl:function(t){return"function"==typeof this.options.url?this.options.url(t):this.options.url},_defaultFilterData:function(t,e){var i,o,n,s={};if(""===(t=t.replace(/[.*+?^${}()|[\]\\]/g,"")))return[];for(var a in i=this.options.initial?"^":"",o=this.options.casesensitive?void 0:"i",n=new RegExp(i+t,o),e)n.test(a)&&(s[a]=e[a]);return s},showTooltip:function(t){if(this._countertips=0,this._tooltip.innerHTML="",this._tooltip.currentSelection=-1,this.options.tooltipLimit)for(var e in t){if(this._countertips===this.options.tooltipLimit)break;this._countertips++,this._tooltip.appendChild(this._createTip(e,t[e]))}return this._countertips>0?(this._tooltip.style.display="block",this._autoTypeTmp&&this._autoType(),this._autoTypeTmp=this.options.autoType):this._hideTooltip(),this._tooltip.scrollTop=0,this._countertips},_hideTooltip:function(){return this._tooltip.style.display="none",this._tooltip.innerHTML="",0},_defaultFormatData:function(e){var i,o=this,n=this.options.propertyName,s=this.options.propertyLoc,a={};if(t.Util.isArray(s))for(i in e)a[o._getPath(e[i],n)]=t.latLng(e[i][s[0]],e[i][s[1]]);else for(i in e)a[o._getPath(e[i],n)]=t.latLng(o._getPath(e[i],s));return a},_recordsFromJsonp:function(e,i){t.Control.Search.callJsonp=i;var o=t.DomUtil.create("script","leaflet-search-jsonp",document.getElementsByTagName("body")[0]),n=t.Util.template(this._getUrl(e)+"&"+this.options.jsonpParam+"=L.Control.Search.callJsonp",{s:e});return o.type="text/javascript",o.src=n,{abort:function(){o.parentNode.removeChild(o)}}},_recordsFromAjax:function(e,i){void 0===window.XMLHttpRequest&&(window.XMLHttpRequest=function(){try{return new ActiveXObject("Microsoft.XMLHTTP.6.0")}catch(t){try{return new ActiveXObject("Microsoft.XMLHTTP.3.0")}catch(t){throw new Error("XMLHttpRequest is not supported")}}});var o=t.Browser.ie&&!window.atob&&document.querySelector?new XDomainRequest:new XMLHttpRequest,n=t.Util.template(this._getUrl(e),{s:e});return o.open("GET",n),o.onload=function(){i(JSON.parse(o.responseText))},o.onreadystatechange=function(){4===o.readyState&&200===o.status&&this.onload()},o.send(),o},_searchInLayer:function(e,i,o){var n,s=this;e instanceof t.Control.Search.Marker||(e instanceof t.Marker||e instanceof t.CircleMarker?s._getPath(e.options,o)?((n=e.getLatLng()).layer=e,i[s._getPath(e.options,o)]=n):s._getPath(e.feature.properties,o)&&((n=e.getLatLng()).layer=e,i[s._getPath(e.feature.properties,o)]=n):e instanceof t.Path||e instanceof t.Polyline||e instanceof t.Polygon?s._getPath(e.options,o)?((n=e.getBounds().getCenter()).layer=e,i[s._getPath(e.options,o)]=n):s._getPath(e.feature.properties,o)&&((n=e.getBounds().getCenter()).layer=e,i[s._getPath(e.feature.properties,o)]=n):e.hasOwnProperty("feature")?e.feature.properties.hasOwnProperty(o)&&(e.getLatLng&&"function"==typeof e.getLatLng?((n=e.getLatLng()).layer=e,i[e.feature.properties[o]]=n):e.getBounds&&"function"==typeof e.getBounds&&((n=e.getBounds().getCenter()).layer=e,i[e.feature.properties[o]]=n)):e instanceof t.LayerGroup&&e.eachLayer((function(t){s._searchInLayer(t,i,o)})))},_recordsFromLayer:function(){var t=this,e={},i=this.options.propertyName;return this._layer.eachLayer((function(o){t._searchInLayer(o,e,i)})),e},_autoType:function(){var t=this._input.value.length,e=this._tooltip.firstChild?this._tooltip.firstChild._text:"",i=e.length;if(0===e.indexOf(this._input.value))if(this._input.value=e,this._handleAutoresize(),this._input.createTextRange){var o=this._input.createTextRange();o.collapse(!0),o.moveStart("character",t),o.moveEnd("character",i),o.select()}else this._input.setSelectionRange?this._input.setSelectionRange(t,i):this._input.selectionStart&&(this._input.selectionStart=t,this._input.selectionEnd=i)},_hideAutoType:function(){var t;if((t=this._input.selection)&&t.empty)t.empty();else if(this._input.createTextRange){(t=this._input.createTextRange()).collapse(!0);var e=this._input.value.length;t.moveStart("character",e),t.moveEnd("character",e),t.select()}else this._input.getSelection&&this._input.getSelection().removeAllRanges(),this._input.selectionStart=this._input.selectionEnd},_handleKeypress:function(t){var e=this;switch(t.keyCode){case 27:this.collapse();break;case 13:(1==this._countertips||this.options.firstTipSubmit&&this._countertips>0)&&-1==this._tooltip.currentSelection&&this._handleArrowSelect(1),this._handleSubmit();break;case 38:this._handleArrowSelect(-1);break;case 40:this._handleArrowSelect(1);break;case 8:case 45:case 46:this._autoTypeTmp=!1;break;case 37:case 39:case 16:case 17:case 35:case 36:break;default:this._input.value.length?this._cancel.style.display="block":this._cancel.style.display="none",this._input.value.length>=this.options.minLength?(clearTimeout(this.timerKeypress),this.timerKeypress=setTimeout((function(){e._fillRecordsCache()}),this.options.delayType)):this._hideTooltip()}this._handleAutoresize()},searchText:function(e){var i=e.charCodeAt(e.length);this._input.value=e,this._input.style.display="block",t.DomUtil.addClass(this._container,"search-exp"),this._autoTypeTmp=!1,this._handleKeypress({keyCode:i})},_fillRecordsCache:function(){var e,i=this,o=this._input.value;this._curReq&&this._curReq.abort&&this._curReq.abort(),t.DomUtil.addClass(this._container,"search-load"),this.options.layer?(this._recordsCache=this._recordsFromLayer(),e=this._filterData(this._input.value,this._recordsCache),this.showTooltip(e),t.DomUtil.removeClass(this._container,"search-load")):(this.options.sourceData?this._retrieveData=this.options.sourceData:this.options.url&&(this._retrieveData=this.options.jsonpParam?this._recordsFromJsonp:this._recordsFromAjax),this._curReq=this._retrieveData.call(this,o,(function(o){i._recordsCache=i._formatData.call(i,o),e=i.options.sourceData?i._filterData(i._input.value,i._recordsCache):i._recordsCache,i.showTooltip(e),t.DomUtil.removeClass(i._container,"search-load")})))},_handleAutoresize:function(){var t;this._input.style.maxWidth!==this._map._container.offsetWidth&&(t=this._map._container.clientWidth,t-=83,this._input.style.maxWidth=t.toString()+"px"),this.options.autoResize&&this._container.offsetWidth+20=i.length-1)t.DomUtil.addClass(i[this._tooltip.currentSelection],"search-tip-select");else if(-1==e&&this._tooltip.currentSelection<=0)this._tooltip.currentSelection=-1;else if("none"!=this._tooltip.style.display){this._tooltip.currentSelection+=e,t.DomUtil.addClass(i[this._tooltip.currentSelection],"search-tip-select"),this._input.value=i[this._tooltip.currentSelection]._text;var n=i[this._tooltip.currentSelection].offsetTop;n+i[this._tooltip.currentSelection].clientHeight>=this._tooltip.scrollTop+this._tooltip.clientHeight?this._tooltip.scrollTop=n-this._tooltip.clientHeight+i[this._tooltip.currentSelection].clientHeight:n<=this._tooltip.scrollTop&&(this._tooltip.scrollTop=n)}},_handleSubmit:function(){if(this._hideAutoType(),this.hideAlert(),this._hideTooltip(),"none"==this._input.style.display)this.expand();else if(""===this._input.value)this.collapse();else{var t=this._getLocation(this._input.value);!1===t?this.showAlert():(this.showLocation(t,this._input.value),this.fire("search:locationfound",{latlng:t,text:this._input.value,layer:t.layer?t.layer:null}))}},_getLocation:function(t){return!!this._recordsCache.hasOwnProperty(t)&&this._recordsCache[t]},_defaultMoveToLocation:function(t,e,i){this.options.zoom?this._map.setView(t,this.options.zoom):this._map.panTo(t)},showLocation:function(t,e){var i=this;return i._map.once("moveend zoomend",(function(e){i._markerSearch&&i._markerSearch.addTo(i._map).setLatLng(t)})),i._moveToLocation(t,e,i._map),i.options.autoCollapse&&i.collapse(),i}}),t.Control.Search.Marker=t.Marker.extend({includes:"1"===t.version[0]?t.Evented.prototype:t.Mixin.Events,options:{icon:new t.Icon.Default,animate:!0,circle:{radius:10,weight:3,color:"#e03",stroke:!0,fill:!1}},initialize:function(e,i){t.setOptions(this,i),!0===i.icon&&(i.icon=new t.Icon.Default),t.Marker.prototype.initialize.call(this,e,i),t.Control.Search.prototype._isObject(this.options.circle)&&(this._circleLoc=new t.CircleMarker(e,this.options.circle))},onAdd:function(e){t.Marker.prototype.onAdd.call(this,e),this._circleLoc&&(e.addLayer(this._circleLoc),this.options.animate&&this.animate())},onRemove:function(e){t.Marker.prototype.onRemove.call(this,e),this._circleLoc&&e.removeLayer(this._circleLoc)},setLatLng:function(e){return t.Marker.prototype.setLatLng.call(this,e),this._circleLoc&&this._circleLoc.setLatLng(e),this},_initIcon:function(){this.options.icon&&t.Marker.prototype._initIcon.call(this)},_removeIcon:function(){this.options.icon&&t.Marker.prototype._removeIcon.call(this)},animate:function(){if(this._circleLoc){var t=this._circleLoc,e=parseInt(t._radius/5),i=this.options.circle.radius,o=2*t._radius,n=0;t._timerAnimLoc=setInterval((function(){o-=e+=n+=.5,t.setRadius(o),o'+t+""})).then((function(t){return''+t+""})).then((function(t){return"data:image/svg+xml;charset=utf-8,"+t}))}(i,e.width||r.width(t),e.height||r.height(t))}))}function o(t,e){function o(t){var i=document.createElement("canvas");if(i.width=e.width||r.width(t),i.height=e.height||r.height(t),e.bgcolor){var o=i.getContext("2d");o.fillStyle=e.bgcolor,o.fillRect(0,0,i.width,i.height)}return i}return i(t,e).then(r.makeImage).then(r.delay(100)).then((function(e){var i=o(t);return i.getContext("2d").drawImage(e,0,0),i}))}function n(t,e,i){return i||!e||e(t)?Promise.resolve(t).then((function(t){return t instanceof HTMLCanvasElement?r.makeImage(t.toDataURL()):t.cloneNode(!1)})).then((function(i){return function(t,e,i){var o=t.childNodes;return 0===o.length?Promise.resolve(e):function(t,e,i){var o=Promise.resolve();return e.forEach((function(e){o=o.then((function(){return n(e,i)})).then((function(e){e&&t.appendChild(e)}))})),o}(e,r.asArray(o),i).then((function(){return e}))}(t,i,e)})).then((function(e){return function(t,e){return e instanceof Element?Promise.resolve().then((function(){!function(t,e){t.cssText?e.cssText=t.cssText:function(t,e){r.asArray(t).forEach((function(i){e.setProperty(i,t.getPropertyValue(i),t.getPropertyPriority(i))}))}(t,e)}(window.getComputedStyle(t),e.style)})).then((function(){function i(i){var o=window.getComputedStyle(t,i),n=o.getPropertyValue("content");if(""!==n&&"none"!==n){var s=r.uid();e.className=e.className+" "+s;var a=document.createElement("style");a.appendChild(function(t,e,i){var o="."+t+":"+e,n=i.cssText?function(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}(i):function(t){return r.asArray(t).map((function(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")})).join("; ")+";"}(i);return document.createTextNode(o+"{"+n+"}")}(s,i,o)),e.appendChild(a)}}[":before",":after"].forEach((function(t){i(t)}))})).then((function(){t instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e.setAttribute("value",t.value)})).then((function(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach((function(t){var i=e.getAttribute(t);i&&e.style.setProperty(t,i)})))})).then((function(){return e})):e}(t,e)})):Promise.resolve()}function s(t){return h.resolveAll().then((function(e){var i=document.createElement("style");return t.appendChild(i),i.appendChild(document.createTextNode(e)),t}))}function a(t){return c.inlineAll(t).then((function(){return t}))}var r=function(){function t(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){var i=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(i.replace("px",""))}return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){var i=t(e).toLowerCase();return function(){var t="application/font-woff",e="image/jpeg";return{woff:t,woff2:t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:e,jpeg:e,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}()[i]||""},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise((function(e){t.toBlob(e)})):function(t){return new Promise((function(e){for(var i=window.atob(t.toDataURL().split(",")[1]),o=i.length,n=new Uint8Array(o),s=0;s0&&this._toggleClasses(this.options.hideClasses);var i="string"!=typeof t?t.target.className:t;if("CurrentSize"===i)return this._printOpertion(i);this.outerContainer=this._createOuterContainer(this.mapContainer),this.originalState.widthWasAuto&&(this.outerContainer.style.width=this.originalState.mapWidth),this._createImagePlaceholder(i)},_createImagePlaceholder:function(t){var e=this;i.toPng(this.mapContainer,{width:parseInt(this.originalState.mapWidth.replace("px")),height:parseInt(this.originalState.mapHeight.replace("px"))}).then((function(i){e.blankDiv=document.createElement("div");var o=e.blankDiv;e.outerContainer.parentElement.insertBefore(o,e.outerContainer),o.className="epHolder",o.style.backgroundImage='url("'+i+'")',o.style.position="absolute",o.style.zIndex=1011,o.style.display="initial",o.style.width=e.originalState.mapWidth,o.style.height=e.originalState.mapHeight,e._resizeAndPrintMap(t)})).catch((function(t){console.error("oops, something went wrong!",t)}))},_resizeAndPrintMap:function(t){this.outerContainer.style.opacity=0;var e=this.options.sizeModes.filter((function(e){return e.className===t}));e=e[0],this.mapContainer.style.width=e.width+"px",this.mapContainer.style.height=e.height+"px",this.mapContainer.style.width>this.mapContainer.style.height?this.orientation="portrait":this.orientation="landscape",this._map.setView(this.originalState.center),this._map.setZoom(this.originalState.zoom),this._map.invalidateSize(),this.options.tileLayer?this._pausePrint(t):this._printOpertion(t)},_pausePrint:function(t){var e=this,i=setInterval((function(){e.options.tileLayer.isLoading()||(clearInterval(i),e._printOpertion(t))}),e.options.tileWait)},_printOpertion:function(t){var e=this,n=this.mapContainer.style.width;(this.originalState.widthWasAuto&&"CurrentSize"===t||this.originalState.widthWasPercentage&&"CurrentSize"===t)&&(n=this.originalState.mapWidth),i.toPng(e.mapContainer,{width:parseInt(n),height:parseInt(e.mapContainer.style.height.replace("px"))}).then((function(t){var i=e._dataURItoBlob(t);e.options.exportOnly?o.saveAs(i,e.options.filename+".png"):e._sendToBrowserPrint(t,e.orientation),e._toggleControls(!0),e._toggleClasses(e.options.hideClasses,!0),e.outerContainer&&(e.originalState.widthWasAuto?e.mapContainer.style.width="auto":e.originalState.widthWasPercentage?e.mapContainer.style.width=e.originalState.percentageWidth:e.mapContainer.style.width=e.originalState.mapWidth,e.mapContainer.style.height=e.originalState.mapHeight,e._removeOuterContainer(e.mapContainer,e.outerContainer,e.blankDiv),e._map.invalidateSize(),e._map.setView(e.originalState.center),e._map.setZoom(e.originalState.zoom)),e._map.fire("easyPrint-finished")})).catch((function(t){console.error("Print operation failed",t)}))},_sendToBrowserPrint:function(t,e){this._page.resizeTo(600,800);var i=this._createNewWindow(t,e,this);this._page.document.body.innerHTML="",this._page.document.write(i),this._page.document.close()},_createSpinner:function(t,e,i){return""+t+"\n
Loading...
'},_createNewWindow:function(t,e,i){return"\n \n