diff --git a/package.json b/package.json
index 3c7c460e..67b5c8d0 100755
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"laravel-mix": "~2.1",
"leaflet": "~1.3",
"leaflet-ajax": "2.1.0",
+ "leaflet-providers": "^1.1.17",
"leaflet-rotatedmarker": "^0.2.0",
"lodash": "4.17.4",
"marked": "0.3.9",
diff --git a/public/assets/admin/js/app.js b/public/assets/admin/js/app.js
index 0eec90e3..a32debe7 100644
--- a/public/assets/admin/js/app.js
+++ b/public/assets/admin/js/app.js
@@ -286,6 +286,13 @@ eval("/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukh
/***/ }),
+/***/ "./node_modules/leaflet-providers/leaflet-providers.js":
+/***/ (function(module, exports, __webpack_require__) {
+
+eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\tif (true) {\n\t\t// AMD. Register as an anonymous module.\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (typeof modules === 'object' && module.exports) {\n\t\t// define a Common JS module that relies on 'leaflet'\n\t\tmodule.exports = factory(require('leaflet'));\n\t} else {\n\t\t// Assume Leaflet is loaded into global object L already\n\t\tfactory(L);\n\t}\n}(this, function (L) {\n\t'use strict';\n\n\tL.TileLayer.Provider = L.TileLayer.extend({\n\t\tinitialize: function (arg, options) {\n\t\t\tvar providers = L.TileLayer.Provider.providers;\n\n\t\t\tvar parts = arg.split('.');\n\n\t\t\tvar providerName = parts[0];\n\t\t\tvar variantName = parts[1];\n\n\t\t\tif (!providers[providerName]) {\n\t\t\t\tthrow 'No such provider (' + providerName + ')';\n\t\t\t}\n\n\t\t\tvar provider = {\n\t\t\t\turl: providers[providerName].url,\n\t\t\t\toptions: providers[providerName].options\n\t\t\t};\n\n\t\t\t// overwrite values in provider from variant.\n\t\t\tif (variantName && 'variants' in providers[providerName]) {\n\t\t\t\tif (!(variantName in providers[providerName].variants)) {\n\t\t\t\t\tthrow 'No such variant of ' + providerName + ' (' + variantName + ')';\n\t\t\t\t}\n\t\t\t\tvar variant = providers[providerName].variants[variantName];\n\t\t\t\tvar variantOptions;\n\t\t\t\tif (typeof variant === 'string') {\n\t\t\t\t\tvariantOptions = {\n\t\t\t\t\t\tvariant: variant\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tvariantOptions = variant.options;\n\t\t\t\t}\n\t\t\t\tprovider = {\n\t\t\t\t\turl: variant.url || provider.url,\n\t\t\t\t\toptions: L.Util.extend({}, provider.options, variantOptions)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar forceHTTP = window.location.protocol === 'file:' || provider.options.forceHTTP;\n\t\t\tif (provider.url.indexOf('//') === 0 && forceHTTP) {\n\t\t\t\tprovider.url = 'http:' + provider.url;\n\t\t\t}\n\n\t\t\t// If retina option is set\n\t\t\tif (provider.options.retina) {\n\t\t\t\t// Check retina screen\n\t\t\t\tif (options.detectRetina && L.Browser.retina) {\n\t\t\t\t\t// The retina option will be active now\n\t\t\t\t\t// But we need to prevent Leaflet retina mode\n\t\t\t\t\toptions.detectRetina = false;\n\t\t\t\t} else {\n\t\t\t\t\t// No retina, remove option\n\t\t\t\t\tprovider.options.retina = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// replace attribution placeholders with their values from toplevel provider attribution,\n\t\t\t// recursively\n\t\t\tvar attributionReplacer = function (attr) {\n\t\t\t\tif (attr.indexOf('{attribution.') === -1) {\n\t\t\t\t\treturn attr;\n\t\t\t\t}\n\t\t\t\treturn attr.replace(/\\{attribution.(\\w*)\\}/,\n\t\t\t\t\tfunction (match, attributionName) {\n\t\t\t\t\t\treturn attributionReplacer(providers[attributionName].options.attribution);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\t\t\tprovider.options.attribution = attributionReplacer(provider.options.attribution);\n\n\t\t\t// Compute final options combining provider options with any user overrides\n\t\t\tvar layerOpts = L.Util.extend({}, provider.options, options);\n\t\t\tL.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);\n\t\t}\n\t});\n\n\t/**\n\t * Definition of providers.\n\t * see http://leafletjs.com/reference.html#tilelayer for options in the options map.\n\t */\n\n\tL.TileLayer.Provider.providers = {\n\t\tOpenStreetMap: {\n\t\t\turl: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution:\n\t\t\t\t\t'© OpenStreetMap'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tMapnik: {},\n\t\t\t\tBlackAndWhite: {\n\t\t\t\t\turl: 'http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tDE: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tFrance: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20,\n\t\t\t\t\t\tattribution: '© Openstreetmap France | {attribution.OpenStreetMap}'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tHOT: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution: '{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tBZH: {\n\t\t\t\t\turl: 'http://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution: '{attribution.OpenStreetMap}, Tiles courtesy of Breton OpenStreetMap Team',\n\t\t\t\t\t\tbounds: [[46.2, -5.5], [50, 0.7]]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tOpenSeaMap: {\n\t\t\turl: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: 'Map data: © OpenSeaMap contributors'\n\t\t\t}\n\t\t},\n\t\tOpenTopoMap: {\n\t\t\turl: '//{s}.tile.opentopomap.org/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 17,\n\t\t\t\tattribution: 'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'\n\t\t\t}\n\t\t},\n\t\tThunderforest: {\n\t\t\turl: '//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'© Thunderforest, {attribution.OpenStreetMap}',\n\t\t\t\tvariant: 'cycle',\n\t\t\t\tapikey: '',\n\t\t\t\tmaxZoom: 22\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tOpenCycleMap: 'cycle',\n\t\t\t\tTransport: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'transport'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTransportDark: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'transport-dark'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tSpinalMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'spinal-map'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tLandscape: 'landscape',\n\t\t\t\tOutdoors: 'outdoors',\n\t\t\t\tPioneer: 'pioneer'\n\t\t\t}\n\t\t},\n\t\tOpenMapSurfer: {\n\t\t\turl: 'http://korona.geog.uni-heidelberg.de/tiles/{variant}/x={x}&y={y}&z={z}',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 20,\n\t\t\t\tvariant: 'roads',\n\t\t\t\tattribution: 'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tRoads: 'roads',\n\t\t\t\tAdminBounds: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'adminb',\n\t\t\t\t\t\tmaxZoom: 19\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tGrayscale: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'roadsg',\n\t\t\t\t\t\tmaxZoom: 19\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tHydda: {\n\t\t\turl: '//{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 18,\n\t\t\t\tvariant: 'full',\n\t\t\t\tattribution: 'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tFull: 'full',\n\t\t\t\tBase: 'base',\n\t\t\t\tRoadsAndLabels: 'roads_and_labels'\n\t\t\t}\n\t\t},\n\t\tMapBox: {\n\t\t\turl: '//api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Imagery from MapBox — ' +\n\t\t\t\t\t'Map data {attribution.OpenStreetMap}',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tid: 'streets',\n\t\t\t\taccessToken: '',\n\t\t\t}\n\t\t},\n\t\tStamen: {\n\t\t\turl: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Map tiles by Stamen Design, ' +\n\t\t\t\t\t'CC BY 3.0 — ' +\n\t\t\t\t\t'Map data {attribution.OpenStreetMap}',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tminZoom: 0,\n\t\t\t\tmaxZoom: 20,\n\t\t\t\tvariant: 'toner',\n\t\t\t\text: 'png'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tToner: 'toner',\n\t\t\t\tTonerBackground: 'toner-background',\n\t\t\t\tTonerHybrid: 'toner-hybrid',\n\t\t\t\tTonerLines: 'toner-lines',\n\t\t\t\tTonerLabels: 'toner-labels',\n\t\t\t\tTonerLite: 'toner-lite',\n\t\t\t\tWatercolor: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'watercolor',\n\t\t\t\t\t\tminZoom: 1,\n\t\t\t\t\t\tmaxZoom: 16\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTerrain: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'terrain',\n\t\t\t\t\t\tminZoom: 0,\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTerrainBackground: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'terrain-background',\n\t\t\t\t\t\tminZoom: 0,\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTopOSMRelief: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'toposm-color-relief',\n\t\t\t\t\t\text: 'jpg',\n\t\t\t\t\t\tbounds: [[22, -132], [51, -56]]\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTopOSMFeatures: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'toposm-features',\n\t\t\t\t\t\tbounds: [[22, -132], [51, -56]],\n\t\t\t\t\t\topacity: 0.9\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tEsri: {\n\t\t\turl: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}',\n\t\t\toptions: {\n\t\t\t\tvariant: 'World_Street_Map',\n\t\t\t\tattribution: 'Tiles © Esri'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tWorldStreetMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tDeLorme: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Specialty/DeLorme_World_Base_Map',\n\t\t\t\t\t\tminZoom: 1,\n\t\t\t\t\t\tmaxZoom: 11,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Copyright: ©2012 DeLorme'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldTopoMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Topo_Map',\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldImagery: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Imagery',\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldTerrain: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Terrain_Base',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: USGS, Esri, TANA, DeLorme, and NPS'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldShadedRelief: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Shaded_Relief',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Source: Esri'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldPhysical: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Physical_Map',\n\t\t\t\t\t\tmaxZoom: 8,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Source: US National Park Service'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tOceanBasemap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Ocean_Basemap',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tNatGeoWorldMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'NatGeo_World_Map',\n\t\t\t\t\t\tmaxZoom: 16,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldGrayCanvas: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Canvas/World_Light_Gray_Base',\n\t\t\t\t\t\tmaxZoom: 16,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tOpenWeatherMap: {\n\t\t\turl: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: 'Map data © OpenWeatherMap',\n\t\t\t\topacity: 0.5\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tClouds: 'clouds',\n\t\t\t\tCloudsClassic: 'clouds_cls',\n\t\t\t\tPrecipitation: 'precipitation',\n\t\t\t\tPrecipitationClassic: 'precipitation_cls',\n\t\t\t\tRain: 'rain',\n\t\t\t\tRainClassic: 'rain_cls',\n\t\t\t\tPressure: 'pressure',\n\t\t\t\tPressureContour: 'pressure_cntr',\n\t\t\t\tWind: 'wind',\n\t\t\t\tTemperature: 'temp',\n\t\t\t\tSnow: 'snow'\n\t\t\t}\n\t\t},\n\t\tHERE: {\n\t\t\t/*\n\t\t\t * HERE maps, formerly Nokia maps.\n\t\t\t * These basemaps are free, but you need an API key. Please sign up at\n\t\t\t * http://developer.here.com/getting-started\n\t\t\t *\n\t\t\t * Note that the base urls contain '.cit' whichs is HERE's\n\t\t\t * 'Customer Integration Testing' environment. Please remove for production\n\t\t\t * envirionments.\n\t\t\t */\n\t\t\turl:\n\t\t\t\t'//{s}.{base}.maps.cit.api.here.com/maptile/2.1/' +\n\t\t\t\t'{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' +\n\t\t\t\t'app_id={app_id}&app_code={app_code}&lg={language}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Map © 1987-2014 HERE',\n\t\t\t\tsubdomains: '1234',\n\t\t\t\tmapID: 'newest',\n\t\t\t\t'app_id': '',\n\t\t\t\t'app_code': '',\n\t\t\t\tbase: 'base',\n\t\t\t\tvariant: 'normal.day',\n\t\t\t\tmaxZoom: 20,\n\t\t\t\ttype: 'maptile',\n\t\t\t\tlanguage: 'eng',\n\t\t\t\tformat: 'png8',\n\t\t\t\tsize: '256'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tnormalDay: 'normal.day',\n\t\t\t\tnormalDayCustom: 'normal.day.custom',\n\t\t\t\tnormalDayGrey: 'normal.day.grey',\n\t\t\t\tnormalDayMobile: 'normal.day.mobile',\n\t\t\t\tnormalDayGreyMobile: 'normal.day.grey.mobile',\n\t\t\t\tnormalDayTransit: 'normal.day.transit',\n\t\t\t\tnormalDayTransitMobile: 'normal.day.transit.mobile',\n\t\t\t\tnormalNight: 'normal.night',\n\t\t\t\tnormalNightMobile: 'normal.night.mobile',\n\t\t\t\tnormalNightGrey: 'normal.night.grey',\n\t\t\t\tnormalNightGreyMobile: 'normal.night.grey.mobile',\n\n\t\t\t\tbasicMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'basetile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmapLabels: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'labeltile',\n\t\t\t\t\t\tformat: 'png'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrafficFlow: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'traffic',\n\t\t\t\t\t\ttype: 'flowtile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcarnavDayGrey: 'carnav.day.grey',\n\t\t\t\thybridDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'hybrid.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thybridDayMobile: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'hybrid.day.mobile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tpedestrianDay: 'pedestrian.day',\n\t\t\t\tpedestrianNight: 'pedestrian.night',\n\t\t\t\tsatelliteDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'satellite.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tterrainDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'terrain.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tterrainDayMobile: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'terrain.day.mobile'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tFreeMapSK: {\n\t\t\turl: 'http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg',\n\t\t\toptions: {\n\t\t\t\tminZoom: 8,\n\t\t\t\tmaxZoom: 16,\n\t\t\t\tsubdomains: '1234',\n\t\t\t\tbounds: [[47.204642, 15.996093], [49.830896, 22.576904]],\n\t\t\t\tattribution:\n\t\t\t\t\t'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk'\n\t\t\t}\n\t\t},\n\t\tMtbMap: {\n\t\t\turl: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'{attribution.OpenStreetMap} & USGS'\n\t\t\t}\n\t\t},\n\t\tCartoDB: {\n\t\t\turl: 'http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: '{attribution.OpenStreetMap} © CartoDB',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tvariant: 'light_all'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tPositron: 'light_all',\n\t\t\t\tPositronNoLabels: 'light_nolabels',\n\t\t\t\tPositronOnlyLabels: 'light_only_labels',\n\t\t\t\tDarkMatter: 'dark_all',\n\t\t\t\tDarkMatterNoLabels: 'dark_nolabels',\n\t\t\t\tDarkMatterOnlyLabels: 'dark_only_labels'\n\t\t\t}\n\t\t},\n\t\tHikeBike: {\n\t\t\turl: 'http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: '{attribution.OpenStreetMap}',\n\t\t\t\tvariant: 'hikebike'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tHikeBike: {},\n\t\t\t\tHillShading: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 15,\n\t\t\t\t\t\tvariant: 'hillshading'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tBasemapAT: {\n\t\t\turl: 'https://maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: 'Datenquelle: basemap.at',\n\t\t\t\tsubdomains: ['', '1', '2', '3', '4'],\n\t\t\t\tformat: 'png',\n\t\t\t\tbounds: [[46.358770, 8.782379], [49.037872, 17.189532]],\n\t\t\t\tvariant: 'geolandbasemap'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tbasemap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20, // currently only in Vienna\n\t\t\t\t\t\tvariant: 'geolandbasemap'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgrau: 'bmapgrau',\n\t\t\t\toverlay: 'bmapoverlay',\n\t\t\t\thighdpi: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'bmaphidpi',\n\t\t\t\t\t\tformat: 'jpeg'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\torthofoto: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20, // currently only in Vienna\n\t\t\t\t\t\tvariant: 'bmaporthofoto30cm',\n\t\t\t\t\t\tformat: 'jpeg'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnlmaps: {\n\t\t\turl: 'https://geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tminZoom: 6,\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tbounds: [[50.5, 3.25], [54, 7.6]],\n\t\t\t\tattribution: 'Kaartgegevens © Kadaster'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\t'standaard': 'brtachtergrondkaart',\n\t\t\t\t'pastel': 'brtachtergrondkaartpastel',\n\t\t\t\t'grijs': 'brtachtergrondkaartgrijs',\n\t\t\t\t'luchtfoto': {\n\t\t\t\t\t'url': 'https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tNASAGIBS: {\n\t\t\turl: '//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' +\n\t\t\t\t\t'(ESDIS) with funding provided by NASA/HQ.',\n\t\t\t\tbounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]],\n\t\t\t\tminZoom: 1,\n\t\t\t\tmaxZoom: 9,\n\t\t\t\tformat: 'jpg',\n\t\t\t\ttime: '',\n\t\t\t\ttilematrixset: 'GoogleMapsCompatible_Level'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor',\n\t\t\t\tModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367',\n\t\t\t\tViirsEarthAtNight2012: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'VIIRS_CityLights_2012',\n\t\t\t\t\t\tmaxZoom: 8\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraLSTDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Land_Surface_Temp_Day',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 7,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraSnowCover: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Snow_Cover',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 8,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraAOD: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Aerosol',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 6,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraChlorophyll: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Chlorophyll_A',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 7,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tNLS: {\n\t\t\t// NLS maps are copyright National library of Scotland.\n\t\t\t// http://maps.nls.uk/projects/api/index.html\n\t\t\t// Please contact NLS for anything other than non-commercial low volume usage\n\t\t\t//\n\t\t\t// Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s\n\t\t\t// z0-9 - 1:1m\n\t\t\t// z10-11 - quarter inch (1:253440)\n\t\t\t// z12-18 - one inch (1:63360)\n\t\t\turl: '//nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg',\n\t\t\toptions: {\n\t\t\t\tattribution: 'National Library of Scotland Historic Maps',\n\t\t\t\tbounds: [[49.6, -12], [61.7, 3]],\n\t\t\t\tminZoom: 1,\n\t\t\t\tmaxZoom: 18,\n\t\t\t\tsubdomains: '0123',\n\t\t\t}\n\t\t},\n\t\tJusticeMap: {\n\t\t\t// Justice Map (http://www.justicemap.org/)\n\t\t\t// Visualize race and income data for your community, county and country.\n\t\t\t// Includes tools for data journalists, bloggers and community activists.\n\t\t\turl: 'http://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: 'Justice Map',\n\t\t\t\t// one of 'county', 'tract', 'block'\n\t\t\t\tsize: 'county',\n\t\t\t\t// Bounds for USA, including Alaska and Hawaii\n\t\t\t\tbounds: [[14, -180], [72, -56]]\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tincome: 'income',\n\t\t\t\tamericanIndian: 'indian',\n\t\t\t\tasian: 'asian',\n\t\t\t\tblack: 'black',\n\t\t\t\thispanic: 'hispanic',\n\t\t\t\tmulti: 'multi',\n\t\t\t\tnonWhite: 'nonwhite',\n\t\t\t\twhite: 'white',\n\t\t\t\tplurality: 'plural'\n\t\t\t}\n\t\t}\n\t};\n\n\tL.tileLayer.provider = function (provider, options) {\n\t\treturn new L.TileLayer.Provider(provider, options);\n\t};\n\n\treturn L;\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanM/ZmE0NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EsMkJBQTJCLG1CQUFtQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWixJQUFJO0FBQ0o7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGNBQWMsRUFBRSxvQ0FBb0MsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGNBQWMsRUFBRSw4QkFBOEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3hEO0FBQ0E7QUFDQSwwQkFBMEIseUJBQXlCLDBCQUEwQjtBQUM3RTtBQUNBLEtBQUs7QUFDTDtBQUNBLGNBQWMsRUFBRSw0QkFBNEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3REO0FBQ0EscUJBQXFCLDBCQUEwQjtBQUMvQztBQUNBLEtBQUs7QUFDTDtBQUNBLDZDQUE2QyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDdkQ7QUFDQSxxQkFBcUIsMEJBQTBCO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsOENBQThDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUN4RDtBQUNBLGtDQUFrQztBQUNsQztBQUNBLEdBQUc7QUFDSDtBQUNBLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQy9DO0FBQ0E7QUFDQSw2QkFBNkIsMEJBQTBCLHVFQUF1RTtBQUM5SDtBQUNBLEdBQUc7QUFDSDtBQUNBLFlBQVksRUFBRSx5QkFBeUIsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxhQUFhLE9BQU87QUFDL0U7QUFDQTtBQUNBLFlBQVksNkRBQTZELDBCQUEwQjtBQUNuRztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EscURBQXFELFFBQVEsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUU7QUFDL0U7QUFDQTtBQUNBO0FBQ0Esb0lBQW9JLFdBQVcsMEJBQTBCO0FBQ3pLLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLFlBQVksRUFBRSw4QkFBOEIsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUNoRTtBQUNBO0FBQ0E7QUFDQSx1SEFBdUgsV0FBVywwQkFBMEI7QUFDNUosSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxvQ0FBb0MsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxtQkFBbUIsWUFBWTtBQUNsRjtBQUNBO0FBQ0EsNkVBQTZFO0FBQzdFLGdCQUFnQiwwQkFBMEI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSx5QkFBeUIsRUFBRSxtQkFBbUIsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUk7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsZ0ZBQWdGO0FBQ2hGLGdCQUFnQiwwQkFBMEI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EseURBQXlELFFBQVEsaUJBQWlCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUM1RjtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsaUJBQWlCLFFBQVE7QUFDbEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRLGtCQUFrQjtBQUNoRTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsaUJBQWlCLFFBQVE7QUFDbEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsaUJBQWlCLFFBQVE7QUFDbEM7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxpQkFBaUIsUUFBUTtBQUNsQztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRO0FBQzlDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRO0FBQzlDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRO0FBQzlDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRO0FBQzlDO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixRQUFRO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGlCQUFpQixFQUFFLDhCQUE4QixRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3JFO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsRUFBRSxFQUFFLEtBQUs7QUFDakIsTUFBTSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTztBQUN6RCxhQUFhLE9BQU8sV0FBVyxTQUFTLEtBQUssU0FBUztBQUN0RDtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0Esa0JBQWtCLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTywwQkFBMEI7QUFDakM7QUFDQSxHQUFHO0FBQ0g7QUFDQSw2Q0FBNkMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3ZEO0FBQ0E7QUFDQSxPQUFPLDBCQUEwQixNQUFNO0FBQ3ZDO0FBQ0EsR0FBRztBQUNIO0FBQ0EsaUJBQWlCLEVBQUUsd0JBQXdCLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDL0Q7QUFDQSxtQkFBbUIsMEJBQTBCLE9BQU87QUFDcEQ7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxpQkFBaUIsRUFBRSxvQkFBb0IsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUMzRDtBQUNBO0FBQ0EsbUJBQW1CLDBCQUEwQjtBQUM3QztBQUNBLElBQUk7QUFDSjtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLHNCQUFzQixFQUFFLHFCQUFxQixRQUFRLG9CQUFvQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPO0FBQzVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EscUVBQXFFLFFBQVEsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDbkc7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEMsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzR0FBc0csRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ2hIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxxREFBcUQsUUFBUSxVQUFVLEtBQUssRUFBRSxlQUFlLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPO0FBQzFIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkge1xuXHRcdC8vIEFNRC4gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIG1vZHVsZS5cblx0XHRkZWZpbmUoWydsZWFmbGV0J10sIGZhY3RvcnkpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBtb2R1bGVzID09PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cykge1xuXHRcdC8vIGRlZmluZSBhIENvbW1vbiBKUyBtb2R1bGUgdGhhdCByZWxpZXMgb24gJ2xlYWZsZXQnXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoJ2xlYWZsZXQnKSk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gQXNzdW1lIExlYWZsZXQgaXMgbG9hZGVkIGludG8gZ2xvYmFsIG9iamVjdCBMIGFscmVhZHlcblx0XHRmYWN0b3J5KEwpO1xuXHR9XG59KHRoaXMsIGZ1bmN0aW9uIChMKSB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHRMLlRpbGVMYXllci5Qcm92aWRlciA9IEwuVGlsZUxheWVyLmV4dGVuZCh7XG5cdFx0aW5pdGlhbGl6ZTogZnVuY3Rpb24gKGFyZywgb3B0aW9ucykge1xuXHRcdFx0dmFyIHByb3ZpZGVycyA9IEwuVGlsZUxheWVyLlByb3ZpZGVyLnByb3ZpZGVycztcblxuXHRcdFx0dmFyIHBhcnRzID0gYXJnLnNwbGl0KCcuJyk7XG5cblx0XHRcdHZhciBwcm92aWRlck5hbWUgPSBwYXJ0c1swXTtcblx0XHRcdHZhciB2YXJpYW50TmFtZSA9IHBhcnRzWzFdO1xuXG5cdFx0XHRpZiAoIXByb3ZpZGVyc1twcm92aWRlck5hbWVdKSB7XG5cdFx0XHRcdHRocm93ICdObyBzdWNoIHByb3ZpZGVyICgnICsgcHJvdmlkZXJOYW1lICsgJyknO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgcHJvdmlkZXIgPSB7XG5cdFx0XHRcdHVybDogcHJvdmlkZXJzW3Byb3ZpZGVyTmFtZV0udXJsLFxuXHRcdFx0XHRvcHRpb25zOiBwcm92aWRlcnNbcHJvdmlkZXJOYW1lXS5vcHRpb25zXG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBvdmVyd3JpdGUgdmFsdWVzIGluIHByb3ZpZGVyIGZyb20gdmFyaWFudC5cblx0XHRcdGlmICh2YXJpYW50TmFtZSAmJiAndmFyaWFudHMnIGluIHByb3ZpZGVyc1twcm92aWRlck5hbWVdKSB7XG5cdFx0XHRcdGlmICghKHZhcmlhbnROYW1lIGluIHByb3ZpZGVyc1twcm92aWRlck5hbWVdLnZhcmlhbnRzKSkge1xuXHRcdFx0XHRcdHRocm93ICdObyBzdWNoIHZhcmlhbnQgb2YgJyArIHByb3ZpZGVyTmFtZSArICcgKCcgKyB2YXJpYW50TmFtZSArICcpJztcblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgdmFyaWFudCA9IHByb3ZpZGVyc1twcm92aWRlck5hbWVdLnZhcmlhbnRzW3ZhcmlhbnROYW1lXTtcblx0XHRcdFx0dmFyIHZhcmlhbnRPcHRpb25zO1xuXHRcdFx0XHRpZiAodHlwZW9mIHZhcmlhbnQgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0dmFyaWFudE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiB2YXJpYW50XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR2YXJpYW50T3B0aW9ucyA9IHZhcmlhbnQub3B0aW9ucztcblx0XHRcdFx0fVxuXHRcdFx0XHRwcm92aWRlciA9IHtcblx0XHRcdFx0XHR1cmw6IHZhcmlhbnQudXJsIHx8IHByb3ZpZGVyLnVybCxcblx0XHRcdFx0XHRvcHRpb25zOiBMLlV0aWwuZXh0ZW5kKHt9LCBwcm92aWRlci5vcHRpb25zLCB2YXJpYW50T3B0aW9ucylcblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0dmFyIGZvcmNlSFRUUCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2ZpbGU6JyB8fCBwcm92aWRlci5vcHRpb25zLmZvcmNlSFRUUDtcblx0XHRcdGlmIChwcm92aWRlci51cmwuaW5kZXhPZignLy8nKSA9PT0gMCAmJiBmb3JjZUhUVFApIHtcblx0XHRcdFx0cHJvdmlkZXIudXJsID0gJ2h0dHA6JyArIHByb3ZpZGVyLnVybDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgcmV0aW5hIG9wdGlvbiBpcyBzZXRcblx0XHRcdGlmIChwcm92aWRlci5vcHRpb25zLnJldGluYSkge1xuXHRcdFx0XHQvLyBDaGVjayByZXRpbmEgc2NyZWVuXG5cdFx0XHRcdGlmIChvcHRpb25zLmRldGVjdFJldGluYSAmJiBMLkJyb3dzZXIucmV0aW5hKSB7XG5cdFx0XHRcdFx0Ly8gVGhlIHJldGluYSBvcHRpb24gd2lsbCBiZSBhY3RpdmUgbm93XG5cdFx0XHRcdFx0Ly8gQnV0IHdlIG5lZWQgdG8gcHJldmVudCBMZWFmbGV0IHJldGluYSBtb2RlXG5cdFx0XHRcdFx0b3B0aW9ucy5kZXRlY3RSZXRpbmEgPSBmYWxzZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvLyBObyByZXRpbmEsIHJlbW92ZSBvcHRpb25cblx0XHRcdFx0XHRwcm92aWRlci5vcHRpb25zLnJldGluYSA9ICcnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIHJlcGxhY2UgYXR0cmlidXRpb24gcGxhY2Vob2xkZXJzIHdpdGggdGhlaXIgdmFsdWVzIGZyb20gdG9wbGV2ZWwgcHJvdmlkZXIgYXR0cmlidXRpb24sXG5cdFx0XHQvLyByZWN1cnNpdmVseVxuXHRcdFx0dmFyIGF0dHJpYnV0aW9uUmVwbGFjZXIgPSBmdW5jdGlvbiAoYXR0cikge1xuXHRcdFx0XHRpZiAoYXR0ci5pbmRleE9mKCd7YXR0cmlidXRpb24uJykgPT09IC0xKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGF0dHI7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGF0dHIucmVwbGFjZSgvXFx7YXR0cmlidXRpb24uKFxcdyopXFx9Lyxcblx0XHRcdFx0XHRmdW5jdGlvbiAobWF0Y2gsIGF0dHJpYnV0aW9uTmFtZSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGF0dHJpYnV0aW9uUmVwbGFjZXIocHJvdmlkZXJzW2F0dHJpYnV0aW9uTmFtZV0ub3B0aW9ucy5hdHRyaWJ1dGlvbik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQpO1xuXHRcdFx0fTtcblx0XHRcdHByb3ZpZGVyLm9wdGlvbnMuYXR0cmlidXRpb24gPSBhdHRyaWJ1dGlvblJlcGxhY2VyKHByb3ZpZGVyLm9wdGlvbnMuYXR0cmlidXRpb24pO1xuXG5cdFx0XHQvLyBDb21wdXRlIGZpbmFsIG9wdGlvbnMgY29tYmluaW5nIHByb3ZpZGVyIG9wdGlvbnMgd2l0aCBhbnkgdXNlciBvdmVycmlkZXNcblx0XHRcdHZhciBsYXllck9wdHMgPSBMLlV0aWwuZXh0ZW5kKHt9LCBwcm92aWRlci5vcHRpb25zLCBvcHRpb25zKTtcblx0XHRcdEwuVGlsZUxheWVyLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcywgcHJvdmlkZXIudXJsLCBsYXllck9wdHMpO1xuXHRcdH1cblx0fSk7XG5cblx0LyoqXG5cdCAqIERlZmluaXRpb24gb2YgcHJvdmlkZXJzLlxuXHQgKiBzZWUgaHR0cDovL2xlYWZsZXRqcy5jb20vcmVmZXJlbmNlLmh0bWwjdGlsZWxheWVyIGZvciBvcHRpb25zIGluIHRoZSBvcHRpb25zIG1hcC5cblx0ICovXG5cblx0TC5UaWxlTGF5ZXIuUHJvdmlkZXIucHJvdmlkZXJzID0ge1xuXHRcdE9wZW5TdHJlZXRNYXA6IHtcblx0XHRcdHVybDogJy8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTksXG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCcmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCI+T3BlblN0cmVldE1hcDwvYT4nXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0TWFwbmlrOiB7fSxcblx0XHRcdFx0QmxhY2tBbmRXaGl0ZToge1xuXHRcdFx0XHRcdHVybDogJ2h0dHA6Ly97c30udGlsZXMud21mbGFicy5vcmcvYnctbWFwbmlrL3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMThcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdERFOiB7XG5cdFx0XHRcdFx0dXJsOiAnLy97c30udGlsZS5vcGVuc3RyZWV0bWFwLmRlL3RpbGVzL29zbWRlL3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMThcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdEZyYW5jZToge1xuXHRcdFx0XHRcdHVybDogJy8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5mci9vc21mci97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdG1heFpvb206IDIwLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICcmY29weTsgT3BlbnN0cmVldG1hcCBGcmFuY2UgfCB7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0nXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRIT1Q6IHtcblx0XHRcdFx0XHR1cmw6ICcvL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAuZnIvaG90L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0sIFRpbGVzIGNvdXJ0ZXN5IG9mIDxhIGhyZWY9XCJodHRwOi8vaG90Lm9wZW5zdHJlZXRtYXAub3JnL1wiIHRhcmdldD1cIl9ibGFua1wiPkh1bWFuaXRhcmlhbiBPcGVuU3RyZWV0TWFwIFRlYW08L2E+J1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0QlpIOiB7XG5cdFx0XHRcdFx0dXJsOiAnaHR0cDovL3RpbGUub3BlbnN0cmVldG1hcC5iemgvYnIve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSwgVGlsZXMgY291cnRlc3kgb2YgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5iemgvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+QnJldG9uIE9wZW5TdHJlZXRNYXAgVGVhbTwvYT4nLFxuXHRcdFx0XHRcdFx0Ym91bmRzOiBbWzQ2LjIsIC01LjVdLCBbNTAsIDAuN11dXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuU2VhTWFwOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8vdGlsZXMub3BlbnNlYW1hcC5vcmcvc2VhbWFyay97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ01hcCBkYXRhOiAmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnNlYW1hcC5vcmdcIj5PcGVuU2VhTWFwPC9hPiBjb250cmlidXRvcnMnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuVG9wb01hcDoge1xuXHRcdFx0dXJsOiAnLy97c30udGlsZS5vcGVudG9wb21hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTcsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnTWFwIGRhdGE6IHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSwgPGEgaHJlZj1cImh0dHA6Ly92aWV3ZmluZGVycGFub3JhbWFzLm9yZ1wiPlNSVE08L2E+IHwgTWFwIHN0eWxlOiAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vb3BlbnRvcG9tYXAub3JnXCI+T3BlblRvcG9NYXA8L2E+ICg8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzMuMC9cIj5DQy1CWS1TQTwvYT4pJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0VGh1bmRlcmZvcmVzdDoge1xuXHRcdFx0dXJsOiAnLy97c30udGlsZS50aHVuZGVyZm9yZXN0LmNvbS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nP2FwaWtleT17YXBpa2V5fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCcmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cudGh1bmRlcmZvcmVzdC5jb20vXCI+VGh1bmRlcmZvcmVzdDwvYT4sIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHZhcmlhbnQ6ICdjeWNsZScsXG5cdFx0XHRcdGFwaWtleTogJzxpbnNlcnQgeW91ciBhcGkga2V5IGhlcmU+Jyxcblx0XHRcdFx0bWF4Wm9vbTogMjJcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRPcGVuQ3ljbGVNYXA6ICdjeWNsZScsXG5cdFx0XHRcdFRyYW5zcG9ydDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd0cmFuc3BvcnQnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRUcmFuc3BvcnREYXJrOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RyYW5zcG9ydC1kYXJrJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0U3BpbmFsTWFwOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3NwaW5hbC1tYXAnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRMYW5kc2NhcGU6ICdsYW5kc2NhcGUnLFxuXHRcdFx0XHRPdXRkb29yczogJ291dGRvb3JzJyxcblx0XHRcdFx0UGlvbmVlcjogJ3Bpb25lZXInXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuTWFwU3VyZmVyOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8va29yb25hLmdlb2cudW5pLWhlaWRlbGJlcmcuZGUvdGlsZXMve3ZhcmlhbnR9L3g9e3h9Jnk9e3l9Jno9e3p9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMjAsXG5cdFx0XHRcdHZhcmlhbnQ6ICdyb2FkcycsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnSW1hZ2VyeSBmcm9tIDxhIGhyZWY9XCJodHRwOi8vZ2lzY2llbmNlLnVuaS1oZC5kZS9cIj5HSVNjaWVuY2UgUmVzZWFyY2ggR3JvdXAgQCBVbml2ZXJzaXR5IG9mIEhlaWRlbGJlcmc8L2E+ICZtZGFzaDsgTWFwIGRhdGEge2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9J1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdFJvYWRzOiAncm9hZHMnLFxuXHRcdFx0XHRBZG1pbkJvdW5kczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdhZG1pbmInLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdEdyYXlzY2FsZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdyb2Fkc2cnLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdEh5ZGRhOiB7XG5cdFx0XHR1cmw6ICcvL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAuc2UvaHlkZGEve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE4LFxuXHRcdFx0XHR2YXJpYW50OiAnZnVsbCcsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnVGlsZXMgY291cnRlc3kgb2YgPGEgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLnNlL1wiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgU3dlZGVuPC9hPiAmbWRhc2g7IE1hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRGdWxsOiAnZnVsbCcsXG5cdFx0XHRcdEJhc2U6ICdiYXNlJyxcblx0XHRcdFx0Um9hZHNBbmRMYWJlbHM6ICdyb2Fkc19hbmRfbGFiZWxzJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0TWFwQm94OiB7XG5cdFx0XHR1cmw6ICcvL2FwaS50aWxlcy5tYXBib3guY29tL3Y0L3tpZH0ve3p9L3t4fS97eX0ucG5nP2FjY2Vzc190b2tlbj17YWNjZXNzVG9rZW59Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246XG5cdFx0XHRcdFx0J0ltYWdlcnkgZnJvbSA8YSBocmVmPVwiaHR0cDovL21hcGJveC5jb20vYWJvdXQvbWFwcy9cIj5NYXBCb3g8L2E+ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0J01hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICdhYmNkJyxcblx0XHRcdFx0aWQ6ICdzdHJlZXRzJyxcblx0XHRcdFx0YWNjZXNzVG9rZW46ICc8aW5zZXJ0IHlvdXIgYWNjZXNzIHRva2VuIGhlcmU+Jyxcblx0XHRcdH1cblx0XHR9LFxuXHRcdFN0YW1lbjoge1xuXHRcdFx0dXJsOiAnLy9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQve3ZhcmlhbnR9L3t6fS97eH0ve3l9LntleHR9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246XG5cdFx0XHRcdFx0J01hcCB0aWxlcyBieSA8YSBocmVmPVwiaHR0cDovL3N0YW1lbi5jb21cIj5TdGFtZW4gRGVzaWduPC9hPiwgJyArXG5cdFx0XHRcdFx0JzxhIGhyZWY9XCJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjBcIj5DQyBCWSAzLjA8L2E+ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0J01hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICdhYmNkJyxcblx0XHRcdFx0bWluWm9vbTogMCxcblx0XHRcdFx0bWF4Wm9vbTogMjAsXG5cdFx0XHRcdHZhcmlhbnQ6ICd0b25lcicsXG5cdFx0XHRcdGV4dDogJ3BuZydcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRUb25lcjogJ3RvbmVyJyxcblx0XHRcdFx0VG9uZXJCYWNrZ3JvdW5kOiAndG9uZXItYmFja2dyb3VuZCcsXG5cdFx0XHRcdFRvbmVySHlicmlkOiAndG9uZXItaHlicmlkJyxcblx0XHRcdFx0VG9uZXJMaW5lczogJ3RvbmVyLWxpbmVzJyxcblx0XHRcdFx0VG9uZXJMYWJlbHM6ICd0b25lci1sYWJlbHMnLFxuXHRcdFx0XHRUb25lckxpdGU6ICd0b25lci1saXRlJyxcblx0XHRcdFx0V2F0ZXJjb2xvcjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd3YXRlcmNvbG9yJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDEsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxNlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VGVycmFpbjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd0ZXJyYWluJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDAsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxOFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VGVycmFpbkJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi1iYWNrZ3JvdW5kJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDAsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxOFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VG9wT1NNUmVsaWVmOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RvcG9zbS1jb2xvci1yZWxpZWYnLFxuXHRcdFx0XHRcdFx0ZXh0OiAnanBnJyxcblx0XHRcdFx0XHRcdGJvdW5kczogW1syMiwgLTEzMl0sIFs1MSwgLTU2XV1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFRvcE9TTUZlYXR1cmVzOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RvcG9zbS1mZWF0dXJlcycsXG5cdFx0XHRcdFx0XHRib3VuZHM6IFtbMjIsIC0xMzJdLCBbNTEsIC01Nl1dLFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC45XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRFc3JpOiB7XG5cdFx0XHR1cmw6ICcvL3NlcnZlci5hcmNnaXNvbmxpbmUuY29tL0FyY0dJUy9yZXN0L3NlcnZpY2VzL3t2YXJpYW50fS9NYXBTZXJ2ZXIvdGlsZS97en0ve3l9L3t4fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9TdHJlZXRfTWFwJyxcblx0XHRcdFx0YXR0cmlidXRpb246ICdUaWxlcyAmY29weTsgRXNyaSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRXb3JsZFN0cmVldE1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IEVzcmksIERlTG9ybWUsIE5BVlRFUSwgVVNHUywgSW50ZXJtYXAsIGlQQywgTlJDQU4sIEVzcmkgSmFwYW4sIE1FVEksIEVzcmkgQ2hpbmEgKEhvbmcgS29uZyksIEVzcmkgKFRoYWlsYW5kKSwgVG9tVG9tLCAyMDEyJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0RGVMb3JtZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdTcGVjaWFsdHkvRGVMb3JtZV9Xb3JsZF9CYXNlX01hcCcsXG5cdFx0XHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTEsXG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5Fc3JpfSAmbWRhc2g7IENvcHlyaWdodDogJmNvcHk7MjAxMiBEZUxvcm1lJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0V29ybGRUb3BvTWFwOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1RvcG9fTWFwJyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdFc3JpLCBEZUxvcm1lLCBOQVZURVEsIFRvbVRvbSwgSW50ZXJtYXAsIGlQQywgVVNHUywgRkFPLCBOUFMsIE5SQ0FOLCBHZW9CYXNlLCBLYWRhc3RlciBOTCwgT3JkbmFuY2UgU3VydmV5LCBFc3JpIEphcGFuLCBNRVRJLCBFc3JpIENoaW5hIChIb25nIEtvbmcpLCBhbmQgdGhlIEdJUyBVc2VyIENvbW11bml0eSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFdvcmxkSW1hZ2VyeToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9JbWFnZXJ5Jyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IEVzcmksIGktY3ViZWQsIFVTREEsIFVTR1MsIEFFWCwgR2VvRXllLCBHZXRtYXBwaW5nLCBBZXJvZ3JpZCwgSUdOLCBJR1AsIFVQUi1FR1AsIGFuZCB0aGUgR0lTIFVzZXIgQ29tbXVuaXR5J1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0V29ybGRUZXJyYWluOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1RlcnJhaW5fQmFzZScsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxMyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IFVTR1MsIEVzcmksIFRBTkEsIERlTG9ybWUsIGFuZCBOUFMnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRXb3JsZFNoYWRlZFJlbGllZjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9TaGFkZWRfUmVsaWVmJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDEzLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2U6IEVzcmknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRXb3JsZFBoeXNpY2FsOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1BoeXNpY2FsX01hcCcsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA4LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2U6IFVTIE5hdGlvbmFsIFBhcmsgU2VydmljZSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdE9jZWFuQmFzZW1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdPY2Vhbl9CYXNlbWFwJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDEzLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2VzOiBHRUJDTywgTk9BQSwgQ0hTLCBPU1UsIFVOSCwgQ1NVTUIsIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERlTG9ybWUsIE5BVlRFUSwgYW5kIEVzcmknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHROYXRHZW9Xb3JsZE1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdOYXRHZW9fV29ybGRfTWFwJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBOYXRpb25hbCBHZW9ncmFwaGljLCBFc3JpLCBEZUxvcm1lLCBOQVZURVEsIFVORVAtV0NNQywgVVNHUywgTkFTQSwgRVNBLCBNRVRJLCBOUkNBTiwgR0VCQ08sIE5PQUEsIGlQQydcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFdvcmxkR3JheUNhbnZhczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdDYW52YXMvV29ybGRfTGlnaHRfR3JheV9CYXNlJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBFc3JpLCBEZUxvcm1lLCBOQVZURVEnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuV2VhdGhlck1hcDoge1xuXHRcdFx0dXJsOiAnaHR0cDovL3tzfS50aWxlLm9wZW53ZWF0aGVybWFwLm9yZy9tYXAve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cDovL29wZW53ZWF0aGVybWFwLm9yZ1wiPk9wZW5XZWF0aGVyTWFwPC9hPicsXG5cdFx0XHRcdG9wYWNpdHk6IDAuNVxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdENsb3VkczogJ2Nsb3VkcycsXG5cdFx0XHRcdENsb3Vkc0NsYXNzaWM6ICdjbG91ZHNfY2xzJyxcblx0XHRcdFx0UHJlY2lwaXRhdGlvbjogJ3ByZWNpcGl0YXRpb24nLFxuXHRcdFx0XHRQcmVjaXBpdGF0aW9uQ2xhc3NpYzogJ3ByZWNpcGl0YXRpb25fY2xzJyxcblx0XHRcdFx0UmFpbjogJ3JhaW4nLFxuXHRcdFx0XHRSYWluQ2xhc3NpYzogJ3JhaW5fY2xzJyxcblx0XHRcdFx0UHJlc3N1cmU6ICdwcmVzc3VyZScsXG5cdFx0XHRcdFByZXNzdXJlQ29udG91cjogJ3ByZXNzdXJlX2NudHInLFxuXHRcdFx0XHRXaW5kOiAnd2luZCcsXG5cdFx0XHRcdFRlbXBlcmF0dXJlOiAndGVtcCcsXG5cdFx0XHRcdFNub3c6ICdzbm93J1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SEVSRToge1xuXHRcdFx0Lypcblx0XHRcdCAqIEhFUkUgbWFwcywgZm9ybWVybHkgTm9raWEgbWFwcy5cblx0XHRcdCAqIFRoZXNlIGJhc2VtYXBzIGFyZSBmcmVlLCBidXQgeW91IG5lZWQgYW4gQVBJIGtleS4gUGxlYXNlIHNpZ24gdXAgYXRcblx0XHRcdCAqIGh0dHA6Ly9kZXZlbG9wZXIuaGVyZS5jb20vZ2V0dGluZy1zdGFydGVkXG5cdFx0XHQgKlxuXHRcdFx0ICogTm90ZSB0aGF0IHRoZSBiYXNlIHVybHMgY29udGFpbiAnLmNpdCcgd2hpY2hzIGlzIEhFUkUnc1xuXHRcdFx0ICogJ0N1c3RvbWVyIEludGVncmF0aW9uIFRlc3RpbmcnIGVudmlyb25tZW50LiBQbGVhc2UgcmVtb3ZlIGZvciBwcm9kdWN0aW9uXG5cdFx0XHQgKiBlbnZpcmlvbm1lbnRzLlxuXHRcdFx0ICovXG5cdFx0XHR1cmw6XG5cdFx0XHRcdCcvL3tzfS57YmFzZX0ubWFwcy5jaXQuYXBpLmhlcmUuY29tL21hcHRpbGUvMi4xLycgK1xuXHRcdFx0XHQne3R5cGV9L3ttYXBJRH0ve3ZhcmlhbnR9L3t6fS97eH0ve3l9L3tzaXplfS97Zm9ybWF0fT8nICtcblx0XHRcdFx0J2FwcF9pZD17YXBwX2lkfSZhcHBfY29kZT17YXBwX2NvZGV9JmxnPXtsYW5ndWFnZX0nLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQnTWFwICZjb3B5OyAxOTg3LTIwMTQgPGEgaHJlZj1cImh0dHA6Ly9kZXZlbG9wZXIuaGVyZS5jb21cIj5IRVJFPC9hPicsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICcxMjM0Jyxcblx0XHRcdFx0bWFwSUQ6ICduZXdlc3QnLFxuXHRcdFx0XHQnYXBwX2lkJzogJzxpbnNlcnQgeW91ciBhcHBfaWQgaGVyZT4nLFxuXHRcdFx0XHQnYXBwX2NvZGUnOiAnPGluc2VydCB5b3VyIGFwcF9jb2RlIGhlcmU+Jyxcblx0XHRcdFx0YmFzZTogJ2Jhc2UnLFxuXHRcdFx0XHR2YXJpYW50OiAnbm9ybWFsLmRheScsXG5cdFx0XHRcdG1heFpvb206IDIwLFxuXHRcdFx0XHR0eXBlOiAnbWFwdGlsZScsXG5cdFx0XHRcdGxhbmd1YWdlOiAnZW5nJyxcblx0XHRcdFx0Zm9ybWF0OiAncG5nOCcsXG5cdFx0XHRcdHNpemU6ICcyNTYnXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0bm9ybWFsRGF5OiAnbm9ybWFsLmRheScsXG5cdFx0XHRcdG5vcm1hbERheUN1c3RvbTogJ25vcm1hbC5kYXkuY3VzdG9tJyxcblx0XHRcdFx0bm9ybWFsRGF5R3JleTogJ25vcm1hbC5kYXkuZ3JleScsXG5cdFx0XHRcdG5vcm1hbERheU1vYmlsZTogJ25vcm1hbC5kYXkubW9iaWxlJyxcblx0XHRcdFx0bm9ybWFsRGF5R3JleU1vYmlsZTogJ25vcm1hbC5kYXkuZ3JleS5tb2JpbGUnLFxuXHRcdFx0XHRub3JtYWxEYXlUcmFuc2l0OiAnbm9ybWFsLmRheS50cmFuc2l0Jyxcblx0XHRcdFx0bm9ybWFsRGF5VHJhbnNpdE1vYmlsZTogJ25vcm1hbC5kYXkudHJhbnNpdC5tb2JpbGUnLFxuXHRcdFx0XHRub3JtYWxOaWdodDogJ25vcm1hbC5uaWdodCcsXG5cdFx0XHRcdG5vcm1hbE5pZ2h0TW9iaWxlOiAnbm9ybWFsLm5pZ2h0Lm1vYmlsZScsXG5cdFx0XHRcdG5vcm1hbE5pZ2h0R3JleTogJ25vcm1hbC5uaWdodC5ncmV5Jyxcblx0XHRcdFx0bm9ybWFsTmlnaHRHcmV5TW9iaWxlOiAnbm9ybWFsLm5pZ2h0LmdyZXkubW9iaWxlJyxcblxuXHRcdFx0XHRiYXNpY01hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdiYXNldGlsZSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1hcExhYmVsczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdsYWJlbHRpbGUnLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAncG5nJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0dHJhZmZpY0Zsb3c6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRiYXNlOiAndHJhZmZpYycsXG5cdFx0XHRcdFx0XHR0eXBlOiAnZmxvd3RpbGUnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjYXJuYXZEYXlHcmV5OiAnY2FybmF2LmRheS5ncmV5Jyxcblx0XHRcdFx0aHlicmlkRGF5OiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnaHlicmlkLmRheSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGh5YnJpZERheU1vYmlsZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGJhc2U6ICdhZXJpYWwnLFxuXHRcdFx0XHRcdFx0dmFyaWFudDogJ2h5YnJpZC5kYXkubW9iaWxlJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0cGVkZXN0cmlhbkRheTogJ3BlZGVzdHJpYW4uZGF5Jyxcblx0XHRcdFx0cGVkZXN0cmlhbk5pZ2h0OiAncGVkZXN0cmlhbi5uaWdodCcsXG5cdFx0XHRcdHNhdGVsbGl0ZURheToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGJhc2U6ICdhZXJpYWwnLFxuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3NhdGVsbGl0ZS5kYXknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR0ZXJyYWluRGF5OiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi5kYXknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR0ZXJyYWluRGF5TW9iaWxlOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi5kYXkubW9iaWxlJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0RnJlZU1hcFNLOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8vdHtzfS5mcmVlbWFwLnNrL1Qve3p9L3t4fS97eX0uanBlZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1pblpvb206IDgsXG5cdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRzdWJkb21haW5zOiAnMTIzNCcsXG5cdFx0XHRcdGJvdW5kczogW1s0Ny4yMDQ2NDIsIDE1Ljk5NjA5M10sIFs0OS44MzA4OTYsIDIyLjU3NjkwNF1dLFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9LCB2aXp1YWxpemF0aW9uIENDLUJ5LVNBIDIuMCA8YSBocmVmPVwiaHR0cDovL2ZyZWVtYXAuc2tcIj5GcmVlbWFwLnNrPC9hPidcblx0XHRcdH1cblx0XHR9LFxuXHRcdE10Yk1hcDoge1xuXHRcdFx0dXJsOiAnaHR0cDovL3RpbGUubXRibWFwLmN6L210Ym1hcF90aWxlcy97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9ICZhbXA7IFVTR1MnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRDYXJ0b0RCOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8ve3N9LmJhc2VtYXBzLmNhcnRvY2RuLmNvbS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0gJmNvcHk7IDxhIGhyZWY9XCJodHRwOi8vY2FydG9kYi5jb20vYXR0cmlidXRpb25zXCI+Q2FydG9EQjwvYT4nLFxuXHRcdFx0XHRzdWJkb21haW5zOiAnYWJjZCcsXG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHR2YXJpYW50OiAnbGlnaHRfYWxsJ1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdFBvc2l0cm9uOiAnbGlnaHRfYWxsJyxcblx0XHRcdFx0UG9zaXRyb25Ob0xhYmVsczogJ2xpZ2h0X25vbGFiZWxzJyxcblx0XHRcdFx0UG9zaXRyb25Pbmx5TGFiZWxzOiAnbGlnaHRfb25seV9sYWJlbHMnLFxuXHRcdFx0XHREYXJrTWF0dGVyOiAnZGFya19hbGwnLFxuXHRcdFx0XHREYXJrTWF0dGVyTm9MYWJlbHM6ICdkYXJrX25vbGFiZWxzJyxcblx0XHRcdFx0RGFya01hdHRlck9ubHlMYWJlbHM6ICdkYXJrX29ubHlfbGFiZWxzJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SGlrZUJpa2U6IHtcblx0XHRcdHVybDogJ2h0dHA6Ly97c30udGlsZXMud21mbGFicy5vcmcve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHZhcmlhbnQ6ICdoaWtlYmlrZSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRIaWtlQmlrZToge30sXG5cdFx0XHRcdEhpbGxTaGFkaW5nOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTUsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnaGlsbHNoYWRpbmcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRCYXNlbWFwQVQ6IHtcblx0XHRcdHVybDogJ2h0dHBzOi8vbWFwc3tzfS53aWVuLmd2LmF0L2Jhc2VtYXAve3ZhcmlhbnR9L25vcm1hbC9nb29nbGUzODU3L3t6fS97eX0ve3h9Lntmb3JtYXR9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTksXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnRGF0ZW5xdWVsbGU6IDxhIGhyZWY9XCJ3d3cuYmFzZW1hcC5hdFwiPmJhc2VtYXAuYXQ8L2E+Jyxcblx0XHRcdFx0c3ViZG9tYWluczogWycnLCAnMScsICcyJywgJzMnLCAnNCddLFxuXHRcdFx0XHRmb3JtYXQ6ICdwbmcnLFxuXHRcdFx0XHRib3VuZHM6IFtbNDYuMzU4NzcwLCA4Ljc4MjM3OV0sIFs0OS4wMzc4NzIsIDE3LjE4OTUzMl1dLFxuXHRcdFx0XHR2YXJpYW50OiAnZ2VvbGFuZGJhc2VtYXAnXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0YmFzZW1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdG1heFpvb206IDIwLCAvLyBjdXJyZW50bHkgb25seSBpbiBWaWVubmFcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdnZW9sYW5kYmFzZW1hcCdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGdyYXU6ICdibWFwZ3JhdScsXG5cdFx0XHRcdG92ZXJsYXk6ICdibWFwb3ZlcmxheScsXG5cdFx0XHRcdGhpZ2hkcGk6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnYm1hcGhpZHBpJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ2pwZWcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRvcnRob2ZvdG86IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRtYXhab29tOiAyMCwgLy8gY3VycmVudGx5IG9ubHkgaW4gVmllbm5hXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnYm1hcG9ydGhvZm90bzMwY20nLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAnanBlZydcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdG5sbWFwczoge1xuXHRcdFx0dXJsOiAnaHR0cHM6Ly9nZW9kYXRhLm5hdGlvbmFhbGdlb3JlZ2lzdGVyLm5sL3RpbGVzL3NlcnZpY2Uvd210cy97dmFyaWFudH0vRVBTRzozODU3L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1pblpvb206IDYsXG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRib3VuZHM6IFtbNTAuNSwgMy4yNV0sIFs1NCwgNy42XV0sXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnS2FhcnRnZWdldmVucyAmY29weTsgPGEgaHJlZj1cImthZGFzdGVyLm5sXCI+S2FkYXN0ZXI8L2E+J1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdCdzdGFuZGFhcmQnOiAnYnJ0YWNodGVyZ3JvbmRrYWFydCcsXG5cdFx0XHRcdCdwYXN0ZWwnOiAnYnJ0YWNodGVyZ3JvbmRrYWFydHBhc3RlbCcsXG5cdFx0XHRcdCdncmlqcyc6ICdicnRhY2h0ZXJncm9uZGthYXJ0Z3JpanMnLFxuXHRcdFx0XHQnbHVjaHRmb3RvJzoge1xuXHRcdFx0XHRcdCd1cmwnOiAnaHR0cHM6Ly9nZW9kYXRhLm5hdGlvbmFhbGdlb3JlZ2lzdGVyLm5sL2x1Y2h0Zm90by9yZ2Ivd210cy8xLjAuMC8yMDE2X29ydGhvMjUvRVBTRzozODU3L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdE5BU0FHSUJTOiB7XG5cdFx0XHR1cmw6ICcvL21hcDEudmlzLmVhcnRoZGF0YS5uYXNhLmdvdi93bXRzLXdlYm1lcmMve3ZhcmlhbnR9L2RlZmF1bHQve3RpbWV9L3t0aWxlbWF0cml4c2V0fXttYXhab29tfS97en0ve3l9L3t4fS57Zm9ybWF0fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCdJbWFnZXJ5IHByb3ZpZGVkIGJ5IHNlcnZpY2VzIGZyb20gdGhlIEdsb2JhbCBJbWFnZXJ5IEJyb3dzZSBTZXJ2aWNlcyAoR0lCUyksIG9wZXJhdGVkIGJ5IHRoZSBOQVNBL0dTRkMvRWFydGggU2NpZW5jZSBEYXRhIGFuZCBJbmZvcm1hdGlvbiBTeXN0ZW0gJyArXG5cdFx0XHRcdFx0Jyg8YSBocmVmPVwiaHR0cHM6Ly9lYXJ0aGRhdGEubmFzYS5nb3ZcIj5FU0RJUzwvYT4pIHdpdGggZnVuZGluZyBwcm92aWRlZCBieSBOQVNBL0hRLicsXG5cdFx0XHRcdGJvdW5kczogW1stODUuMDUxMTI4Nzc3NiwgLTE3OS45OTk5OTk5NzVdLCBbODUuMDUxMTI4Nzc3NiwgMTc5Ljk5OTk5OTk3NV1dLFxuXHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRtYXhab29tOiA5LFxuXHRcdFx0XHRmb3JtYXQ6ICdqcGcnLFxuXHRcdFx0XHR0aW1lOiAnJyxcblx0XHRcdFx0dGlsZW1hdHJpeHNldDogJ0dvb2dsZU1hcHNDb21wYXRpYmxlX0xldmVsJ1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdE1vZGlzVGVycmFUcnVlQ29sb3JDUjogJ01PRElTX1RlcnJhX0NvcnJlY3RlZFJlZmxlY3RhbmNlX1RydWVDb2xvcicsXG5cdFx0XHRcdE1vZGlzVGVycmFCYW5kczM2N0NSOiAnTU9ESVNfVGVycmFfQ29ycmVjdGVkUmVmbGVjdGFuY2VfQmFuZHMzNjcnLFxuXHRcdFx0XHRWaWlyc0VhcnRoQXROaWdodDIwMTI6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnVklJUlNfQ2l0eUxpZ2h0c18yMDEyJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdE1vZGlzVGVycmFMU1REYXk6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnTU9ESVNfVGVycmFfTGFuZF9TdXJmYWNlX1RlbXBfRGF5Jyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA3LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYVNub3dDb3Zlcjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdNT0RJU19UZXJyYV9Tbm93X0NvdmVyJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA4LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYUFPRDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdNT0RJU19UZXJyYV9BZXJvc29sJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA2LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYUNobG9yb3BoeWxsOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ01PRElTX1RlcnJhX0NobG9yb3BoeWxsX0EnLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAncG5nJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDcsXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc1XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHROTFM6IHtcblx0XHRcdC8vIE5MUyBtYXBzIGFyZSBjb3B5cmlnaHQgTmF0aW9uYWwgbGlicmFyeSBvZiBTY290bGFuZC5cblx0XHRcdC8vIGh0dHA6Ly9tYXBzLm5scy51ay9wcm9qZWN0cy9hcGkvaW5kZXguaHRtbFxuXHRcdFx0Ly8gUGxlYXNlIGNvbnRhY3QgTkxTIGZvciBhbnl0aGluZyBvdGhlciB0aGFuIG5vbi1jb21tZXJjaWFsIGxvdyB2b2x1bWUgdXNhZ2Vcblx0XHRcdC8vXG5cdFx0XHQvLyBNYXAgc291cmNlczogT3JkbmFuY2UgU3VydmV5IDE6MW0gdG8gMTo2M0ssIDE5MjBzLTE5NDBzXG5cdFx0XHQvLyAgIHowLTkgIC0gMToxbVxuXHRcdFx0Ly8gIHoxMC0xMSAtIHF1YXJ0ZXIgaW5jaCAoMToyNTM0NDApXG5cdFx0XHQvLyAgejEyLTE4IC0gb25lIGluY2ggKDE6NjMzNjApXG5cdFx0XHR1cmw6ICcvL25scy17c30udGlsZXNlcnZlci5jb20vbmxzL3t6fS97eH0ve3l9LmpwZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnPGEgaHJlZj1cImh0dHA6Ly9nZW8ubmxzLnVrL21hcHMvXCI+TmF0aW9uYWwgTGlicmFyeSBvZiBTY290bGFuZCBIaXN0b3JpYyBNYXBzPC9hPicsXG5cdFx0XHRcdGJvdW5kczogW1s0OS42LCAtMTJdLCBbNjEuNywgM11dLFxuXHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRtYXhab29tOiAxOCxcblx0XHRcdFx0c3ViZG9tYWluczogJzAxMjMnLFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SnVzdGljZU1hcDoge1xuXHRcdFx0Ly8gSnVzdGljZSBNYXAgKGh0dHA6Ly93d3cuanVzdGljZW1hcC5vcmcvKVxuXHRcdFx0Ly8gVmlzdWFsaXplIHJhY2UgYW5kIGluY29tZSBkYXRhIGZvciB5b3VyIGNvbW11bml0eSwgY291bnR5IGFuZCBjb3VudHJ5LlxuXHRcdFx0Ly8gSW5jbHVkZXMgdG9vbHMgZm9yIGRhdGEgam91cm5hbGlzdHMsIGJsb2dnZXJzIGFuZCBjb21tdW5pdHkgYWN0aXZpc3RzLlxuXHRcdFx0dXJsOiAnaHR0cDovL3d3dy5qdXN0aWNlbWFwLm9yZy90aWxlL3tzaXplfS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246ICc8YSBocmVmPVwiaHR0cDovL3d3dy5qdXN0aWNlbWFwLm9yZy90ZXJtcy5waHBcIj5KdXN0aWNlIE1hcDwvYT4nLFxuXHRcdFx0XHQvLyBvbmUgb2YgJ2NvdW50eScsICd0cmFjdCcsICdibG9jaydcblx0XHRcdFx0c2l6ZTogJ2NvdW50eScsXG5cdFx0XHRcdC8vIEJvdW5kcyBmb3IgVVNBLCBpbmNsdWRpbmcgQWxhc2thIGFuZCBIYXdhaWlcblx0XHRcdFx0Ym91bmRzOiBbWzE0LCAtMTgwXSwgWzcyLCAtNTZdXVxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdGluY29tZTogJ2luY29tZScsXG5cdFx0XHRcdGFtZXJpY2FuSW5kaWFuOiAnaW5kaWFuJyxcblx0XHRcdFx0YXNpYW46ICdhc2lhbicsXG5cdFx0XHRcdGJsYWNrOiAnYmxhY2snLFxuXHRcdFx0XHRoaXNwYW5pYzogJ2hpc3BhbmljJyxcblx0XHRcdFx0bXVsdGk6ICdtdWx0aScsXG5cdFx0XHRcdG5vbldoaXRlOiAnbm9ud2hpdGUnLFxuXHRcdFx0XHR3aGl0ZTogJ3doaXRlJyxcblx0XHRcdFx0cGx1cmFsaXR5OiAncGx1cmFsJ1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblxuXHRMLnRpbGVMYXllci5wcm92aWRlciA9IGZ1bmN0aW9uIChwcm92aWRlciwgb3B0aW9ucykge1xuXHRcdHJldHVybiBuZXcgTC5UaWxlTGF5ZXIuUHJvdmlkZXIocHJvdmlkZXIsIG9wdGlvbnMpO1xuXHR9O1xuXG5cdHJldHVybiBMO1xufSkpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanNcbi8vIG1vZHVsZSBpZCA9IC4vbm9kZV9tb2R1bGVzL2xlYWZsZXQtcHJvdmlkZXJzL2xlYWZsZXQtcHJvdmlkZXJzLmpzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCAxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/leaflet-providers/leaflet-providers.js\n");
+
+/***/ }),
+
/***/ "./node_modules/leaflet-rotatedmarker/leaflet.rotatedMarker.js":
/***/ (function(module, exports) {
@@ -361,7 +368,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__base_map__ = __webpa
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("var leaflet = __webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\");\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (opts) {\n\n opts = Object.assign({\n render_elem: 'map',\n center: [29.98139, -95.33374],\n zoom: 5,\n maxZoom: 10,\n layers: [],\n set_marker: false\n }, opts);\n\n var feature_groups = [];\n /*var openaip_airspace_labels = new leaflet.TileLayer.WMS(\n \"http://{s}.tile.maps.openaip.net/geowebcache/service/wms\", {\n maxZoom: 14,\n minZoom: 12,\n layers: 'openaip_approved_airspaces_labels',\n tileSize: 1024,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n openaip_airspace_labels.addTo(map);*/\n\n var opencyclemap_phys_osm = new leaflet.TileLayer('http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=f09a38fa87514de4890fc96e7fe8ecb1', {\n maxZoom: 14,\n minZoom: 4,\n format: 'image/png',\n transparent: true\n });\n\n feature_groups.push(opencyclemap_phys_osm);\n\n /*const openaip_cached_basemap = new leaflet.TileLayer(\"http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png\", {\n maxZoom: 14,\n minZoom: 4,\n tms: true,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n feature_groups.push(openaip_cached_basemap);\n */\n\n var openaip_basemap_phys_osm = leaflet.featureGroup(feature_groups);\n\n var map = leaflet.map('map', {\n layers: [openaip_basemap_phys_osm],\n center: opts.center,\n zoom: opts.zoom,\n scrollWheelZoom: false\n });\n\n var attrib = leaflet.control.attribution({ position: 'bottomleft' });\n attrib.addAttribution('Thunderforest');\n attrib.addAttribution('openAIP');\n attrib.addAttribution('OpenStreetMap contributors');\n attrib.addAttribution('OpenWeatherMap');\n\n attrib.addTo(map);\n\n return map;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcz80MzA3Il0sIm5hbWVzIjpbImxlYWZsZXQiLCJyZXF1aXJlIiwib3B0cyIsIk9iamVjdCIsImFzc2lnbiIsInJlbmRlcl9lbGVtIiwiY2VudGVyIiwiem9vbSIsIm1heFpvb20iLCJsYXllcnMiLCJzZXRfbWFya2VyIiwiZmVhdHVyZV9ncm91cHMiLCJvcGVuY3ljbGVtYXBfcGh5c19vc20iLCJUaWxlTGF5ZXIiLCJtaW5ab29tIiwiZm9ybWF0IiwidHJhbnNwYXJlbnQiLCJwdXNoIiwib3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtIiwiZmVhdHVyZUdyb3VwIiwibWFwIiwic2Nyb2xsV2hlZWxab29tIiwiYXR0cmliIiwiY29udHJvbCIsImF0dHJpYnV0aW9uIiwicG9zaXRpb24iLCJhZGRBdHRyaWJ1dGlvbiIsImFkZFRvIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxVQUFVLG1CQUFBQyxDQUFRLDRDQUFSLENBQWhCOztBQUVBLHlEQUFlLFVBQUNDLElBQUQsRUFBVTs7QUFFckJBLFdBQU9DLE9BQU9DLE1BQVAsQ0FBYztBQUNqQkMscUJBQWEsS0FESTtBQUVqQkMsZ0JBQVEsQ0FBQyxRQUFELEVBQVcsQ0FBQyxRQUFaLENBRlM7QUFHakJDLGNBQU0sQ0FIVztBQUlqQkMsaUJBQVMsRUFKUTtBQUtqQkMsZ0JBQVEsRUFMUztBQU1qQkMsb0JBQVk7QUFOSyxLQUFkLEVBT0pSLElBUEksQ0FBUDs7QUFTQSxRQUFJUyxpQkFBaUIsRUFBckI7QUFDQTs7Ozs7Ozs7Ozs7OztBQWNBLFFBQU1DLHdCQUF3QixJQUFJWixRQUFRYSxTQUFaLENBQzFCLHFHQUQwQixFQUM2RTtBQUNuR0wsaUJBQVMsRUFEMEY7QUFFbkdNLGlCQUFTLENBRjBGO0FBR25HQyxnQkFBUSxXQUgyRjtBQUluR0MscUJBQWE7QUFKc0YsS0FEN0UsQ0FBOUI7O0FBUUFMLG1CQUFlTSxJQUFmLENBQW9CTCxxQkFBcEI7O0FBRUE7Ozs7Ozs7Ozs7OztBQWFBLFFBQU1NLDJCQUEyQmxCLFFBQVFtQixZQUFSLENBQXFCUixjQUFyQixDQUFqQzs7QUFFQSxRQUFJUyxNQUFNcEIsUUFBUW9CLEdBQVIsQ0FBWSxLQUFaLEVBQW1CO0FBQ3pCWCxnQkFBUSxDQUFDUyx3QkFBRCxDQURpQjtBQUV6QlosZ0JBQVFKLEtBQUtJLE1BRlk7QUFHekJDLGNBQU1MLEtBQUtLLElBSGM7QUFJekJjLHlCQUFpQjtBQUpRLEtBQW5CLENBQVY7O0FBT0EsUUFBTUMsU0FBU3RCLFFBQVF1QixPQUFSLENBQWdCQyxXQUFoQixDQUE0QixFQUFDQyxVQUFVLFlBQVgsRUFBNUIsQ0FBZjtBQUNBSCxXQUFPSSxjQUFQLENBQXNCLG9GQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLHdFQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLDJHQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLHNGQUF0Qjs7QUFFQUosV0FBT0ssS0FBUCxDQUFhUCxHQUFiOztBQUVBLFdBQU9BLEdBQVA7QUFDSCxDQW5FRCIsImZpbGUiOiIuL3Jlc291cmNlcy9qcy9tYXBzL2Jhc2VfbWFwLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbGVhZmxldCA9IHJlcXVpcmUoJ2xlYWZsZXQnKTtcblxuZXhwb3J0IGRlZmF1bHQgKG9wdHMpID0+IHtcblxuICAgIG9wdHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgcmVuZGVyX2VsZW06ICdtYXAnLFxuICAgICAgICBjZW50ZXI6IFsyOS45ODEzOSwgLTk1LjMzMzc0XSxcbiAgICAgICAgem9vbTogNSxcbiAgICAgICAgbWF4Wm9vbTogMTAsXG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIHNldF9tYXJrZXI6IGZhbHNlLFxuICAgIH0sIG9wdHMpO1xuXG4gICAgbGV0IGZlYXR1cmVfZ3JvdXBzID0gW107XG4gICAgLyp2YXIgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIuV01TKFxuICAgICAgICBcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2Uvd21zXCIsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogMTIsXG4gICAgICAgICAgICBsYXllcnM6ICdvcGVuYWlwX2FwcHJvdmVkX2FpcnNwYWNlc19sYWJlbHMnLFxuICAgICAgICAgICAgdGlsZVNpemU6IDEwMjQsXG4gICAgICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMuYWRkVG8obWFwKTsqL1xuXG4gICAgY29uc3Qgb3BlbmN5Y2xlbWFwX3BoeXNfb3NtID0gbmV3IGxlYWZsZXQuVGlsZUxheWVyKFxuICAgICAgICAnaHR0cDovL3tzfS50aWxlLnRodW5kZXJmb3Jlc3QuY29tL2xhbmRzY2FwZS97en0ve3h9L3t5fS5wbmc/YXBpa2V5PWYwOWEzOGZhODc1MTRkZTQ4OTBmYzk2ZTdmZThlY2IxJywge1xuICAgICAgICAgICAgbWF4Wm9vbTogMTQsXG4gICAgICAgICAgICBtaW5ab29tOiA0LFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pXG5cbiAgICBmZWF0dXJlX2dyb3Vwcy5wdXNoKG9wZW5jeWNsZW1hcF9waHlzX29zbSlcblxuICAgIC8qY29uc3Qgb3BlbmFpcF9jYWNoZWRfYmFzZW1hcCA9IG5ldyBsZWFmbGV0LlRpbGVMYXllcihcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2UvdG1zLzEuMC4wL29wZW5haXBfYmFzZW1hcEBFUFNHJTNBOTAwOTEzQHBuZy97en0ve3h9L3t5fS5wbmdcIiwge1xuICAgICAgICBtYXhab29tOiAxNCxcbiAgICAgICAgbWluWm9vbTogNCxcbiAgICAgICAgdG1zOiB0cnVlLFxuICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgIHN1YmRvbWFpbnM6ICcxMicsXG4gICAgICAgIGZvcm1hdDogJ2ltYWdlL3BuZycsXG4gICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgfSk7XG5cbiAgICBmZWF0dXJlX2dyb3Vwcy5wdXNoKG9wZW5haXBfY2FjaGVkX2Jhc2VtYXApO1xuICAgICovXG5cbiAgICBjb25zdCBvcGVuYWlwX2Jhc2VtYXBfcGh5c19vc20gPSBsZWFmbGV0LmZlYXR1cmVHcm91cChmZWF0dXJlX2dyb3Vwcyk7XG5cbiAgICBsZXQgbWFwID0gbGVhZmxldC5tYXAoJ21hcCcsIHtcbiAgICAgICAgbGF5ZXJzOiBbb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtXSxcbiAgICAgICAgY2VudGVyOiBvcHRzLmNlbnRlcixcbiAgICAgICAgem9vbTogb3B0cy56b29tLFxuICAgICAgICBzY3JvbGxXaGVlbFpvb206IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXR0cmliID0gbGVhZmxldC5jb250cm9sLmF0dHJpYnV0aW9uKHtwb3NpdGlvbjogJ2JvdHRvbWxlZnQnfSlcbiAgICBhdHRyaWIuYWRkQXR0cmlidXRpb24oJzxhIGhyZWY9XCJodHRwczovL3d3dy50aHVuZGVyZm9yZXN0LmNvbVwiIHRhcmdldD1cIl9ibGFua1wiIHN0eWxlPVwiXCI+VGh1bmRlcmZvcmVzdDwvYT4nKVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5haXAubmV0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5vcGVuQUlQPC9hPicpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMnKVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW53ZWF0aGVybWFwLm9yZ1wiIHRhcmdldD1cIl9ibGFua1wiIHN0eWxlPVwiXCI+T3BlbldlYXRoZXJNYXA8L2E+JylcblxuICAgIGF0dHJpYi5hZGRUbyhtYXApO1xuXG4gICAgcmV0dXJuIG1hcFxufTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9qcy9tYXBzL2Jhc2VfbWFwLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/maps/base_map.js\n");
+eval("var leaflet = __webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\");\nvar providers = __webpack_require__(\"./node_modules/leaflet-providers/leaflet-providers.js\");\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (opts) {\n\n opts = Object.assign({\n render_elem: 'map',\n center: [29.98139, -95.33374],\n zoom: 5,\n maxZoom: 10,\n layers: [],\n set_marker: false\n }, opts);\n\n var feature_groups = [];\n /*var openaip_airspace_labels = new leaflet.TileLayer.WMS(\n \"http://{s}.tile.maps.openaip.net/geowebcache/service/wms\", {\n maxZoom: 14,\n minZoom: 12,\n layers: 'openaip_approved_airspaces_labels',\n tileSize: 1024,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n openaip_airspace_labels.addTo(map);*/\n\n var opencyclemap_phys_osm = new leaflet.TileLayer('http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=f09a38fa87514de4890fc96e7fe8ecb1', {\n maxZoom: 14,\n minZoom: 4,\n format: 'image/png',\n transparent: true\n });\n\n feature_groups.push(opencyclemap_phys_osm);\n\n /*const openaip_cached_basemap = new leaflet.TileLayer(\"http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png\", {\n maxZoom: 14,\n minZoom: 4,\n tms: true,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n feature_groups.push(openaip_cached_basemap);\n */\n\n var openaip_basemap_phys_osm = leaflet.featureGroup(feature_groups);\n\n var map = leaflet.map('map', {\n //layers: [openaip_basemap_phys_osm],\n center: opts.center,\n zoom: opts.zoom,\n scrollWheelZoom: false\n });\n\n leaflet.tileLayer.provider('Esri.WorldStreetMap').addTo(map);\n\n /*const attrib = leaflet.control.attribution({position: 'bottomleft'})\n attrib.addAttribution('Thunderforest')\n attrib.addAttribution('openAIP')\n attrib.addAttribution('OpenStreetMap contributors')\n attrib.addAttribution('OpenWeatherMap')\n attrib.addTo(map);*/\n\n return map;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcz80MzA3Il0sIm5hbWVzIjpbImxlYWZsZXQiLCJyZXF1aXJlIiwicHJvdmlkZXJzIiwib3B0cyIsIk9iamVjdCIsImFzc2lnbiIsInJlbmRlcl9lbGVtIiwiY2VudGVyIiwiem9vbSIsIm1heFpvb20iLCJsYXllcnMiLCJzZXRfbWFya2VyIiwiZmVhdHVyZV9ncm91cHMiLCJvcGVuY3ljbGVtYXBfcGh5c19vc20iLCJUaWxlTGF5ZXIiLCJtaW5ab29tIiwiZm9ybWF0IiwidHJhbnNwYXJlbnQiLCJwdXNoIiwib3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtIiwiZmVhdHVyZUdyb3VwIiwibWFwIiwic2Nyb2xsV2hlZWxab29tIiwidGlsZUxheWVyIiwicHJvdmlkZXIiLCJhZGRUbyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsVUFBVSxtQkFBQUMsQ0FBUSw0Q0FBUixDQUFoQjtBQUNBLElBQU1DLFlBQVksbUJBQUFELENBQVEsdURBQVIsQ0FBbEI7O0FBRUEseURBQWUsVUFBQ0UsSUFBRCxFQUFVOztBQUVyQkEsV0FBT0MsT0FBT0MsTUFBUCxDQUFjO0FBQ2pCQyxxQkFBYSxLQURJO0FBRWpCQyxnQkFBUSxDQUFDLFFBQUQsRUFBVyxDQUFDLFFBQVosQ0FGUztBQUdqQkMsY0FBTSxDQUhXO0FBSWpCQyxpQkFBUyxFQUpRO0FBS2pCQyxnQkFBUSxFQUxTO0FBTWpCQyxvQkFBWTtBQU5LLEtBQWQsRUFPSlIsSUFQSSxDQUFQOztBQVNBLFFBQUlTLGlCQUFpQixFQUFyQjtBQUNBOzs7Ozs7Ozs7Ozs7O0FBZ0JBLFFBQU1DLHdCQUF3QixJQUFJYixRQUFRYyxTQUFaLENBQzFCLHFHQUQwQixFQUM2RTtBQUNuR0wsaUJBQVMsRUFEMEY7QUFFbkdNLGlCQUFTLENBRjBGO0FBR25HQyxnQkFBUSxXQUgyRjtBQUluR0MscUJBQWE7QUFKc0YsS0FEN0UsQ0FBOUI7O0FBUUFMLG1CQUFlTSxJQUFmLENBQW9CTCxxQkFBcEI7O0FBRUE7Ozs7Ozs7Ozs7OztBQWFBLFFBQU1NLDJCQUEyQm5CLFFBQVFvQixZQUFSLENBQXFCUixjQUFyQixDQUFqQzs7QUFFQSxRQUFJUyxNQUFNckIsUUFBUXFCLEdBQVIsQ0FBWSxLQUFaLEVBQW1CO0FBQ3pCO0FBQ0FkLGdCQUFRSixLQUFLSSxNQUZZO0FBR3pCQyxjQUFNTCxLQUFLSyxJQUhjO0FBSXpCYyx5QkFBaUI7QUFKUSxLQUFuQixDQUFWOztBQU9BdEIsWUFBUXVCLFNBQVIsQ0FBa0JDLFFBQWxCLENBQTJCLHFCQUEzQixFQUFrREMsS0FBbEQsQ0FBd0RKLEdBQXhEOztBQUVBOzs7Ozs7O0FBUUEsV0FBT0EsR0FBUDtBQUNILENBdkVEIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL21hcHMvYmFzZV9tYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBsZWFmbGV0ID0gcmVxdWlyZSgnbGVhZmxldCcpO1xuY29uc3QgcHJvdmlkZXJzID0gcmVxdWlyZSgnbGVhZmxldC1wcm92aWRlcnMnKTtcblxuZXhwb3J0IGRlZmF1bHQgKG9wdHMpID0+IHtcblxuICAgIG9wdHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgcmVuZGVyX2VsZW06ICdtYXAnLFxuICAgICAgICBjZW50ZXI6IFsyOS45ODEzOSwgLTk1LjMzMzc0XSxcbiAgICAgICAgem9vbTogNSxcbiAgICAgICAgbWF4Wm9vbTogMTAsXG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIHNldF9tYXJrZXI6IGZhbHNlLFxuICAgIH0sIG9wdHMpO1xuXG4gICAgbGV0IGZlYXR1cmVfZ3JvdXBzID0gW107XG4gICAgLyp2YXIgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIuV01TKFxuICAgICAgICBcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2Uvd21zXCIsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogMTIsXG4gICAgICAgICAgICBsYXllcnM6ICdvcGVuYWlwX2FwcHJvdmVkX2FpcnNwYWNlc19sYWJlbHMnLFxuICAgICAgICAgICAgdGlsZVNpemU6IDEwMjQsXG4gICAgICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMuYWRkVG8obWFwKTsqL1xuXG5cblxuICAgIGNvbnN0IG9wZW5jeWNsZW1hcF9waHlzX29zbSA9IG5ldyBsZWFmbGV0LlRpbGVMYXllcihcbiAgICAgICAgJ2h0dHA6Ly97c30udGlsZS50aHVuZGVyZm9yZXN0LmNvbS9sYW5kc2NhcGUve3p9L3t4fS97eX0ucG5nP2FwaWtleT1mMDlhMzhmYTg3NTE0ZGU0ODkwZmM5NmU3ZmU4ZWNiMScsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogNCxcbiAgICAgICAgICAgIGZvcm1hdDogJ2ltYWdlL3BuZycsXG4gICAgICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZVxuICAgICAgICB9KVxuXG4gICAgZmVhdHVyZV9ncm91cHMucHVzaChvcGVuY3ljbGVtYXBfcGh5c19vc20pXG5cbiAgICAvKmNvbnN0IG9wZW5haXBfY2FjaGVkX2Jhc2VtYXAgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIoXCJodHRwOi8ve3N9LnRpbGUubWFwcy5vcGVuYWlwLm5ldC9nZW93ZWJjYWNoZS9zZXJ2aWNlL3Rtcy8xLjAuMC9vcGVuYWlwX2Jhc2VtYXBARVBTRyUzQTkwMDkxM0Bwbmcve3p9L3t4fS97eX0ucG5nXCIsIHtcbiAgICAgICAgbWF4Wm9vbTogMTQsXG4gICAgICAgIG1pblpvb206IDQsXG4gICAgICAgIHRtczogdHJ1ZSxcbiAgICAgICAgZGV0ZWN0UmV0aW5hOiB0cnVlLFxuICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICBmb3JtYXQ6ICdpbWFnZS9wbmcnLFxuICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgZmVhdHVyZV9ncm91cHMucHVzaChvcGVuYWlwX2NhY2hlZF9iYXNlbWFwKTtcbiAgICAqL1xuXG4gICAgY29uc3Qgb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtID0gbGVhZmxldC5mZWF0dXJlR3JvdXAoZmVhdHVyZV9ncm91cHMpO1xuXG4gICAgbGV0IG1hcCA9IGxlYWZsZXQubWFwKCdtYXAnLCB7XG4gICAgICAgIC8vbGF5ZXJzOiBbb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtXSxcbiAgICAgICAgY2VudGVyOiBvcHRzLmNlbnRlcixcbiAgICAgICAgem9vbTogb3B0cy56b29tLFxuICAgICAgICBzY3JvbGxXaGVlbFpvb206IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgbGVhZmxldC50aWxlTGF5ZXIucHJvdmlkZXIoJ0VzcmkuV29ybGRTdHJlZXRNYXAnKS5hZGRUbyhtYXApO1xuXG4gICAgLypjb25zdCBhdHRyaWIgPSBsZWFmbGV0LmNvbnRyb2wuYXR0cmlidXRpb24oe3Bvc2l0aW9uOiAnYm90dG9tbGVmdCd9KVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3LnRodW5kZXJmb3Jlc3QuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5UaHVuZGVyZm9yZXN0PC9hPicpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbmFpcC5uZXRcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cIlwiPm9wZW5BSVA8L2E+JylcbiAgICBhdHRyaWIuYWRkQXR0cmlidXRpb24oJzxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cIlwiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycycpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbndlYXRoZXJtYXAub3JnXCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5PcGVuV2VhdGhlck1hcDwvYT4nKVxuXG4gICAgYXR0cmliLmFkZFRvKG1hcCk7Ki9cblxuICAgIHJldHVybiBtYXBcbn07XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/maps/base_map.js\n");
/***/ }),
diff --git a/public/assets/frontend/js/app.js b/public/assets/frontend/js/app.js
index 1a240dc3..8ef4e280 100644
--- a/public/assets/frontend/js/app.js
+++ b/public/assets/frontend/js/app.js
@@ -286,6 +286,13 @@ eval("/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukh
/***/ }),
+/***/ "./node_modules/leaflet-providers/leaflet-providers.js":
+/***/ (function(module, exports, __webpack_require__) {
+
+eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n\tif (true) {\n\t\t// AMD. Register as an anonymous module.\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (typeof modules === 'object' && module.exports) {\n\t\t// define a Common JS module that relies on 'leaflet'\n\t\tmodule.exports = factory(require('leaflet'));\n\t} else {\n\t\t// Assume Leaflet is loaded into global object L already\n\t\tfactory(L);\n\t}\n}(this, function (L) {\n\t'use strict';\n\n\tL.TileLayer.Provider = L.TileLayer.extend({\n\t\tinitialize: function (arg, options) {\n\t\t\tvar providers = L.TileLayer.Provider.providers;\n\n\t\t\tvar parts = arg.split('.');\n\n\t\t\tvar providerName = parts[0];\n\t\t\tvar variantName = parts[1];\n\n\t\t\tif (!providers[providerName]) {\n\t\t\t\tthrow 'No such provider (' + providerName + ')';\n\t\t\t}\n\n\t\t\tvar provider = {\n\t\t\t\turl: providers[providerName].url,\n\t\t\t\toptions: providers[providerName].options\n\t\t\t};\n\n\t\t\t// overwrite values in provider from variant.\n\t\t\tif (variantName && 'variants' in providers[providerName]) {\n\t\t\t\tif (!(variantName in providers[providerName].variants)) {\n\t\t\t\t\tthrow 'No such variant of ' + providerName + ' (' + variantName + ')';\n\t\t\t\t}\n\t\t\t\tvar variant = providers[providerName].variants[variantName];\n\t\t\t\tvar variantOptions;\n\t\t\t\tif (typeof variant === 'string') {\n\t\t\t\t\tvariantOptions = {\n\t\t\t\t\t\tvariant: variant\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\tvariantOptions = variant.options;\n\t\t\t\t}\n\t\t\t\tprovider = {\n\t\t\t\t\turl: variant.url || provider.url,\n\t\t\t\t\toptions: L.Util.extend({}, provider.options, variantOptions)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tvar forceHTTP = window.location.protocol === 'file:' || provider.options.forceHTTP;\n\t\t\tif (provider.url.indexOf('//') === 0 && forceHTTP) {\n\t\t\t\tprovider.url = 'http:' + provider.url;\n\t\t\t}\n\n\t\t\t// If retina option is set\n\t\t\tif (provider.options.retina) {\n\t\t\t\t// Check retina screen\n\t\t\t\tif (options.detectRetina && L.Browser.retina) {\n\t\t\t\t\t// The retina option will be active now\n\t\t\t\t\t// But we need to prevent Leaflet retina mode\n\t\t\t\t\toptions.detectRetina = false;\n\t\t\t\t} else {\n\t\t\t\t\t// No retina, remove option\n\t\t\t\t\tprovider.options.retina = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// replace attribution placeholders with their values from toplevel provider attribution,\n\t\t\t// recursively\n\t\t\tvar attributionReplacer = function (attr) {\n\t\t\t\tif (attr.indexOf('{attribution.') === -1) {\n\t\t\t\t\treturn attr;\n\t\t\t\t}\n\t\t\t\treturn attr.replace(/\\{attribution.(\\w*)\\}/,\n\t\t\t\t\tfunction (match, attributionName) {\n\t\t\t\t\t\treturn attributionReplacer(providers[attributionName].options.attribution);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t};\n\t\t\tprovider.options.attribution = attributionReplacer(provider.options.attribution);\n\n\t\t\t// Compute final options combining provider options with any user overrides\n\t\t\tvar layerOpts = L.Util.extend({}, provider.options, options);\n\t\t\tL.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);\n\t\t}\n\t});\n\n\t/**\n\t * Definition of providers.\n\t * see http://leafletjs.com/reference.html#tilelayer for options in the options map.\n\t */\n\n\tL.TileLayer.Provider.providers = {\n\t\tOpenStreetMap: {\n\t\t\turl: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution:\n\t\t\t\t\t'© OpenStreetMap'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tMapnik: {},\n\t\t\t\tBlackAndWhite: {\n\t\t\t\t\turl: 'http://{s}.tiles.wmflabs.org/bw-mapnik/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tDE: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tFrance: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20,\n\t\t\t\t\t\tattribution: '© Openstreetmap France | {attribution.OpenStreetMap}'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tHOT: {\n\t\t\t\t\turl: '//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution: '{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tBZH: {\n\t\t\t\t\turl: 'http://tile.openstreetmap.bzh/br/{z}/{x}/{y}.png',\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution: '{attribution.OpenStreetMap}, Tiles courtesy of Breton OpenStreetMap Team',\n\t\t\t\t\t\tbounds: [[46.2, -5.5], [50, 0.7]]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tOpenSeaMap: {\n\t\t\turl: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: 'Map data: © OpenSeaMap contributors'\n\t\t\t}\n\t\t},\n\t\tOpenTopoMap: {\n\t\t\turl: '//{s}.tile.opentopomap.org/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 17,\n\t\t\t\tattribution: 'Map data: {attribution.OpenStreetMap}, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'\n\t\t\t}\n\t\t},\n\t\tThunderforest: {\n\t\t\turl: '//{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'© Thunderforest, {attribution.OpenStreetMap}',\n\t\t\t\tvariant: 'cycle',\n\t\t\t\tapikey: '',\n\t\t\t\tmaxZoom: 22\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tOpenCycleMap: 'cycle',\n\t\t\t\tTransport: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'transport'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTransportDark: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'transport-dark'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tSpinalMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'spinal-map'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tLandscape: 'landscape',\n\t\t\t\tOutdoors: 'outdoors',\n\t\t\t\tPioneer: 'pioneer'\n\t\t\t}\n\t\t},\n\t\tOpenMapSurfer: {\n\t\t\turl: 'http://korona.geog.uni-heidelberg.de/tiles/{variant}/x={x}&y={y}&z={z}',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 20,\n\t\t\t\tvariant: 'roads',\n\t\t\t\tattribution: 'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tRoads: 'roads',\n\t\t\t\tAdminBounds: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'adminb',\n\t\t\t\t\t\tmaxZoom: 19\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tGrayscale: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'roadsg',\n\t\t\t\t\t\tmaxZoom: 19\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tHydda: {\n\t\t\turl: '//{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 18,\n\t\t\t\tvariant: 'full',\n\t\t\t\tattribution: 'Tiles courtesy of OpenStreetMap Sweden — Map data {attribution.OpenStreetMap}'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tFull: 'full',\n\t\t\t\tBase: 'base',\n\t\t\t\tRoadsAndLabels: 'roads_and_labels'\n\t\t\t}\n\t\t},\n\t\tMapBox: {\n\t\t\turl: '//api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Imagery from MapBox — ' +\n\t\t\t\t\t'Map data {attribution.OpenStreetMap}',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tid: 'streets',\n\t\t\t\taccessToken: '',\n\t\t\t}\n\t\t},\n\t\tStamen: {\n\t\t\turl: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Map tiles by Stamen Design, ' +\n\t\t\t\t\t'CC BY 3.0 — ' +\n\t\t\t\t\t'Map data {attribution.OpenStreetMap}',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tminZoom: 0,\n\t\t\t\tmaxZoom: 20,\n\t\t\t\tvariant: 'toner',\n\t\t\t\text: 'png'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tToner: 'toner',\n\t\t\t\tTonerBackground: 'toner-background',\n\t\t\t\tTonerHybrid: 'toner-hybrid',\n\t\t\t\tTonerLines: 'toner-lines',\n\t\t\t\tTonerLabels: 'toner-labels',\n\t\t\t\tTonerLite: 'toner-lite',\n\t\t\t\tWatercolor: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'watercolor',\n\t\t\t\t\t\tminZoom: 1,\n\t\t\t\t\t\tmaxZoom: 16\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTerrain: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'terrain',\n\t\t\t\t\t\tminZoom: 0,\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTerrainBackground: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'terrain-background',\n\t\t\t\t\t\tminZoom: 0,\n\t\t\t\t\t\tmaxZoom: 18\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTopOSMRelief: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'toposm-color-relief',\n\t\t\t\t\t\text: 'jpg',\n\t\t\t\t\t\tbounds: [[22, -132], [51, -56]]\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tTopOSMFeatures: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'toposm-features',\n\t\t\t\t\t\tbounds: [[22, -132], [51, -56]],\n\t\t\t\t\t\topacity: 0.9\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tEsri: {\n\t\t\turl: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}',\n\t\t\toptions: {\n\t\t\t\tvariant: 'World_Street_Map',\n\t\t\t\tattribution: 'Tiles © Esri'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tWorldStreetMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tDeLorme: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Specialty/DeLorme_World_Base_Map',\n\t\t\t\t\t\tminZoom: 1,\n\t\t\t\t\t\tmaxZoom: 11,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Copyright: ©2012 DeLorme'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldTopoMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Topo_Map',\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldImagery: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Imagery',\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldTerrain: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Terrain_Base',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution:\n\t\t\t\t\t\t\t'{attribution.Esri} — ' +\n\t\t\t\t\t\t\t'Source: USGS, Esri, TANA, DeLorme, and NPS'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldShadedRelief: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Shaded_Relief',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Source: Esri'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldPhysical: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'World_Physical_Map',\n\t\t\t\t\t\tmaxZoom: 8,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Source: US National Park Service'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tOceanBasemap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Ocean_Basemap',\n\t\t\t\t\t\tmaxZoom: 13,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tNatGeoWorldMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'NatGeo_World_Map',\n\t\t\t\t\t\tmaxZoom: 16,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tWorldGrayCanvas: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'Canvas/World_Light_Gray_Base',\n\t\t\t\t\t\tmaxZoom: 16,\n\t\t\t\t\t\tattribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tOpenWeatherMap: {\n\t\t\turl: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: 'Map data © OpenWeatherMap',\n\t\t\t\topacity: 0.5\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tClouds: 'clouds',\n\t\t\t\tCloudsClassic: 'clouds_cls',\n\t\t\t\tPrecipitation: 'precipitation',\n\t\t\t\tPrecipitationClassic: 'precipitation_cls',\n\t\t\t\tRain: 'rain',\n\t\t\t\tRainClassic: 'rain_cls',\n\t\t\t\tPressure: 'pressure',\n\t\t\t\tPressureContour: 'pressure_cntr',\n\t\t\t\tWind: 'wind',\n\t\t\t\tTemperature: 'temp',\n\t\t\t\tSnow: 'snow'\n\t\t\t}\n\t\t},\n\t\tHERE: {\n\t\t\t/*\n\t\t\t * HERE maps, formerly Nokia maps.\n\t\t\t * These basemaps are free, but you need an API key. Please sign up at\n\t\t\t * http://developer.here.com/getting-started\n\t\t\t *\n\t\t\t * Note that the base urls contain '.cit' whichs is HERE's\n\t\t\t * 'Customer Integration Testing' environment. Please remove for production\n\t\t\t * envirionments.\n\t\t\t */\n\t\t\turl:\n\t\t\t\t'//{s}.{base}.maps.cit.api.here.com/maptile/2.1/' +\n\t\t\t\t'{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' +\n\t\t\t\t'app_id={app_id}&app_code={app_code}&lg={language}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Map © 1987-2014 HERE',\n\t\t\t\tsubdomains: '1234',\n\t\t\t\tmapID: 'newest',\n\t\t\t\t'app_id': '',\n\t\t\t\t'app_code': '',\n\t\t\t\tbase: 'base',\n\t\t\t\tvariant: 'normal.day',\n\t\t\t\tmaxZoom: 20,\n\t\t\t\ttype: 'maptile',\n\t\t\t\tlanguage: 'eng',\n\t\t\t\tformat: 'png8',\n\t\t\t\tsize: '256'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tnormalDay: 'normal.day',\n\t\t\t\tnormalDayCustom: 'normal.day.custom',\n\t\t\t\tnormalDayGrey: 'normal.day.grey',\n\t\t\t\tnormalDayMobile: 'normal.day.mobile',\n\t\t\t\tnormalDayGreyMobile: 'normal.day.grey.mobile',\n\t\t\t\tnormalDayTransit: 'normal.day.transit',\n\t\t\t\tnormalDayTransitMobile: 'normal.day.transit.mobile',\n\t\t\t\tnormalNight: 'normal.night',\n\t\t\t\tnormalNightMobile: 'normal.night.mobile',\n\t\t\t\tnormalNightGrey: 'normal.night.grey',\n\t\t\t\tnormalNightGreyMobile: 'normal.night.grey.mobile',\n\n\t\t\t\tbasicMap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'basetile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tmapLabels: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\ttype: 'labeltile',\n\t\t\t\t\t\tformat: 'png'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttrafficFlow: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'traffic',\n\t\t\t\t\t\ttype: 'flowtile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tcarnavDayGrey: 'carnav.day.grey',\n\t\t\t\thybridDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'hybrid.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\thybridDayMobile: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'hybrid.day.mobile'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tpedestrianDay: 'pedestrian.day',\n\t\t\t\tpedestrianNight: 'pedestrian.night',\n\t\t\t\tsatelliteDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'satellite.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tterrainDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'terrain.day'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tterrainDayMobile: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tbase: 'aerial',\n\t\t\t\t\t\tvariant: 'terrain.day.mobile'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tFreeMapSK: {\n\t\t\turl: 'http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg',\n\t\t\toptions: {\n\t\t\t\tminZoom: 8,\n\t\t\t\tmaxZoom: 16,\n\t\t\t\tsubdomains: '1234',\n\t\t\t\tbounds: [[47.204642, 15.996093], [49.830896, 22.576904]],\n\t\t\t\tattribution:\n\t\t\t\t\t'{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 Freemap.sk'\n\t\t\t}\n\t\t},\n\t\tMtbMap: {\n\t\t\turl: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'{attribution.OpenStreetMap} & USGS'\n\t\t\t}\n\t\t},\n\t\tCartoDB: {\n\t\t\turl: 'http://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: '{attribution.OpenStreetMap} © CartoDB',\n\t\t\t\tsubdomains: 'abcd',\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tvariant: 'light_all'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tPositron: 'light_all',\n\t\t\t\tPositronNoLabels: 'light_nolabels',\n\t\t\t\tPositronOnlyLabels: 'light_only_labels',\n\t\t\t\tDarkMatter: 'dark_all',\n\t\t\t\tDarkMatterNoLabels: 'dark_nolabels',\n\t\t\t\tDarkMatterOnlyLabels: 'dark_only_labels'\n\t\t\t}\n\t\t},\n\t\tHikeBike: {\n\t\t\turl: 'http://{s}.tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: '{attribution.OpenStreetMap}',\n\t\t\t\tvariant: 'hikebike'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tHikeBike: {},\n\t\t\t\tHillShading: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 15,\n\t\t\t\t\t\tvariant: 'hillshading'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tBasemapAT: {\n\t\t\turl: 'https://maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}',\n\t\t\toptions: {\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tattribution: 'Datenquelle: basemap.at',\n\t\t\t\tsubdomains: ['', '1', '2', '3', '4'],\n\t\t\t\tformat: 'png',\n\t\t\t\tbounds: [[46.358770, 8.782379], [49.037872, 17.189532]],\n\t\t\t\tvariant: 'geolandbasemap'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tbasemap: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20, // currently only in Vienna\n\t\t\t\t\t\tvariant: 'geolandbasemap'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgrau: 'bmapgrau',\n\t\t\t\toverlay: 'bmapoverlay',\n\t\t\t\thighdpi: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'bmaphidpi',\n\t\t\t\t\t\tformat: 'jpeg'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\torthofoto: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tmaxZoom: 20, // currently only in Vienna\n\t\t\t\t\t\tvariant: 'bmaporthofoto30cm',\n\t\t\t\t\t\tformat: 'jpeg'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tnlmaps: {\n\t\t\turl: 'https://geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tminZoom: 6,\n\t\t\t\tmaxZoom: 19,\n\t\t\t\tbounds: [[50.5, 3.25], [54, 7.6]],\n\t\t\t\tattribution: 'Kaartgegevens © Kadaster'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\t'standaard': 'brtachtergrondkaart',\n\t\t\t\t'pastel': 'brtachtergrondkaartpastel',\n\t\t\t\t'grijs': 'brtachtergrondkaartgrijs',\n\t\t\t\t'luchtfoto': {\n\t\t\t\t\t'url': 'https://geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tNASAGIBS: {\n\t\t\turl: '//map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}',\n\t\t\toptions: {\n\t\t\t\tattribution:\n\t\t\t\t\t'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' +\n\t\t\t\t\t'(ESDIS) with funding provided by NASA/HQ.',\n\t\t\t\tbounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]],\n\t\t\t\tminZoom: 1,\n\t\t\t\tmaxZoom: 9,\n\t\t\t\tformat: 'jpg',\n\t\t\t\ttime: '',\n\t\t\t\ttilematrixset: 'GoogleMapsCompatible_Level'\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor',\n\t\t\t\tModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367',\n\t\t\t\tViirsEarthAtNight2012: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'VIIRS_CityLights_2012',\n\t\t\t\t\t\tmaxZoom: 8\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraLSTDay: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Land_Surface_Temp_Day',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 7,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraSnowCover: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Snow_Cover',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 8,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraAOD: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Aerosol',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 6,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tModisTerraChlorophyll: {\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tvariant: 'MODIS_Terra_Chlorophyll_A',\n\t\t\t\t\t\tformat: 'png',\n\t\t\t\t\t\tmaxZoom: 7,\n\t\t\t\t\t\topacity: 0.75\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tNLS: {\n\t\t\t// NLS maps are copyright National library of Scotland.\n\t\t\t// http://maps.nls.uk/projects/api/index.html\n\t\t\t// Please contact NLS for anything other than non-commercial low volume usage\n\t\t\t//\n\t\t\t// Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s\n\t\t\t// z0-9 - 1:1m\n\t\t\t// z10-11 - quarter inch (1:253440)\n\t\t\t// z12-18 - one inch (1:63360)\n\t\t\turl: '//nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg',\n\t\t\toptions: {\n\t\t\t\tattribution: 'National Library of Scotland Historic Maps',\n\t\t\t\tbounds: [[49.6, -12], [61.7, 3]],\n\t\t\t\tminZoom: 1,\n\t\t\t\tmaxZoom: 18,\n\t\t\t\tsubdomains: '0123',\n\t\t\t}\n\t\t},\n\t\tJusticeMap: {\n\t\t\t// Justice Map (http://www.justicemap.org/)\n\t\t\t// Visualize race and income data for your community, county and country.\n\t\t\t// Includes tools for data journalists, bloggers and community activists.\n\t\t\turl: 'http://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png',\n\t\t\toptions: {\n\t\t\t\tattribution: 'Justice Map',\n\t\t\t\t// one of 'county', 'tract', 'block'\n\t\t\t\tsize: 'county',\n\t\t\t\t// Bounds for USA, including Alaska and Hawaii\n\t\t\t\tbounds: [[14, -180], [72, -56]]\n\t\t\t},\n\t\t\tvariants: {\n\t\t\t\tincome: 'income',\n\t\t\t\tamericanIndian: 'indian',\n\t\t\t\tasian: 'asian',\n\t\t\t\tblack: 'black',\n\t\t\t\thispanic: 'hispanic',\n\t\t\t\tmulti: 'multi',\n\t\t\t\tnonWhite: 'nonwhite',\n\t\t\t\twhite: 'white',\n\t\t\t\tplurality: 'plural'\n\t\t\t}\n\t\t}\n\t};\n\n\tL.tileLayer.provider = function (provider, options) {\n\t\treturn new L.TileLayer.Provider(provider, options);\n\t};\n\n\treturn L;\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanM/ZmE0NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0EsMkJBQTJCLG1CQUFtQjtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWixJQUFJO0FBQ0o7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQzdEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLGNBQWMsRUFBRSxvQ0FBb0MsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFD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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkge1xuXHRcdC8vIEFNRC4gUmVnaXN0ZXIgYXMgYW4gYW5vbnltb3VzIG1vZHVsZS5cblx0XHRkZWZpbmUoWydsZWFmbGV0J10sIGZhY3RvcnkpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBtb2R1bGVzID09PSAnb2JqZWN0JyAmJiBtb2R1bGUuZXhwb3J0cykge1xuXHRcdC8vIGRlZmluZSBhIENvbW1vbiBKUyBtb2R1bGUgdGhhdCByZWxpZXMgb24gJ2xlYWZsZXQnXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KHJlcXVpcmUoJ2xlYWZsZXQnKSk7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gQXNzdW1lIExlYWZsZXQgaXMgbG9hZGVkIGludG8gZ2xvYmFsIG9iamVjdCBMIGFscmVhZHlcblx0XHRmYWN0b3J5KEwpO1xuXHR9XG59KHRoaXMsIGZ1bmN0aW9uIChMKSB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHRMLlRpbGVMYXllci5Qcm92aWRlciA9IEwuVGlsZUxheWVyLmV4dGVuZCh7XG5cdFx0aW5pdGlhbGl6ZTogZnVuY3Rpb24gKGFyZywgb3B0aW9ucykge1xuXHRcdFx0dmFyIHByb3ZpZGVycyA9IEwuVGlsZUxheWVyLlByb3ZpZGVyLnByb3ZpZGVycztcblxuXHRcdFx0dmFyIHBhcnRzID0gYXJnLnNwbGl0KCcuJyk7XG5cblx0XHRcdHZhciBwcm92aWRlck5hbWUgPSBwYXJ0c1swXTtcblx0XHRcdHZhciB2YXJpYW50TmFtZSA9IHBhcnRzWzFdO1xuXG5cdFx0XHRpZiAoIXByb3ZpZGVyc1twcm92aWRlck5hbWVdKSB7XG5cdFx0XHRcdHRocm93ICdObyBzdWNoIHByb3ZpZGVyICgnICsgcHJvdmlkZXJOYW1lICsgJyknO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgcHJvdmlkZXIgPSB7XG5cdFx0XHRcdHVybDogcHJvdmlkZXJzW3Byb3ZpZGVyTmFtZV0udXJsLFxuXHRcdFx0XHRvcHRpb25zOiBwcm92aWRlcnNbcHJvdmlkZXJOYW1lXS5vcHRpb25zXG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBvdmVyd3JpdGUgdmFsdWVzIGluIHByb3ZpZGVyIGZyb20gdmFyaWFudC5cblx0XHRcdGlmICh2YXJpYW50TmFtZSAmJiAndmFyaWFudHMnIGluIHByb3ZpZGVyc1twcm92aWRlck5hbWVdKSB7XG5cdFx0XHRcdGlmICghKHZhcmlhbnROYW1lIGluIHByb3ZpZGVyc1twcm92aWRlck5hbWVdLnZhcmlhbnRzKSkge1xuXHRcdFx0XHRcdHRocm93ICdObyBzdWNoIHZhcmlhbnQgb2YgJyArIHByb3ZpZGVyTmFtZSArICcgKCcgKyB2YXJpYW50TmFtZSArICcpJztcblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgdmFyaWFudCA9IHByb3ZpZGVyc1twcm92aWRlck5hbWVdLnZhcmlhbnRzW3ZhcmlhbnROYW1lXTtcblx0XHRcdFx0dmFyIHZhcmlhbnRPcHRpb25zO1xuXHRcdFx0XHRpZiAodHlwZW9mIHZhcmlhbnQgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0dmFyaWFudE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiB2YXJpYW50XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR2YXJpYW50T3B0aW9ucyA9IHZhcmlhbnQub3B0aW9ucztcblx0XHRcdFx0fVxuXHRcdFx0XHRwcm92aWRlciA9IHtcblx0XHRcdFx0XHR1cmw6IHZhcmlhbnQudXJsIHx8IHByb3ZpZGVyLnVybCxcblx0XHRcdFx0XHRvcHRpb25zOiBMLlV0aWwuZXh0ZW5kKHt9LCBwcm92aWRlci5vcHRpb25zLCB2YXJpYW50T3B0aW9ucylcblx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0dmFyIGZvcmNlSFRUUCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2ZpbGU6JyB8fCBwcm92aWRlci5vcHRpb25zLmZvcmNlSFRUUDtcblx0XHRcdGlmIChwcm92aWRlci51cmwuaW5kZXhPZignLy8nKSA9PT0gMCAmJiBmb3JjZUhUVFApIHtcblx0XHRcdFx0cHJvdmlkZXIudXJsID0gJ2h0dHA6JyArIHByb3ZpZGVyLnVybDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgcmV0aW5hIG9wdGlvbiBpcyBzZXRcblx0XHRcdGlmIChwcm92aWRlci5vcHRpb25zLnJldGluYSkge1xuXHRcdFx0XHQvLyBDaGVjayByZXRpbmEgc2NyZWVuXG5cdFx0XHRcdGlmIChvcHRpb25zLmRldGVjdFJldGluYSAmJiBMLkJyb3dzZXIucmV0aW5hKSB7XG5cdFx0XHRcdFx0Ly8gVGhlIHJldGluYSBvcHRpb24gd2lsbCBiZSBhY3RpdmUgbm93XG5cdFx0XHRcdFx0Ly8gQnV0IHdlIG5lZWQgdG8gcHJldmVudCBMZWFmbGV0IHJldGluYSBtb2RlXG5cdFx0XHRcdFx0b3B0aW9ucy5kZXRlY3RSZXRpbmEgPSBmYWxzZTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvLyBObyByZXRpbmEsIHJlbW92ZSBvcHRpb25cblx0XHRcdFx0XHRwcm92aWRlci5vcHRpb25zLnJldGluYSA9ICcnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIHJlcGxhY2UgYXR0cmlidXRpb24gcGxhY2Vob2xkZXJzIHdpdGggdGhlaXIgdmFsdWVzIGZyb20gdG9wbGV2ZWwgcHJvdmlkZXIgYXR0cmlidXRpb24sXG5cdFx0XHQvLyByZWN1cnNpdmVseVxuXHRcdFx0dmFyIGF0dHJpYnV0aW9uUmVwbGFjZXIgPSBmdW5jdGlvbiAoYXR0cikge1xuXHRcdFx0XHRpZiAoYXR0ci5pbmRleE9mKCd7YXR0cmlidXRpb24uJykgPT09IC0xKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGF0dHI7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGF0dHIucmVwbGFjZSgvXFx7YXR0cmlidXRpb24uKFxcdyopXFx9Lyxcblx0XHRcdFx0XHRmdW5jdGlvbiAobWF0Y2gsIGF0dHJpYnV0aW9uTmFtZSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGF0dHJpYnV0aW9uUmVwbGFjZXIocHJvdmlkZXJzW2F0dHJpYnV0aW9uTmFtZV0ub3B0aW9ucy5hdHRyaWJ1dGlvbik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQpO1xuXHRcdFx0fTtcblx0XHRcdHByb3ZpZGVyLm9wdGlvbnMuYXR0cmlidXRpb24gPSBhdHRyaWJ1dGlvblJlcGxhY2VyKHByb3ZpZGVyLm9wdGlvbnMuYXR0cmlidXRpb24pO1xuXG5cdFx0XHQvLyBDb21wdXRlIGZpbmFsIG9wdGlvbnMgY29tYmluaW5nIHByb3ZpZGVyIG9wdGlvbnMgd2l0aCBhbnkgdXNlciBvdmVycmlkZXNcblx0XHRcdHZhciBsYXllck9wdHMgPSBMLlV0aWwuZXh0ZW5kKHt9LCBwcm92aWRlci5vcHRpb25zLCBvcHRpb25zKTtcblx0XHRcdEwuVGlsZUxheWVyLnByb3RvdHlwZS5pbml0aWFsaXplLmNhbGwodGhpcywgcHJvdmlkZXIudXJsLCBsYXllck9wdHMpO1xuXHRcdH1cblx0fSk7XG5cblx0LyoqXG5cdCAqIERlZmluaXRpb24gb2YgcHJvdmlkZXJzLlxuXHQgKiBzZWUgaHR0cDovL2xlYWZsZXRqcy5jb20vcmVmZXJlbmNlLmh0bWwjdGlsZWxheWVyIGZvciBvcHRpb25zIGluIHRoZSBvcHRpb25zIG1hcC5cblx0ICovXG5cblx0TC5UaWxlTGF5ZXIuUHJvdmlkZXIucHJvdmlkZXJzID0ge1xuXHRcdE9wZW5TdHJlZXRNYXA6IHtcblx0XHRcdHVybDogJy8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTksXG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCcmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCI+T3BlblN0cmVldE1hcDwvYT4nXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0TWFwbmlrOiB7fSxcblx0XHRcdFx0QmxhY2tBbmRXaGl0ZToge1xuXHRcdFx0XHRcdHVybDogJ2h0dHA6Ly97c30udGlsZXMud21mbGFicy5vcmcvYnctbWFwbmlrL3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMThcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdERFOiB7XG5cdFx0XHRcdFx0dXJsOiAnLy97c30udGlsZS5vcGVuc3RyZWV0bWFwLmRlL3RpbGVzL29zbWRlL3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMThcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdEZyYW5jZToge1xuXHRcdFx0XHRcdHVybDogJy8ve3N9LnRpbGUub3BlbnN0cmVldG1hcC5mci9vc21mci97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdG1heFpvb206IDIwLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICcmY29weTsgT3BlbnN0cmVldG1hcCBGcmFuY2UgfCB7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0nXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRIT1Q6IHtcblx0XHRcdFx0XHR1cmw6ICcvL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAuZnIvaG90L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0sIFRpbGVzIGNvdXJ0ZXN5IG9mIDxhIGhyZWY9XCJodHRwOi8vaG90Lm9wZW5zdHJlZXRtYXAub3JnL1wiIHRhcmdldD1cIl9ibGFua1wiPkh1bWFuaXRhcmlhbiBPcGVuU3RyZWV0TWFwIFRlYW08L2E+J1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0QlpIOiB7XG5cdFx0XHRcdFx0dXJsOiAnaHR0cDovL3RpbGUub3BlbnN0cmVldG1hcC5iemgvYnIve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSwgVGlsZXMgY291cnRlc3kgb2YgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5iemgvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+QnJldG9uIE9wZW5TdHJlZXRNYXAgVGVhbTwvYT4nLFxuXHRcdFx0XHRcdFx0Ym91bmRzOiBbWzQ2LjIsIC01LjVdLCBbNTAsIDAuN11dXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuU2VhTWFwOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8vdGlsZXMub3BlbnNlYW1hcC5vcmcvc2VhbWFyay97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ01hcCBkYXRhOiAmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cub3BlbnNlYW1hcC5vcmdcIj5PcGVuU2VhTWFwPC9hPiBjb250cmlidXRvcnMnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuVG9wb01hcDoge1xuXHRcdFx0dXJsOiAnLy97c30udGlsZS5vcGVudG9wb21hcC5vcmcve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTcsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnTWFwIGRhdGE6IHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSwgPGEgaHJlZj1cImh0dHA6Ly92aWV3ZmluZGVycGFub3JhbWFzLm9yZ1wiPlNSVE08L2E+IHwgTWFwIHN0eWxlOiAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vb3BlbnRvcG9tYXAub3JnXCI+T3BlblRvcG9NYXA8L2E+ICg8YSBocmVmPVwiaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzMuMC9cIj5DQy1CWS1TQTwvYT4pJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0VGh1bmRlcmZvcmVzdDoge1xuXHRcdFx0dXJsOiAnLy97c30udGlsZS50aHVuZGVyZm9yZXN0LmNvbS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nP2FwaWtleT17YXBpa2V5fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCcmY29weTsgPGEgaHJlZj1cImh0dHA6Ly93d3cudGh1bmRlcmZvcmVzdC5jb20vXCI+VGh1bmRlcmZvcmVzdDwvYT4sIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHZhcmlhbnQ6ICdjeWNsZScsXG5cdFx0XHRcdGFwaWtleTogJzxpbnNlcnQgeW91ciBhcGkga2V5IGhlcmU+Jyxcblx0XHRcdFx0bWF4Wm9vbTogMjJcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRPcGVuQ3ljbGVNYXA6ICdjeWNsZScsXG5cdFx0XHRcdFRyYW5zcG9ydDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd0cmFuc3BvcnQnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRUcmFuc3BvcnREYXJrOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RyYW5zcG9ydC1kYXJrJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0U3BpbmFsTWFwOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3NwaW5hbC1tYXAnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRMYW5kc2NhcGU6ICdsYW5kc2NhcGUnLFxuXHRcdFx0XHRPdXRkb29yczogJ291dGRvb3JzJyxcblx0XHRcdFx0UGlvbmVlcjogJ3Bpb25lZXInXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuTWFwU3VyZmVyOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8va29yb25hLmdlb2cudW5pLWhlaWRlbGJlcmcuZGUvdGlsZXMve3ZhcmlhbnR9L3g9e3h9Jnk9e3l9Jno9e3p9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMjAsXG5cdFx0XHRcdHZhcmlhbnQ6ICdyb2FkcycsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnSW1hZ2VyeSBmcm9tIDxhIGhyZWY9XCJodHRwOi8vZ2lzY2llbmNlLnVuaS1oZC5kZS9cIj5HSVNjaWVuY2UgUmVzZWFyY2ggR3JvdXAgQCBVbml2ZXJzaXR5IG9mIEhlaWRlbGJlcmc8L2E+ICZtZGFzaDsgTWFwIGRhdGEge2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9J1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdFJvYWRzOiAncm9hZHMnLFxuXHRcdFx0XHRBZG1pbkJvdW5kczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdhZG1pbmInLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdEdyYXlzY2FsZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdyb2Fkc2cnLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdEh5ZGRhOiB7XG5cdFx0XHR1cmw6ICcvL3tzfS50aWxlLm9wZW5zdHJlZXRtYXAuc2UvaHlkZGEve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE4LFxuXHRcdFx0XHR2YXJpYW50OiAnZnVsbCcsXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnVGlsZXMgY291cnRlc3kgb2YgPGEgaHJlZj1cImh0dHA6Ly9vcGVuc3RyZWV0bWFwLnNlL1wiIHRhcmdldD1cIl9ibGFua1wiPk9wZW5TdHJlZXRNYXAgU3dlZGVuPC9hPiAmbWRhc2g7IE1hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRGdWxsOiAnZnVsbCcsXG5cdFx0XHRcdEJhc2U6ICdiYXNlJyxcblx0XHRcdFx0Um9hZHNBbmRMYWJlbHM6ICdyb2Fkc19hbmRfbGFiZWxzJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0TWFwQm94OiB7XG5cdFx0XHR1cmw6ICcvL2FwaS50aWxlcy5tYXBib3guY29tL3Y0L3tpZH0ve3p9L3t4fS97eX0ucG5nP2FjY2Vzc190b2tlbj17YWNjZXNzVG9rZW59Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246XG5cdFx0XHRcdFx0J0ltYWdlcnkgZnJvbSA8YSBocmVmPVwiaHR0cDovL21hcGJveC5jb20vYWJvdXQvbWFwcy9cIj5NYXBCb3g8L2E+ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0J01hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICdhYmNkJyxcblx0XHRcdFx0aWQ6ICdzdHJlZXRzJyxcblx0XHRcdFx0YWNjZXNzVG9rZW46ICc8aW5zZXJ0IHlvdXIgYWNjZXNzIHRva2VuIGhlcmU+Jyxcblx0XHRcdH1cblx0XHR9LFxuXHRcdFN0YW1lbjoge1xuXHRcdFx0dXJsOiAnLy9zdGFtZW4tdGlsZXMte3N9LmEuc3NsLmZhc3RseS5uZXQve3ZhcmlhbnR9L3t6fS97eH0ve3l9LntleHR9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246XG5cdFx0XHRcdFx0J01hcCB0aWxlcyBieSA8YSBocmVmPVwiaHR0cDovL3N0YW1lbi5jb21cIj5TdGFtZW4gRGVzaWduPC9hPiwgJyArXG5cdFx0XHRcdFx0JzxhIGhyZWY9XCJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjBcIj5DQyBCWSAzLjA8L2E+ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0J01hcCBkYXRhIHthdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICdhYmNkJyxcblx0XHRcdFx0bWluWm9vbTogMCxcblx0XHRcdFx0bWF4Wm9vbTogMjAsXG5cdFx0XHRcdHZhcmlhbnQ6ICd0b25lcicsXG5cdFx0XHRcdGV4dDogJ3BuZydcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRUb25lcjogJ3RvbmVyJyxcblx0XHRcdFx0VG9uZXJCYWNrZ3JvdW5kOiAndG9uZXItYmFja2dyb3VuZCcsXG5cdFx0XHRcdFRvbmVySHlicmlkOiAndG9uZXItaHlicmlkJyxcblx0XHRcdFx0VG9uZXJMaW5lczogJ3RvbmVyLWxpbmVzJyxcblx0XHRcdFx0VG9uZXJMYWJlbHM6ICd0b25lci1sYWJlbHMnLFxuXHRcdFx0XHRUb25lckxpdGU6ICd0b25lci1saXRlJyxcblx0XHRcdFx0V2F0ZXJjb2xvcjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd3YXRlcmNvbG9yJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDEsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxNlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VGVycmFpbjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICd0ZXJyYWluJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDAsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxOFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VGVycmFpbkJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi1iYWNrZ3JvdW5kJyxcblx0XHRcdFx0XHRcdG1pblpvb206IDAsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxOFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0VG9wT1NNUmVsaWVmOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RvcG9zbS1jb2xvci1yZWxpZWYnLFxuXHRcdFx0XHRcdFx0ZXh0OiAnanBnJyxcblx0XHRcdFx0XHRcdGJvdW5kczogW1syMiwgLTEzMl0sIFs1MSwgLTU2XV1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFRvcE9TTUZlYXR1cmVzOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3RvcG9zbS1mZWF0dXJlcycsXG5cdFx0XHRcdFx0XHRib3VuZHM6IFtbMjIsIC0xMzJdLCBbNTEsIC01Nl1dLFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC45XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRFc3JpOiB7XG5cdFx0XHR1cmw6ICcvL3NlcnZlci5hcmNnaXNvbmxpbmUuY29tL0FyY0dJUy9yZXN0L3NlcnZpY2VzL3t2YXJpYW50fS9NYXBTZXJ2ZXIvdGlsZS97en0ve3l9L3t4fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9TdHJlZXRfTWFwJyxcblx0XHRcdFx0YXR0cmlidXRpb246ICdUaWxlcyAmY29weTsgRXNyaSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRXb3JsZFN0cmVldE1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IEVzcmksIERlTG9ybWUsIE5BVlRFUSwgVVNHUywgSW50ZXJtYXAsIGlQQywgTlJDQU4sIEVzcmkgSmFwYW4sIE1FVEksIEVzcmkgQ2hpbmEgKEhvbmcgS29uZyksIEVzcmkgKFRoYWlsYW5kKSwgVG9tVG9tLCAyMDEyJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0RGVMb3JtZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdTcGVjaWFsdHkvRGVMb3JtZV9Xb3JsZF9CYXNlX01hcCcsXG5cdFx0XHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTEsXG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5Fc3JpfSAmbWRhc2g7IENvcHlyaWdodDogJmNvcHk7MjAxMiBEZUxvcm1lJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0V29ybGRUb3BvTWFwOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1RvcG9fTWFwJyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdFc3JpLCBEZUxvcm1lLCBOQVZURVEsIFRvbVRvbSwgSW50ZXJtYXAsIGlQQywgVVNHUywgRkFPLCBOUFMsIE5SQ0FOLCBHZW9CYXNlLCBLYWRhc3RlciBOTCwgT3JkbmFuY2UgU3VydmV5LCBFc3JpIEphcGFuLCBNRVRJLCBFc3JpIENoaW5hIChIb25nIEtvbmcpLCBhbmQgdGhlIEdJUyBVc2VyIENvbW11bml0eSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFdvcmxkSW1hZ2VyeToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9JbWFnZXJ5Jyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IEVzcmksIGktY3ViZWQsIFVTREEsIFVTR1MsIEFFWCwgR2VvRXllLCBHZXRtYXBwaW5nLCBBZXJvZ3JpZCwgSUdOLCBJR1AsIFVQUi1FR1AsIGFuZCB0aGUgR0lTIFVzZXIgQ29tbXVuaXR5J1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0V29ybGRUZXJyYWluOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1RlcnJhaW5fQmFzZScsXG5cdFx0XHRcdFx0XHRtYXhab29tOiAxMyxcblx0XHRcdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLkVzcml9ICZtZGFzaDsgJyArXG5cdFx0XHRcdFx0XHRcdCdTb3VyY2U6IFVTR1MsIEVzcmksIFRBTkEsIERlTG9ybWUsIGFuZCBOUFMnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRXb3JsZFNoYWRlZFJlbGllZjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdXb3JsZF9TaGFkZWRfUmVsaWVmJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDEzLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2U6IEVzcmknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRXb3JsZFBoeXNpY2FsOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ1dvcmxkX1BoeXNpY2FsX01hcCcsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA4LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2U6IFVTIE5hdGlvbmFsIFBhcmsgU2VydmljZSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdE9jZWFuQmFzZW1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdPY2Vhbl9CYXNlbWFwJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDEzLFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBTb3VyY2VzOiBHRUJDTywgTk9BQSwgQ0hTLCBPU1UsIFVOSCwgQ1NVTUIsIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERlTG9ybWUsIE5BVlRFUSwgYW5kIEVzcmknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHROYXRHZW9Xb3JsZE1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdOYXRHZW9fV29ybGRfTWFwJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBOYXRpb25hbCBHZW9ncmFwaGljLCBFc3JpLCBEZUxvcm1lLCBOQVZURVEsIFVORVAtV0NNQywgVVNHUywgTkFTQSwgRVNBLCBNRVRJLCBOUkNBTiwgR0VCQ08sIE5PQUEsIGlQQydcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdFdvcmxkR3JheUNhbnZhczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdDYW52YXMvV29ybGRfTGlnaHRfR3JheV9CYXNlJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uRXNyaX0gJm1kYXNoOyBFc3JpLCBEZUxvcm1lLCBOQVZURVEnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRPcGVuV2VhdGhlck1hcDoge1xuXHRcdFx0dXJsOiAnaHR0cDovL3tzfS50aWxlLm9wZW53ZWF0aGVybWFwLm9yZy9tYXAve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ01hcCBkYXRhICZjb3B5OyA8YSBocmVmPVwiaHR0cDovL29wZW53ZWF0aGVybWFwLm9yZ1wiPk9wZW5XZWF0aGVyTWFwPC9hPicsXG5cdFx0XHRcdG9wYWNpdHk6IDAuNVxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdENsb3VkczogJ2Nsb3VkcycsXG5cdFx0XHRcdENsb3Vkc0NsYXNzaWM6ICdjbG91ZHNfY2xzJyxcblx0XHRcdFx0UHJlY2lwaXRhdGlvbjogJ3ByZWNpcGl0YXRpb24nLFxuXHRcdFx0XHRQcmVjaXBpdGF0aW9uQ2xhc3NpYzogJ3ByZWNpcGl0YXRpb25fY2xzJyxcblx0XHRcdFx0UmFpbjogJ3JhaW4nLFxuXHRcdFx0XHRSYWluQ2xhc3NpYzogJ3JhaW5fY2xzJyxcblx0XHRcdFx0UHJlc3N1cmU6ICdwcmVzc3VyZScsXG5cdFx0XHRcdFByZXNzdXJlQ29udG91cjogJ3ByZXNzdXJlX2NudHInLFxuXHRcdFx0XHRXaW5kOiAnd2luZCcsXG5cdFx0XHRcdFRlbXBlcmF0dXJlOiAndGVtcCcsXG5cdFx0XHRcdFNub3c6ICdzbm93J1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SEVSRToge1xuXHRcdFx0Lypcblx0XHRcdCAqIEhFUkUgbWFwcywgZm9ybWVybHkgTm9raWEgbWFwcy5cblx0XHRcdCAqIFRoZXNlIGJhc2VtYXBzIGFyZSBmcmVlLCBidXQgeW91IG5lZWQgYW4gQVBJIGtleS4gUGxlYXNlIHNpZ24gdXAgYXRcblx0XHRcdCAqIGh0dHA6Ly9kZXZlbG9wZXIuaGVyZS5jb20vZ2V0dGluZy1zdGFydGVkXG5cdFx0XHQgKlxuXHRcdFx0ICogTm90ZSB0aGF0IHRoZSBiYXNlIHVybHMgY29udGFpbiAnLmNpdCcgd2hpY2hzIGlzIEhFUkUnc1xuXHRcdFx0ICogJ0N1c3RvbWVyIEludGVncmF0aW9uIFRlc3RpbmcnIGVudmlyb25tZW50LiBQbGVhc2UgcmVtb3ZlIGZvciBwcm9kdWN0aW9uXG5cdFx0XHQgKiBlbnZpcmlvbm1lbnRzLlxuXHRcdFx0ICovXG5cdFx0XHR1cmw6XG5cdFx0XHRcdCcvL3tzfS57YmFzZX0ubWFwcy5jaXQuYXBpLmhlcmUuY29tL21hcHRpbGUvMi4xLycgK1xuXHRcdFx0XHQne3R5cGV9L3ttYXBJRH0ve3ZhcmlhbnR9L3t6fS97eH0ve3l9L3tzaXplfS97Zm9ybWF0fT8nICtcblx0XHRcdFx0J2FwcF9pZD17YXBwX2lkfSZhcHBfY29kZT17YXBwX2NvZGV9JmxnPXtsYW5ndWFnZX0nLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQnTWFwICZjb3B5OyAxOTg3LTIwMTQgPGEgaHJlZj1cImh0dHA6Ly9kZXZlbG9wZXIuaGVyZS5jb21cIj5IRVJFPC9hPicsXG5cdFx0XHRcdHN1YmRvbWFpbnM6ICcxMjM0Jyxcblx0XHRcdFx0bWFwSUQ6ICduZXdlc3QnLFxuXHRcdFx0XHQnYXBwX2lkJzogJzxpbnNlcnQgeW91ciBhcHBfaWQgaGVyZT4nLFxuXHRcdFx0XHQnYXBwX2NvZGUnOiAnPGluc2VydCB5b3VyIGFwcF9jb2RlIGhlcmU+Jyxcblx0XHRcdFx0YmFzZTogJ2Jhc2UnLFxuXHRcdFx0XHR2YXJpYW50OiAnbm9ybWFsLmRheScsXG5cdFx0XHRcdG1heFpvb206IDIwLFxuXHRcdFx0XHR0eXBlOiAnbWFwdGlsZScsXG5cdFx0XHRcdGxhbmd1YWdlOiAnZW5nJyxcblx0XHRcdFx0Zm9ybWF0OiAncG5nOCcsXG5cdFx0XHRcdHNpemU6ICcyNTYnXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0bm9ybWFsRGF5OiAnbm9ybWFsLmRheScsXG5cdFx0XHRcdG5vcm1hbERheUN1c3RvbTogJ25vcm1hbC5kYXkuY3VzdG9tJyxcblx0XHRcdFx0bm9ybWFsRGF5R3JleTogJ25vcm1hbC5kYXkuZ3JleScsXG5cdFx0XHRcdG5vcm1hbERheU1vYmlsZTogJ25vcm1hbC5kYXkubW9iaWxlJyxcblx0XHRcdFx0bm9ybWFsRGF5R3JleU1vYmlsZTogJ25vcm1hbC5kYXkuZ3JleS5tb2JpbGUnLFxuXHRcdFx0XHRub3JtYWxEYXlUcmFuc2l0OiAnbm9ybWFsLmRheS50cmFuc2l0Jyxcblx0XHRcdFx0bm9ybWFsRGF5VHJhbnNpdE1vYmlsZTogJ25vcm1hbC5kYXkudHJhbnNpdC5tb2JpbGUnLFxuXHRcdFx0XHRub3JtYWxOaWdodDogJ25vcm1hbC5uaWdodCcsXG5cdFx0XHRcdG5vcm1hbE5pZ2h0TW9iaWxlOiAnbm9ybWFsLm5pZ2h0Lm1vYmlsZScsXG5cdFx0XHRcdG5vcm1hbE5pZ2h0R3JleTogJ25vcm1hbC5uaWdodC5ncmV5Jyxcblx0XHRcdFx0bm9ybWFsTmlnaHRHcmV5TW9iaWxlOiAnbm9ybWFsLm5pZ2h0LmdyZXkubW9iaWxlJyxcblxuXHRcdFx0XHRiYXNpY01hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdiYXNldGlsZSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG1hcExhYmVsczoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdsYWJlbHRpbGUnLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAncG5nJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0dHJhZmZpY0Zsb3c6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRiYXNlOiAndHJhZmZpYycsXG5cdFx0XHRcdFx0XHR0eXBlOiAnZmxvd3RpbGUnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRjYXJuYXZEYXlHcmV5OiAnY2FybmF2LmRheS5ncmV5Jyxcblx0XHRcdFx0aHlicmlkRGF5OiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnaHlicmlkLmRheSdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGh5YnJpZERheU1vYmlsZToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGJhc2U6ICdhZXJpYWwnLFxuXHRcdFx0XHRcdFx0dmFyaWFudDogJ2h5YnJpZC5kYXkubW9iaWxlJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0cGVkZXN0cmlhbkRheTogJ3BlZGVzdHJpYW4uZGF5Jyxcblx0XHRcdFx0cGVkZXN0cmlhbk5pZ2h0OiAncGVkZXN0cmlhbi5uaWdodCcsXG5cdFx0XHRcdHNhdGVsbGl0ZURheToge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdGJhc2U6ICdhZXJpYWwnLFxuXHRcdFx0XHRcdFx0dmFyaWFudDogJ3NhdGVsbGl0ZS5kYXknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR0ZXJyYWluRGF5OiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi5kYXknXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHR0ZXJyYWluRGF5TW9iaWxlOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0YmFzZTogJ2FlcmlhbCcsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAndGVycmFpbi5kYXkubW9iaWxlJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0RnJlZU1hcFNLOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8vdHtzfS5mcmVlbWFwLnNrL1Qve3p9L3t4fS97eX0uanBlZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1pblpvb206IDgsXG5cdFx0XHRcdG1heFpvb206IDE2LFxuXHRcdFx0XHRzdWJkb21haW5zOiAnMTIzNCcsXG5cdFx0XHRcdGJvdW5kczogW1s0Ny4yMDQ2NDIsIDE1Ljk5NjA5M10sIFs0OS44MzA4OTYsIDIyLjU3NjkwNF1dLFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9LCB2aXp1YWxpemF0aW9uIENDLUJ5LVNBIDIuMCA8YSBocmVmPVwiaHR0cDovL2ZyZWVtYXAuc2tcIj5GcmVlbWFwLnNrPC9hPidcblx0XHRcdH1cblx0XHR9LFxuXHRcdE10Yk1hcDoge1xuXHRcdFx0dXJsOiAnaHR0cDovL3RpbGUubXRibWFwLmN6L210Ym1hcF90aWxlcy97en0ve3h9L3t5fS5wbmcnLFxuXHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRhdHRyaWJ1dGlvbjpcblx0XHRcdFx0XHQne2F0dHJpYnV0aW9uLk9wZW5TdHJlZXRNYXB9ICZhbXA7IFVTR1MnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRDYXJ0b0RCOiB7XG5cdFx0XHR1cmw6ICdodHRwOi8ve3N9LmJhc2VtYXBzLmNhcnRvY2RuLmNvbS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246ICd7YXR0cmlidXRpb24uT3BlblN0cmVldE1hcH0gJmNvcHk7IDxhIGhyZWY9XCJodHRwOi8vY2FydG9kYi5jb20vYXR0cmlidXRpb25zXCI+Q2FydG9EQjwvYT4nLFxuXHRcdFx0XHRzdWJkb21haW5zOiAnYWJjZCcsXG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHR2YXJpYW50OiAnbGlnaHRfYWxsJ1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdFBvc2l0cm9uOiAnbGlnaHRfYWxsJyxcblx0XHRcdFx0UG9zaXRyb25Ob0xhYmVsczogJ2xpZ2h0X25vbGFiZWxzJyxcblx0XHRcdFx0UG9zaXRyb25Pbmx5TGFiZWxzOiAnbGlnaHRfb25seV9sYWJlbHMnLFxuXHRcdFx0XHREYXJrTWF0dGVyOiAnZGFya19hbGwnLFxuXHRcdFx0XHREYXJrTWF0dGVyTm9MYWJlbHM6ICdkYXJrX25vbGFiZWxzJyxcblx0XHRcdFx0RGFya01hdHRlck9ubHlMYWJlbHM6ICdkYXJrX29ubHlfbGFiZWxzJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SGlrZUJpa2U6IHtcblx0XHRcdHVybDogJ2h0dHA6Ly97c30udGlsZXMud21mbGFicy5vcmcve3ZhcmlhbnR9L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRhdHRyaWJ1dGlvbjogJ3thdHRyaWJ1dGlvbi5PcGVuU3RyZWV0TWFwfScsXG5cdFx0XHRcdHZhcmlhbnQ6ICdoaWtlYmlrZSdcblx0XHRcdH0sXG5cdFx0XHR2YXJpYW50czoge1xuXHRcdFx0XHRIaWtlQmlrZToge30sXG5cdFx0XHRcdEhpbGxTaGFkaW5nOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0bWF4Wm9vbTogMTUsXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnaGlsbHNoYWRpbmcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRCYXNlbWFwQVQ6IHtcblx0XHRcdHVybDogJ2h0dHBzOi8vbWFwc3tzfS53aWVuLmd2LmF0L2Jhc2VtYXAve3ZhcmlhbnR9L25vcm1hbC9nb29nbGUzODU3L3t6fS97eX0ve3h9Lntmb3JtYXR9Jyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0bWF4Wm9vbTogMTksXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnRGF0ZW5xdWVsbGU6IDxhIGhyZWY9XCJ3d3cuYmFzZW1hcC5hdFwiPmJhc2VtYXAuYXQ8L2E+Jyxcblx0XHRcdFx0c3ViZG9tYWluczogWycnLCAnMScsICcyJywgJzMnLCAnNCddLFxuXHRcdFx0XHRmb3JtYXQ6ICdwbmcnLFxuXHRcdFx0XHRib3VuZHM6IFtbNDYuMzU4NzcwLCA4Ljc4MjM3OV0sIFs0OS4wMzc4NzIsIDE3LjE4OTUzMl1dLFxuXHRcdFx0XHR2YXJpYW50OiAnZ2VvbGFuZGJhc2VtYXAnXG5cdFx0XHR9LFxuXHRcdFx0dmFyaWFudHM6IHtcblx0XHRcdFx0YmFzZW1hcDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdG1heFpvb206IDIwLCAvLyBjdXJyZW50bHkgb25seSBpbiBWaWVubmFcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdnZW9sYW5kYmFzZW1hcCdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGdyYXU6ICdibWFwZ3JhdScsXG5cdFx0XHRcdG92ZXJsYXk6ICdibWFwb3ZlcmxheScsXG5cdFx0XHRcdGhpZ2hkcGk6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnYm1hcGhpZHBpJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ2pwZWcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRvcnRob2ZvdG86IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRtYXhab29tOiAyMCwgLy8gY3VycmVudGx5IG9ubHkgaW4gVmllbm5hXG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnYm1hcG9ydGhvZm90bzMwY20nLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAnanBlZydcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdG5sbWFwczoge1xuXHRcdFx0dXJsOiAnaHR0cHM6Ly9nZW9kYXRhLm5hdGlvbmFhbGdlb3JlZ2lzdGVyLm5sL3RpbGVzL3NlcnZpY2Uvd210cy97dmFyaWFudH0vRVBTRzozODU3L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdG1pblpvb206IDYsXG5cdFx0XHRcdG1heFpvb206IDE5LFxuXHRcdFx0XHRib3VuZHM6IFtbNTAuNSwgMy4yNV0sIFs1NCwgNy42XV0sXG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnS2FhcnRnZWdldmVucyAmY29weTsgPGEgaHJlZj1cImthZGFzdGVyLm5sXCI+S2FkYXN0ZXI8L2E+J1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdCdzdGFuZGFhcmQnOiAnYnJ0YWNodGVyZ3JvbmRrYWFydCcsXG5cdFx0XHRcdCdwYXN0ZWwnOiAnYnJ0YWNodGVyZ3JvbmRrYWFydHBhc3RlbCcsXG5cdFx0XHRcdCdncmlqcyc6ICdicnRhY2h0ZXJncm9uZGthYXJ0Z3JpanMnLFxuXHRcdFx0XHQnbHVjaHRmb3RvJzoge1xuXHRcdFx0XHRcdCd1cmwnOiAnaHR0cHM6Ly9nZW9kYXRhLm5hdGlvbmFhbGdlb3JlZ2lzdGVyLm5sL2x1Y2h0Zm90by9yZ2Ivd210cy8xLjAuMC8yMDE2X29ydGhvMjUvRVBTRzozODU3L3t6fS97eH0ve3l9LnBuZycsXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdE5BU0FHSUJTOiB7XG5cdFx0XHR1cmw6ICcvL21hcDEudmlzLmVhcnRoZGF0YS5uYXNhLmdvdi93bXRzLXdlYm1lcmMve3ZhcmlhbnR9L2RlZmF1bHQve3RpbWV9L3t0aWxlbWF0cml4c2V0fXttYXhab29tfS97en0ve3l9L3t4fS57Zm9ybWF0fScsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOlxuXHRcdFx0XHRcdCdJbWFnZXJ5IHByb3ZpZGVkIGJ5IHNlcnZpY2VzIGZyb20gdGhlIEdsb2JhbCBJbWFnZXJ5IEJyb3dzZSBTZXJ2aWNlcyAoR0lCUyksIG9wZXJhdGVkIGJ5IHRoZSBOQVNBL0dTRkMvRWFydGggU2NpZW5jZSBEYXRhIGFuZCBJbmZvcm1hdGlvbiBTeXN0ZW0gJyArXG5cdFx0XHRcdFx0Jyg8YSBocmVmPVwiaHR0cHM6Ly9lYXJ0aGRhdGEubmFzYS5nb3ZcIj5FU0RJUzwvYT4pIHdpdGggZnVuZGluZyBwcm92aWRlZCBieSBOQVNBL0hRLicsXG5cdFx0XHRcdGJvdW5kczogW1stODUuMDUxMTI4Nzc3NiwgLTE3OS45OTk5OTk5NzVdLCBbODUuMDUxMTI4Nzc3NiwgMTc5Ljk5OTk5OTk3NV1dLFxuXHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRtYXhab29tOiA5LFxuXHRcdFx0XHRmb3JtYXQ6ICdqcGcnLFxuXHRcdFx0XHR0aW1lOiAnJyxcblx0XHRcdFx0dGlsZW1hdHJpeHNldDogJ0dvb2dsZU1hcHNDb21wYXRpYmxlX0xldmVsJ1xuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdE1vZGlzVGVycmFUcnVlQ29sb3JDUjogJ01PRElTX1RlcnJhX0NvcnJlY3RlZFJlZmxlY3RhbmNlX1RydWVDb2xvcicsXG5cdFx0XHRcdE1vZGlzVGVycmFCYW5kczM2N0NSOiAnTU9ESVNfVGVycmFfQ29ycmVjdGVkUmVmbGVjdGFuY2VfQmFuZHMzNjcnLFxuXHRcdFx0XHRWaWlyc0VhcnRoQXROaWdodDIwMTI6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnVklJUlNfQ2l0eUxpZ2h0c18yMDEyJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdE1vZGlzVGVycmFMU1REYXk6IHtcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHR2YXJpYW50OiAnTU9ESVNfVGVycmFfTGFuZF9TdXJmYWNlX1RlbXBfRGF5Jyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA3LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYVNub3dDb3Zlcjoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdNT0RJU19UZXJyYV9Tbm93X0NvdmVyJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA4LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYUFPRDoge1xuXHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdHZhcmlhbnQ6ICdNT0RJU19UZXJyYV9BZXJvc29sJyxcblx0XHRcdFx0XHRcdGZvcm1hdDogJ3BuZycsXG5cdFx0XHRcdFx0XHRtYXhab29tOiA2LFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMC43NVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0TW9kaXNUZXJyYUNobG9yb3BoeWxsOiB7XG5cdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0dmFyaWFudDogJ01PRElTX1RlcnJhX0NobG9yb3BoeWxsX0EnLFxuXHRcdFx0XHRcdFx0Zm9ybWF0OiAncG5nJyxcblx0XHRcdFx0XHRcdG1heFpvb206IDcsXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwLjc1XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHROTFM6IHtcblx0XHRcdC8vIE5MUyBtYXBzIGFyZSBjb3B5cmlnaHQgTmF0aW9uYWwgbGlicmFyeSBvZiBTY290bGFuZC5cblx0XHRcdC8vIGh0dHA6Ly9tYXBzLm5scy51ay9wcm9qZWN0cy9hcGkvaW5kZXguaHRtbFxuXHRcdFx0Ly8gUGxlYXNlIGNvbnRhY3QgTkxTIGZvciBhbnl0aGluZyBvdGhlciB0aGFuIG5vbi1jb21tZXJjaWFsIGxvdyB2b2x1bWUgdXNhZ2Vcblx0XHRcdC8vXG5cdFx0XHQvLyBNYXAgc291cmNlczogT3JkbmFuY2UgU3VydmV5IDE6MW0gdG8gMTo2M0ssIDE5MjBzLTE5NDBzXG5cdFx0XHQvLyAgIHowLTkgIC0gMToxbVxuXHRcdFx0Ly8gIHoxMC0xMSAtIHF1YXJ0ZXIgaW5jaCAoMToyNTM0NDApXG5cdFx0XHQvLyAgejEyLTE4IC0gb25lIGluY2ggKDE6NjMzNjApXG5cdFx0XHR1cmw6ICcvL25scy17c30udGlsZXNlcnZlci5jb20vbmxzL3t6fS97eH0ve3l9LmpwZycsXG5cdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdGF0dHJpYnV0aW9uOiAnPGEgaHJlZj1cImh0dHA6Ly9nZW8ubmxzLnVrL21hcHMvXCI+TmF0aW9uYWwgTGlicmFyeSBvZiBTY290bGFuZCBIaXN0b3JpYyBNYXBzPC9hPicsXG5cdFx0XHRcdGJvdW5kczogW1s0OS42LCAtMTJdLCBbNjEuNywgM11dLFxuXHRcdFx0XHRtaW5ab29tOiAxLFxuXHRcdFx0XHRtYXhab29tOiAxOCxcblx0XHRcdFx0c3ViZG9tYWluczogJzAxMjMnLFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0SnVzdGljZU1hcDoge1xuXHRcdFx0Ly8gSnVzdGljZSBNYXAgKGh0dHA6Ly93d3cuanVzdGljZW1hcC5vcmcvKVxuXHRcdFx0Ly8gVmlzdWFsaXplIHJhY2UgYW5kIGluY29tZSBkYXRhIGZvciB5b3VyIGNvbW11bml0eSwgY291bnR5IGFuZCBjb3VudHJ5LlxuXHRcdFx0Ly8gSW5jbHVkZXMgdG9vbHMgZm9yIGRhdGEgam91cm5hbGlzdHMsIGJsb2dnZXJzIGFuZCBjb21tdW5pdHkgYWN0aXZpc3RzLlxuXHRcdFx0dXJsOiAnaHR0cDovL3d3dy5qdXN0aWNlbWFwLm9yZy90aWxlL3tzaXplfS97dmFyaWFudH0ve3p9L3t4fS97eX0ucG5nJyxcblx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0YXR0cmlidXRpb246ICc8YSBocmVmPVwiaHR0cDovL3d3dy5qdXN0aWNlbWFwLm9yZy90ZXJtcy5waHBcIj5KdXN0aWNlIE1hcDwvYT4nLFxuXHRcdFx0XHQvLyBvbmUgb2YgJ2NvdW50eScsICd0cmFjdCcsICdibG9jaydcblx0XHRcdFx0c2l6ZTogJ2NvdW50eScsXG5cdFx0XHRcdC8vIEJvdW5kcyBmb3IgVVNBLCBpbmNsdWRpbmcgQWxhc2thIGFuZCBIYXdhaWlcblx0XHRcdFx0Ym91bmRzOiBbWzE0LCAtMTgwXSwgWzcyLCAtNTZdXVxuXHRcdFx0fSxcblx0XHRcdHZhcmlhbnRzOiB7XG5cdFx0XHRcdGluY29tZTogJ2luY29tZScsXG5cdFx0XHRcdGFtZXJpY2FuSW5kaWFuOiAnaW5kaWFuJyxcblx0XHRcdFx0YXNpYW46ICdhc2lhbicsXG5cdFx0XHRcdGJsYWNrOiAnYmxhY2snLFxuXHRcdFx0XHRoaXNwYW5pYzogJ2hpc3BhbmljJyxcblx0XHRcdFx0bXVsdGk6ICdtdWx0aScsXG5cdFx0XHRcdG5vbldoaXRlOiAnbm9ud2hpdGUnLFxuXHRcdFx0XHR3aGl0ZTogJ3doaXRlJyxcblx0XHRcdFx0cGx1cmFsaXR5OiAncGx1cmFsJ1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblxuXHRMLnRpbGVMYXllci5wcm92aWRlciA9IGZ1bmN0aW9uIChwcm92aWRlciwgb3B0aW9ucykge1xuXHRcdHJldHVybiBuZXcgTC5UaWxlTGF5ZXIuUHJvdmlkZXIocHJvdmlkZXIsIG9wdGlvbnMpO1xuXHR9O1xuXG5cdHJldHVybiBMO1xufSkpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvbGVhZmxldC1wcm92aWRlcnMvbGVhZmxldC1wcm92aWRlcnMuanNcbi8vIG1vZHVsZSBpZCA9IC4vbm9kZV9tb2R1bGVzL2xlYWZsZXQtcHJvdmlkZXJzL2xlYWZsZXQtcHJvdmlkZXJzLmpzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCAxIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/leaflet-providers/leaflet-providers.js\n");
+
+/***/ }),
+
/***/ "./node_modules/leaflet-rotatedmarker/leaflet.rotatedMarker.js":
/***/ (function(module, exports) {
@@ -361,7 +368,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__base_map__ = __webpa
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-eval("var leaflet = __webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\");\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (opts) {\n\n opts = Object.assign({\n render_elem: 'map',\n center: [29.98139, -95.33374],\n zoom: 5,\n maxZoom: 10,\n layers: [],\n set_marker: false\n }, opts);\n\n var feature_groups = [];\n /*var openaip_airspace_labels = new leaflet.TileLayer.WMS(\n \"http://{s}.tile.maps.openaip.net/geowebcache/service/wms\", {\n maxZoom: 14,\n minZoom: 12,\n layers: 'openaip_approved_airspaces_labels',\n tileSize: 1024,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n openaip_airspace_labels.addTo(map);*/\n\n var opencyclemap_phys_osm = new leaflet.TileLayer('http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=f09a38fa87514de4890fc96e7fe8ecb1', {\n maxZoom: 14,\n minZoom: 4,\n format: 'image/png',\n transparent: true\n });\n\n feature_groups.push(opencyclemap_phys_osm);\n\n /*const openaip_cached_basemap = new leaflet.TileLayer(\"http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png\", {\n maxZoom: 14,\n minZoom: 4,\n tms: true,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n feature_groups.push(openaip_cached_basemap);\n */\n\n var openaip_basemap_phys_osm = leaflet.featureGroup(feature_groups);\n\n var map = leaflet.map('map', {\n layers: [openaip_basemap_phys_osm],\n center: opts.center,\n zoom: opts.zoom,\n scrollWheelZoom: false\n });\n\n var attrib = leaflet.control.attribution({ position: 'bottomleft' });\n attrib.addAttribution('Thunderforest');\n attrib.addAttribution('openAIP');\n attrib.addAttribution('OpenStreetMap contributors');\n attrib.addAttribution('OpenWeatherMap');\n\n attrib.addTo(map);\n\n return map;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcz80MzA3Il0sIm5hbWVzIjpbImxlYWZsZXQiLCJyZXF1aXJlIiwib3B0cyIsIk9iamVjdCIsImFzc2lnbiIsInJlbmRlcl9lbGVtIiwiY2VudGVyIiwiem9vbSIsIm1heFpvb20iLCJsYXllcnMiLCJzZXRfbWFya2VyIiwiZmVhdHVyZV9ncm91cHMiLCJvcGVuY3ljbGVtYXBfcGh5c19vc20iLCJUaWxlTGF5ZXIiLCJtaW5ab29tIiwiZm9ybWF0IiwidHJhbnNwYXJlbnQiLCJwdXNoIiwib3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtIiwiZmVhdHVyZUdyb3VwIiwibWFwIiwic2Nyb2xsV2hlZWxab29tIiwiYXR0cmliIiwiY29udHJvbCIsImF0dHJpYnV0aW9uIiwicG9zaXRpb24iLCJhZGRBdHRyaWJ1dGlvbiIsImFkZFRvIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxVQUFVLG1CQUFBQyxDQUFRLDRDQUFSLENBQWhCOztBQUVBLHlEQUFlLFVBQUNDLElBQUQsRUFBVTs7QUFFckJBLFdBQU9DLE9BQU9DLE1BQVAsQ0FBYztBQUNqQkMscUJBQWEsS0FESTtBQUVqQkMsZ0JBQVEsQ0FBQyxRQUFELEVBQVcsQ0FBQyxRQUFaLENBRlM7QUFHakJDLGNBQU0sQ0FIVztBQUlqQkMsaUJBQVMsRUFKUTtBQUtqQkMsZ0JBQVEsRUFMUztBQU1qQkMsb0JBQVk7QUFOSyxLQUFkLEVBT0pSLElBUEksQ0FBUDs7QUFTQSxRQUFJUyxpQkFBaUIsRUFBckI7QUFDQTs7Ozs7Ozs7Ozs7OztBQWNBLFFBQU1DLHdCQUF3QixJQUFJWixRQUFRYSxTQUFaLENBQzFCLHFHQUQwQixFQUM2RTtBQUNuR0wsaUJBQVMsRUFEMEY7QUFFbkdNLGlCQUFTLENBRjBGO0FBR25HQyxnQkFBUSxXQUgyRjtBQUluR0MscUJBQWE7QUFKc0YsS0FEN0UsQ0FBOUI7O0FBUUFMLG1CQUFlTSxJQUFmLENBQW9CTCxxQkFBcEI7O0FBRUE7Ozs7Ozs7Ozs7OztBQWFBLFFBQU1NLDJCQUEyQmxCLFFBQVFtQixZQUFSLENBQXFCUixjQUFyQixDQUFqQzs7QUFFQSxRQUFJUyxNQUFNcEIsUUFBUW9CLEdBQVIsQ0FBWSxLQUFaLEVBQW1CO0FBQ3pCWCxnQkFBUSxDQUFDUyx3QkFBRCxDQURpQjtBQUV6QlosZ0JBQVFKLEtBQUtJLE1BRlk7QUFHekJDLGNBQU1MLEtBQUtLLElBSGM7QUFJekJjLHlCQUFpQjtBQUpRLEtBQW5CLENBQVY7O0FBT0EsUUFBTUMsU0FBU3RCLFFBQVF1QixPQUFSLENBQWdCQyxXQUFoQixDQUE0QixFQUFDQyxVQUFVLFlBQVgsRUFBNUIsQ0FBZjtBQUNBSCxXQUFPSSxjQUFQLENBQXNCLG9GQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLHdFQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLDJHQUF0QjtBQUNBSixXQUFPSSxjQUFQLENBQXNCLHNGQUF0Qjs7QUFFQUosV0FBT0ssS0FBUCxDQUFhUCxHQUFiOztBQUVBLFdBQU9BLEdBQVA7QUFDSCxDQW5FRCIsImZpbGUiOiIuL3Jlc291cmNlcy9qcy9tYXBzL2Jhc2VfbWFwLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbGVhZmxldCA9IHJlcXVpcmUoJ2xlYWZsZXQnKTtcblxuZXhwb3J0IGRlZmF1bHQgKG9wdHMpID0+IHtcblxuICAgIG9wdHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgcmVuZGVyX2VsZW06ICdtYXAnLFxuICAgICAgICBjZW50ZXI6IFsyOS45ODEzOSwgLTk1LjMzMzc0XSxcbiAgICAgICAgem9vbTogNSxcbiAgICAgICAgbWF4Wm9vbTogMTAsXG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIHNldF9tYXJrZXI6IGZhbHNlLFxuICAgIH0sIG9wdHMpO1xuXG4gICAgbGV0IGZlYXR1cmVfZ3JvdXBzID0gW107XG4gICAgLyp2YXIgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIuV01TKFxuICAgICAgICBcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2Uvd21zXCIsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogMTIsXG4gICAgICAgICAgICBsYXllcnM6ICdvcGVuYWlwX2FwcHJvdmVkX2FpcnNwYWNlc19sYWJlbHMnLFxuICAgICAgICAgICAgdGlsZVNpemU6IDEwMjQsXG4gICAgICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMuYWRkVG8obWFwKTsqL1xuXG4gICAgY29uc3Qgb3BlbmN5Y2xlbWFwX3BoeXNfb3NtID0gbmV3IGxlYWZsZXQuVGlsZUxheWVyKFxuICAgICAgICAnaHR0cDovL3tzfS50aWxlLnRodW5kZXJmb3Jlc3QuY29tL2xhbmRzY2FwZS97en0ve3h9L3t5fS5wbmc/YXBpa2V5PWYwOWEzOGZhODc1MTRkZTQ4OTBmYzk2ZTdmZThlY2IxJywge1xuICAgICAgICAgICAgbWF4Wm9vbTogMTQsXG4gICAgICAgICAgICBtaW5ab29tOiA0LFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pXG5cbiAgICBmZWF0dXJlX2dyb3Vwcy5wdXNoKG9wZW5jeWNsZW1hcF9waHlzX29zbSlcblxuICAgIC8qY29uc3Qgb3BlbmFpcF9jYWNoZWRfYmFzZW1hcCA9IG5ldyBsZWFmbGV0LlRpbGVMYXllcihcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2UvdG1zLzEuMC4wL29wZW5haXBfYmFzZW1hcEBFUFNHJTNBOTAwOTEzQHBuZy97en0ve3h9L3t5fS5wbmdcIiwge1xuICAgICAgICBtYXhab29tOiAxNCxcbiAgICAgICAgbWluWm9vbTogNCxcbiAgICAgICAgdG1zOiB0cnVlLFxuICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgIHN1YmRvbWFpbnM6ICcxMicsXG4gICAgICAgIGZvcm1hdDogJ2ltYWdlL3BuZycsXG4gICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgfSk7XG5cbiAgICBmZWF0dXJlX2dyb3Vwcy5wdXNoKG9wZW5haXBfY2FjaGVkX2Jhc2VtYXApO1xuICAgICovXG5cbiAgICBjb25zdCBvcGVuYWlwX2Jhc2VtYXBfcGh5c19vc20gPSBsZWFmbGV0LmZlYXR1cmVHcm91cChmZWF0dXJlX2dyb3Vwcyk7XG5cbiAgICBsZXQgbWFwID0gbGVhZmxldC5tYXAoJ21hcCcsIHtcbiAgICAgICAgbGF5ZXJzOiBbb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtXSxcbiAgICAgICAgY2VudGVyOiBvcHRzLmNlbnRlcixcbiAgICAgICAgem9vbTogb3B0cy56b29tLFxuICAgICAgICBzY3JvbGxXaGVlbFpvb206IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgYXR0cmliID0gbGVhZmxldC5jb250cm9sLmF0dHJpYnV0aW9uKHtwb3NpdGlvbjogJ2JvdHRvbWxlZnQnfSlcbiAgICBhdHRyaWIuYWRkQXR0cmlidXRpb24oJzxhIGhyZWY9XCJodHRwczovL3d3dy50aHVuZGVyZm9yZXN0LmNvbVwiIHRhcmdldD1cIl9ibGFua1wiIHN0eWxlPVwiXCI+VGh1bmRlcmZvcmVzdDwvYT4nKVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5haXAubmV0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5vcGVuQUlQPC9hPicpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMnKVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW53ZWF0aGVybWFwLm9yZ1wiIHRhcmdldD1cIl9ibGFua1wiIHN0eWxlPVwiXCI+T3BlbldlYXRoZXJNYXA8L2E+JylcblxuICAgIGF0dHJpYi5hZGRUbyhtYXApO1xuXG4gICAgcmV0dXJuIG1hcFxufTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL3Jlc291cmNlcy9qcy9tYXBzL2Jhc2VfbWFwLmpzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/maps/base_map.js\n");
+eval("var leaflet = __webpack_require__(\"./node_modules/leaflet/dist/leaflet-src.js\");\nvar providers = __webpack_require__(\"./node_modules/leaflet-providers/leaflet-providers.js\");\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (opts) {\n\n opts = Object.assign({\n render_elem: 'map',\n center: [29.98139, -95.33374],\n zoom: 5,\n maxZoom: 10,\n layers: [],\n set_marker: false\n }, opts);\n\n var feature_groups = [];\n /*var openaip_airspace_labels = new leaflet.TileLayer.WMS(\n \"http://{s}.tile.maps.openaip.net/geowebcache/service/wms\", {\n maxZoom: 14,\n minZoom: 12,\n layers: 'openaip_approved_airspaces_labels',\n tileSize: 1024,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n openaip_airspace_labels.addTo(map);*/\n\n var opencyclemap_phys_osm = new leaflet.TileLayer('http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=f09a38fa87514de4890fc96e7fe8ecb1', {\n maxZoom: 14,\n minZoom: 4,\n format: 'image/png',\n transparent: true\n });\n\n feature_groups.push(opencyclemap_phys_osm);\n\n /*const openaip_cached_basemap = new leaflet.TileLayer(\"http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png\", {\n maxZoom: 14,\n minZoom: 4,\n tms: true,\n detectRetina: true,\n subdomains: '12',\n format: 'image/png',\n transparent: true\n });\n feature_groups.push(openaip_cached_basemap);\n */\n\n var openaip_basemap_phys_osm = leaflet.featureGroup(feature_groups);\n\n var map = leaflet.map('map', {\n //layers: [openaip_basemap_phys_osm],\n center: opts.center,\n zoom: opts.zoom,\n scrollWheelZoom: false\n });\n\n leaflet.tileLayer.provider('Esri.WorldStreetMap').addTo(map);\n\n /*const attrib = leaflet.control.attribution({position: 'bottomleft'})\n attrib.addAttribution('Thunderforest')\n attrib.addAttribution('openAIP')\n attrib.addAttribution('OpenStreetMap contributors')\n attrib.addAttribution('OpenWeatherMap')\n attrib.addTo(map);*/\n\n return map;\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcz80MzA3Il0sIm5hbWVzIjpbImxlYWZsZXQiLCJyZXF1aXJlIiwicHJvdmlkZXJzIiwib3B0cyIsIk9iamVjdCIsImFzc2lnbiIsInJlbmRlcl9lbGVtIiwiY2VudGVyIiwiem9vbSIsIm1heFpvb20iLCJsYXllcnMiLCJzZXRfbWFya2VyIiwiZmVhdHVyZV9ncm91cHMiLCJvcGVuY3ljbGVtYXBfcGh5c19vc20iLCJUaWxlTGF5ZXIiLCJtaW5ab29tIiwiZm9ybWF0IiwidHJhbnNwYXJlbnQiLCJwdXNoIiwib3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtIiwiZmVhdHVyZUdyb3VwIiwibWFwIiwic2Nyb2xsV2hlZWxab29tIiwidGlsZUxheWVyIiwicHJvdmlkZXIiLCJhZGRUbyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsVUFBVSxtQkFBQUMsQ0FBUSw0Q0FBUixDQUFoQjtBQUNBLElBQU1DLFlBQVksbUJBQUFELENBQVEsdURBQVIsQ0FBbEI7O0FBRUEseURBQWUsVUFBQ0UsSUFBRCxFQUFVOztBQUVyQkEsV0FBT0MsT0FBT0MsTUFBUCxDQUFjO0FBQ2pCQyxxQkFBYSxLQURJO0FBRWpCQyxnQkFBUSxDQUFDLFFBQUQsRUFBVyxDQUFDLFFBQVosQ0FGUztBQUdqQkMsY0FBTSxDQUhXO0FBSWpCQyxpQkFBUyxFQUpRO0FBS2pCQyxnQkFBUSxFQUxTO0FBTWpCQyxvQkFBWTtBQU5LLEtBQWQsRUFPSlIsSUFQSSxDQUFQOztBQVNBLFFBQUlTLGlCQUFpQixFQUFyQjtBQUNBOzs7Ozs7Ozs7Ozs7O0FBZ0JBLFFBQU1DLHdCQUF3QixJQUFJYixRQUFRYyxTQUFaLENBQzFCLHFHQUQwQixFQUM2RTtBQUNuR0wsaUJBQVMsRUFEMEY7QUFFbkdNLGlCQUFTLENBRjBGO0FBR25HQyxnQkFBUSxXQUgyRjtBQUluR0MscUJBQWE7QUFKc0YsS0FEN0UsQ0FBOUI7O0FBUUFMLG1CQUFlTSxJQUFmLENBQW9CTCxxQkFBcEI7O0FBRUE7Ozs7Ozs7Ozs7OztBQWFBLFFBQU1NLDJCQUEyQm5CLFFBQVFvQixZQUFSLENBQXFCUixjQUFyQixDQUFqQzs7QUFFQSxRQUFJUyxNQUFNckIsUUFBUXFCLEdBQVIsQ0FBWSxLQUFaLEVBQW1CO0FBQ3pCO0FBQ0FkLGdCQUFRSixLQUFLSSxNQUZZO0FBR3pCQyxjQUFNTCxLQUFLSyxJQUhjO0FBSXpCYyx5QkFBaUI7QUFKUSxLQUFuQixDQUFWOztBQU9BdEIsWUFBUXVCLFNBQVIsQ0FBa0JDLFFBQWxCLENBQTJCLHFCQUEzQixFQUFrREMsS0FBbEQsQ0FBd0RKLEdBQXhEOztBQUVBOzs7Ozs7O0FBUUEsV0FBT0EsR0FBUDtBQUNILENBdkVEIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL21hcHMvYmFzZV9tYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBsZWFmbGV0ID0gcmVxdWlyZSgnbGVhZmxldCcpO1xuY29uc3QgcHJvdmlkZXJzID0gcmVxdWlyZSgnbGVhZmxldC1wcm92aWRlcnMnKTtcblxuZXhwb3J0IGRlZmF1bHQgKG9wdHMpID0+IHtcblxuICAgIG9wdHMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgcmVuZGVyX2VsZW06ICdtYXAnLFxuICAgICAgICBjZW50ZXI6IFsyOS45ODEzOSwgLTk1LjMzMzc0XSxcbiAgICAgICAgem9vbTogNSxcbiAgICAgICAgbWF4Wm9vbTogMTAsXG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIHNldF9tYXJrZXI6IGZhbHNlLFxuICAgIH0sIG9wdHMpO1xuXG4gICAgbGV0IGZlYXR1cmVfZ3JvdXBzID0gW107XG4gICAgLyp2YXIgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIuV01TKFxuICAgICAgICBcImh0dHA6Ly97c30udGlsZS5tYXBzLm9wZW5haXAubmV0L2dlb3dlYmNhY2hlL3NlcnZpY2Uvd21zXCIsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogMTIsXG4gICAgICAgICAgICBsYXllcnM6ICdvcGVuYWlwX2FwcHJvdmVkX2FpcnNwYWNlc19sYWJlbHMnLFxuICAgICAgICAgICAgdGlsZVNpemU6IDEwMjQsXG4gICAgICAgICAgICBkZXRlY3RSZXRpbmE6IHRydWUsXG4gICAgICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICAgICAgZm9ybWF0OiAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50OiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgb3BlbmFpcF9haXJzcGFjZV9sYWJlbHMuYWRkVG8obWFwKTsqL1xuXG5cblxuICAgIGNvbnN0IG9wZW5jeWNsZW1hcF9waHlzX29zbSA9IG5ldyBsZWFmbGV0LlRpbGVMYXllcihcbiAgICAgICAgJ2h0dHA6Ly97c30udGlsZS50aHVuZGVyZm9yZXN0LmNvbS9sYW5kc2NhcGUve3p9L3t4fS97eX0ucG5nP2FwaWtleT1mMDlhMzhmYTg3NTE0ZGU0ODkwZmM5NmU3ZmU4ZWNiMScsIHtcbiAgICAgICAgICAgIG1heFpvb206IDE0LFxuICAgICAgICAgICAgbWluWm9vbTogNCxcbiAgICAgICAgICAgIGZvcm1hdDogJ2ltYWdlL3BuZycsXG4gICAgICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZVxuICAgICAgICB9KVxuXG4gICAgZmVhdHVyZV9ncm91cHMucHVzaChvcGVuY3ljbGVtYXBfcGh5c19vc20pXG5cbiAgICAvKmNvbnN0IG9wZW5haXBfY2FjaGVkX2Jhc2VtYXAgPSBuZXcgbGVhZmxldC5UaWxlTGF5ZXIoXCJodHRwOi8ve3N9LnRpbGUubWFwcy5vcGVuYWlwLm5ldC9nZW93ZWJjYWNoZS9zZXJ2aWNlL3Rtcy8xLjAuMC9vcGVuYWlwX2Jhc2VtYXBARVBTRyUzQTkwMDkxM0Bwbmcve3p9L3t4fS97eX0ucG5nXCIsIHtcbiAgICAgICAgbWF4Wm9vbTogMTQsXG4gICAgICAgIG1pblpvb206IDQsXG4gICAgICAgIHRtczogdHJ1ZSxcbiAgICAgICAgZGV0ZWN0UmV0aW5hOiB0cnVlLFxuICAgICAgICBzdWJkb21haW5zOiAnMTInLFxuICAgICAgICBmb3JtYXQ6ICdpbWFnZS9wbmcnLFxuICAgICAgICB0cmFuc3BhcmVudDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgZmVhdHVyZV9ncm91cHMucHVzaChvcGVuYWlwX2NhY2hlZF9iYXNlbWFwKTtcbiAgICAqL1xuXG4gICAgY29uc3Qgb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtID0gbGVhZmxldC5mZWF0dXJlR3JvdXAoZmVhdHVyZV9ncm91cHMpO1xuXG4gICAgbGV0IG1hcCA9IGxlYWZsZXQubWFwKCdtYXAnLCB7XG4gICAgICAgIC8vbGF5ZXJzOiBbb3BlbmFpcF9iYXNlbWFwX3BoeXNfb3NtXSxcbiAgICAgICAgY2VudGVyOiBvcHRzLmNlbnRlcixcbiAgICAgICAgem9vbTogb3B0cy56b29tLFxuICAgICAgICBzY3JvbGxXaGVlbFpvb206IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgbGVhZmxldC50aWxlTGF5ZXIucHJvdmlkZXIoJ0VzcmkuV29ybGRTdHJlZXRNYXAnKS5hZGRUbyhtYXApO1xuXG4gICAgLypjb25zdCBhdHRyaWIgPSBsZWFmbGV0LmNvbnRyb2wuYXR0cmlidXRpb24oe3Bvc2l0aW9uOiAnYm90dG9tbGVmdCd9KVxuICAgIGF0dHJpYi5hZGRBdHRyaWJ1dGlvbignPGEgaHJlZj1cImh0dHBzOi8vd3d3LnRodW5kZXJmb3Jlc3QuY29tXCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5UaHVuZGVyZm9yZXN0PC9hPicpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbmFpcC5uZXRcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cIlwiPm9wZW5BSVA8L2E+JylcbiAgICBhdHRyaWIuYWRkQXR0cmlidXRpb24oJzxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9jb3B5cmlnaHRcIiB0YXJnZXQ9XCJfYmxhbmtcIiBzdHlsZT1cIlwiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycycpXG4gICAgYXR0cmliLmFkZEF0dHJpYnV0aW9uKCc8YSBocmVmPVwiaHR0cHM6Ly93d3cub3BlbndlYXRoZXJtYXAub3JnXCIgdGFyZ2V0PVwiX2JsYW5rXCIgc3R5bGU9XCJcIj5PcGVuV2VhdGhlck1hcDwvYT4nKVxuXG4gICAgYXR0cmliLmFkZFRvKG1hcCk7Ki9cblxuICAgIHJldHVybiBtYXBcbn07XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9yZXNvdXJjZXMvanMvbWFwcy9iYXNlX21hcC5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/maps/base_map.js\n");
/***/ }),
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index da0ddd96..18c0c60c 100644
--- a/public/mix-manifest.json
+++ b/public/mix-manifest.json
@@ -1,8 +1,8 @@
{
- "/assets/frontend/js/app.js": "/assets/frontend/js/app.js?id=03915ea0eedba5cf1b1e",
+ "/assets/frontend/js/app.js": "/assets/frontend/js/app.js?id=6444c18feb0a63300330",
"/assets/frontend/css/now-ui-kit.css": "/assets/frontend/css/now-ui-kit.css?id=b0a0f05b94a4486db4f2",
"/assets/admin/css/vendor.min.css": "/assets/admin/css/vendor.min.css?id=cc80aec3cf1646f83d8d",
- "/assets/admin/js/app.js": "/assets/admin/js/app.js?id=56dfb08df451052afdd3",
+ "/assets/admin/js/app.js": "/assets/admin/js/app.js?id=3f868969d6489b407712",
"/assets/installer/js/app.js": "/assets/installer/js/app.js?id=3a51850509367b06cd1f",
"/assets/fonts/glyphicons-halflings-regular.woff2": "/assets/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
"/assets/admin/fonts/glyphicons-halflings-regular.woff2": "/assets/admin/fonts/glyphicons-halflings-regular.woff2?id=349344e92fb16221dd56",
diff --git a/resources/js/maps/base_map.js b/resources/js/maps/base_map.js
index f5f334aa..95f831ca 100644
--- a/resources/js/maps/base_map.js
+++ b/resources/js/maps/base_map.js
@@ -1,4 +1,7 @@
+//
+
const leaflet = require('leaflet');
+require('leaflet-providers');
export default (opts) => {
@@ -11,8 +14,9 @@ export default (opts) => {
set_marker: false,
}, opts);
+ /*
let feature_groups = [];
- /*var openaip_airspace_labels = new leaflet.TileLayer.WMS(
+ const openaip_airspace_labels = new leaflet.TileLayer.WMS(
"http://{s}.tile.maps.openaip.net/geowebcache/service/wms", {
maxZoom: 14,
minZoom: 12,
@@ -26,16 +30,6 @@ export default (opts) => {
openaip_airspace_labels.addTo(map);*/
- const opencyclemap_phys_osm = new leaflet.TileLayer(
- 'http://{s}.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=f09a38fa87514de4890fc96e7fe8ecb1', {
- maxZoom: 14,
- minZoom: 4,
- format: 'image/png',
- transparent: true
- })
-
- feature_groups.push(opencyclemap_phys_osm)
-
/*const openaip_cached_basemap = new leaflet.TileLayer("http://{s}.tile.maps.openaip.net/geowebcache/service/tms/1.0.0/openaip_basemap@EPSG%3A900913@png/{z}/{x}/{y}.png", {
maxZoom: 14,
minZoom: 4,
@@ -49,22 +43,14 @@ export default (opts) => {
feature_groups.push(openaip_cached_basemap);
*/
- const openaip_basemap_phys_osm = leaflet.featureGroup(feature_groups);
-
let map = leaflet.map('map', {
- layers: [openaip_basemap_phys_osm],
+ //layers: [openaip_basemap_phys_osm],
center: opts.center,
zoom: opts.zoom,
scrollWheelZoom: false,
});
- const attrib = leaflet.control.attribution({position: 'bottomleft'})
- attrib.addAttribution('Thunderforest')
- attrib.addAttribution('openAIP')
- attrib.addAttribution('OpenStreetMap contributors')
- attrib.addAttribution('OpenWeatherMap')
+ leaflet.tileLayer.provider('Esri.WorldStreetMap').addTo(map);
- attrib.addTo(map);
-
- return map
+ return map;
};
diff --git a/yarn.lock b/yarn.lock
index 34688f8e..1e5f66d3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4346,6 +4346,10 @@ leaflet-ajax@2.1.0:
dependencies:
lie "^3.0.1"
+leaflet-providers@^1.1.17:
+ version "1.1.17"
+ resolved "https://registry.yarnpkg.com/leaflet-providers/-/leaflet-providers-1.1.17.tgz#674628895dacae7f185ec0896039e95bbbadee46"
+
leaflet-rotatedmarker@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/leaflet-rotatedmarker/-/leaflet-rotatedmarker-0.2.0.tgz#4467f49f98d1bfd56959bd9c6705203dd2601277"