udrone/dist/bundle.js

535 lines
2.0 MiB
JavaScript
Raw Normal View History

2022-09-22 23:18:43 +03:00
/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mapbox-gl */ \"./node_modules/mapbox-gl/dist/mapbox-gl.js\");\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jquery */ \"./node_modules/jquery/dist/jquery.js\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var flight_indicators_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! flight-indicators-js */ \"./node_modules/flight-indicators-js/esm/module-flight-indicators.mjs\");\n/* harmony import */ var mqtt_dist_mqtt__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mqtt/dist/mqtt */ \"./node_modules/mqtt/dist/mqtt.js\");\n/* harmony import */ var mqtt_dist_mqtt__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(mqtt_dist_mqtt__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var relaxed_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! relaxed-json */ \"./node_modules/relaxed-json/relaxed-json.js\");\n/* harmony import */ var relaxed_json__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(relaxed_json__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var mapbox_gl_controls__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mapbox-gl-controls */ \"./node_modules/mapbox-gl-controls/lib/index.js\");\n/* harmony import */ var _mapbox_mapbox_minimap__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mapbox/mapbox-minimap */ \"./src/mapbox/mapbox-minimap.js\");\n\n\n\n\n\n\n\n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default().accessToken) = 'pk.eyJ1IjoiYXNzYWRhIiwiYSI6ImNrbTkzd2RlOTBrMmwyb3BoZGZ5bXpyZXIifQ.qPyi1nxJHcc4Z1xL1EKuuA';\nvar map = new (mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default().Map)({\n container: 'map',\n // container ID\n style: 'mapbox://styles/mapbox/satellite-streets-v9',\n // style URL\n center: [8.545564, 47.397974],\n // starting position [lng, lat]\n zoom: 13,\n // starting zoom\n projection: 'globe' // display the map as a 3D globe\n\n});\nmap.addControl(new (mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default().NavigationControl)(), 'bottom-right');\nmap.on('style.load', function () {\n map.setFog({}); // Set the default atmosphere style\n\n document.onclick = hideMenu;\n});\nvar minimap = new _mapbox_mapbox_minimap__WEBPACK_IMPORTED_MODULE_6__[\"default\"]({\n center: [31.393023, 49.011527],\n zoom: 6,\n dragPan: true,\n scrollZoom: true,\n boxZoom: true,\n dragRotate: true,\n keyboard: true,\n doubleClickZoom: true,\n touchZoomRotate: true,\n zoomLevels: [[26, 22, 24], [24, 20, 22], [22, 18, 20], [20, 16, 18], [18, 14, 16], [16, 12, 14], [14, 10, 12], [12, 8, 10], [10, 6, 8], [8, 4, 6]],\n togglePosition: 'topright'\n});\nmap.addControl(minimap, 'top-right'); // with custom styles:\n\nmap.addControl(new mapbox_gl_controls__WEBPACK_IMPORTED_MODULE_5__.StylesControl({\n styles: [{\n label: 'ST',\n styleName: 'Mapbox Streets',\n styleUrl: 'mapbox://styles/mapbox/streets-v9'\n }, {\n label: 'SA',\n styleName: 'Satellite',\n styleUrl: 'mapbox://styles/mapbox/satellite-streets-v9'\n }],\n onChange: function onChange(style) {\n return console.log(style);\n }\n}), 'top-right');\nmap.addControl(new mapbox_gl_controls__WEBPACK_IMPORTED_MODULE_5__.RulerControl(), 'bottom-right');\n\nfunction hideMenu() {\n console.log('hideMenu');\n document.getElementById(\"contextMenu\").style.display = \"none\";\n}\n\nmap.on('contextmenu', function (e) {\n console.log(e);\n\n if (document.getElementById(\"contextMenu\").style.display == \"block\") {\n hideMenu();\n } else {\n var menu = document.getElementById(\"contextMenu\");\n menu.style.display = 'block';\n menu.style.left = e.point.x + \"px\";\n menu.style.top = e.point.y + \"
/***/ }),
/***/ "./src/mapbox/mapbox-minimap.js":
/*!**************************************!*\
!*** ./src/mapbox/mapbox-minimap.js ***!
\**************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mapbox-gl */ \"./node_modules/mapbox-gl/dist/mapbox-gl.js\");\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n\nvar defaultOptions = {\n id: \"mapboxgl-minimap\",\n width: \"320px\",\n height: \"180px\",\n style: \"mapbox://styles/mapbox/streets-v8\",\n center: [0, 0],\n zoom: 6,\n // should be a function; will be bound to Minimap\n zoomAdjust: null,\n // if parent map zoom >= 18 and minimap zoom >= 14, set minimap zoom to 16\n zoomLevels: [[18, 14, 16], [16, 12, 14], [14, 10, 12], [12, 8, 10], [10, 6, 8]],\n lineColor: \"#08F\",\n lineWidth: 1,\n lineOpacity: 1,\n fillColor: \"#F80\",\n fillOpacity: 0.25,\n dragPan: false,\n scrollZoom: false,\n boxZoom: false,\n dragRotate: false,\n keyboard: false,\n doubleClickZoom: false,\n touchZoomRotate: false\n}; //class Minimap extends mapboxgl.NavigationControl {\n\nvar Minimap = /*#__PURE__*/function () {\n function Minimap(_options) {\n _classCallCheck(this, Minimap);\n\n // super();\n this.options = defaultOptions;\n Object.assign(this.options, _options);\n this._ticking = false;\n this._lastMouseMoveEvent = null;\n this._parentMap = null;\n this._isDragging = false;\n this._isCursorOverFeature = false;\n this._previousPoint = [0, 0];\n this._currentPoint = [0, 0];\n this._trackingRectCoordinates = [[[], [], [], [], []]];\n }\n\n _createClass(Minimap, [{\n key: \"onAdd\",\n value: function onAdd(parentMap) {\n this._parentMap = parentMap;\n var opts = this.options;\n\n var container = this._container = this._createContainer(parentMap);\n\n var miniMap = this._miniMap = new (mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default().Map)({\n attributionControl: false,\n container: container,\n style: opts.style,\n zoom: opts.zoom,\n center: opts.center\n });\n if (opts.maxBounds) miniMap.setMaxBounds(opts.maxBounds);\n miniMap.on(\"load\", this._load.bind(this));\n return this._container;\n }\n }, {\n key: \"_load\",\n value: function _load() {\n var opts = this.options;\n var parentMap = this._parentMap;\n var miniMap = this._miniMap;\n var interactions = [\"dragPan\", \"scrollZoom\", \"boxZoom\", \"dragRotate\", \"keyboard\", \"doubleClickZoom\", \"touchZoomRotate\"];\n interactions.forEach(function (i) {\n if (opts[i] !== true) {\n miniMap[i].disable();\n }\n });\n\n if (typeof opts.zoomAdjust === \"function\") {\n this.options.zoomAdjust = opts.zoomAdjust.bind(thi
/***/ }),
/***/ "./node_modules/jquery/dist/jquery.js":
/*!********************************************!*\
!*** ./node_modules/jquery/dist/jquery.js ***!
\********************************************/
/***/ (function(module, exports) {
eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( true && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribu
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/Base/Base.js":
/*!**********************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/Base/Base.js ***!
\**********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass Base {\n constructor() {\n this.node = document.createElement('div');\n this.node.classList.add('mapboxgl-ctrl');\n this.node.classList.add('mapboxgl-ctrl-group');\n this.node.classList.add('mapbox-control');\n }\n addButton(button) {\n this.node.appendChild(button.node);\n }\n addClassName(className) {\n this.node.classList.add(className);\n }\n removeClassName(className) {\n this.node.classList.remove(className);\n }\n onAddControl() {\n // extend\n }\n onRemoveControl() {\n // extend\n }\n onAdd(map) {\n this.map = map;\n this.onAddControl();\n return this.node;\n }\n onRemove() {\n this.onRemoveControl();\n this.node.parentNode.removeChild(this.node);\n this.map = undefined;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Base);\n//# sourceMappingURL=Base.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/Base/Base.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/Button/Button.js":
/*!**************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/Button/Button.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass Button {\n constructor() {\n this.node = document.createElement('button');\n this.node.type = 'button';\n this.icon = null;\n }\n setIcon(icon) {\n this.icon = icon;\n this.node.appendChild(icon);\n }\n setText(text) {\n this.node.textContent = text;\n }\n onClick(callback) {\n this.node.addEventListener('click', callback);\n }\n addClassName(className) {\n this.node.classList.add(className);\n }\n removeClassName(className) {\n this.node.classList.remove(className);\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Button);\n//# sourceMappingURL=Button.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/Button/Button.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/CompassControl/CompassControl.js":
/*!******************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/CompassControl/CompassControl.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CompassControl)\n/* harmony export */ });\n/* harmony import */ var _icons_pointer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../icons/pointer */ \"./node_modules/mapbox-gl-controls/lib/icons/pointer.js\");\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n\n\n\nclass CompassControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n constructor(options) {\n var _a;\n super();\n this.button = new _Button_Button__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n this.instant = (_a = options === null || options === void 0 ? void 0 : options.instant) !== null && _a !== void 0 ? _a : true;\n this.syncRotate = this.syncRotate.bind(this);\n }\n insert() {\n this.addClassName('mapbox-compass');\n if (!this.instant)\n this.node.hidden = true;\n this.button.setIcon((0,_icons_pointer__WEBPACK_IMPORTED_MODULE_0__[\"default\"])());\n this.button.onClick(() => {\n this.map.easeTo({ bearing: 0, pitch: 0 });\n });\n this.addButton(this.button);\n }\n onAddControl() {\n this.insert();\n this.syncRotate();\n this.map.on('rotate', this.syncRotate);\n }\n syncRotate() {\n const angle = this.map.getBearing() * (-1);\n if (!this.instant) {\n this.node.hidden = angle === 0;\n }\n this.button.icon.style.transform = `rotate(${angle}deg)`;\n }\n}\n//# sourceMappingURL=CompassControl.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/CompassControl/CompassControl.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/IImage.js":
/*!********************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/IImage.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nclass IImage {\n loadFile(file) {\n return new Promise(((resolve, reject) => {\n const reader = new FileReader();\n const node = new Image();\n reader.addEventListener('load', () => {\n const imageUrl = reader.result;\n node.onload = () => {\n this.id = file.name;\n this.url = imageUrl;\n this.width = node.width;\n this.height = node.height;\n resolve(this);\n };\n node.onerror = reject;\n node.src = imageUrl;\n }, false);\n reader.readAsDataURL(file);\n }));\n }\n loadUrl(url) {\n return new Promise(((resolve, reject) => {\n const node = new Image();\n node.onload = () => {\n this.id = url.split('/').pop();\n this.url = url;\n this.width = node.width;\n this.height = node.height;\n resolve(this);\n };\n node.onerror = reject;\n node.src = url;\n }));\n }\n setInitialPosition(map) {\n if (!this.width || !this.height)\n throw Error('image is not loaded');\n const padding = 20;\n const mapCanvas = map.getCanvas();\n const canvasWidth = mapCanvas.offsetWidth;\n const canvasHeight = mapCanvas.offsetHeight;\n const maxWidth = canvasWidth - padding * 2;\n const maxHeight = canvasHeight - padding * 2;\n const ratio = Math.min(maxWidth / this.width, maxHeight / this.height);\n const resizeWidth = this.width * ratio;\n const resizeHeight = this.height * ratio;\n const result = [\n [canvasWidth / 2 - resizeWidth / 2, canvasHeight / 2 - resizeHeight / 2],\n [canvasWidth / 2 + resizeWidth / 2, canvasHeight / 2 - resizeHeight / 2],\n [canvasWidth / 2 + resizeWidth / 2, canvasHeight / 2 + resizeHeight / 2],\n [canvasWidth / 2 - resizeWidth / 2, canvasHeight / 2 + resizeHeight / 2], // left bottom\n ];\n map.setPitch(0); // reset pitch for correct projection\n this.position = result.map(point => map.unproject(point));\n }\n get coordinates() {\n return this.position.map(p => [p.lng, p.lat]);\n }\n get asPolygon() {\n return {\n type: 'FeatureCollection',\n features: [\n {\n type: 'Feature',\n properties: { id: this.id },\n geometry: { type: 'Polygon', coordinates: [[...this.coordinates, this.coordinates[0]]] },\n },\n ],\n };\n }\n get asPoints() {\n return {\n type: 'FeatureCollection',\n features: this.coordinates.map((point, i) => ({\n type: 'Feature',\n properties: { index: i },\n geometry: { type: 'Point', coordinates: point },\n })),\n };\n }\n get imageSource() {\n return {\n id: `${this.id}-raster`,\n source: { type: 'image', url: this.url, coordinates: this.coordinates },\n };\n }\n get polygonSource() {\n return {\n id: `${this.id}-polygon`,\n source: { type: 'geojson', data: this.asPolygon },\n };\n }\n get cornersSource() {\n return {\n id: `${this.id}-corners`,\n source: { type: 'geojson', data: this.asPoints },\n };\n }\n get rasterLayer() {\n return {\n id: `${this.id}-raster`,\n type: 'raster',\n source: this.imageSource.id,\n paint: { 'raster-fade-duration': 0, 'raster-opacity': 0.5 },\n };\n }\n get fillLayer() {\n retu
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/ImageControl.js":
/*!**************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/ImageControl.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ImageControl)\n/* harmony export */ });\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n/* harmony import */ var _icons_image__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/image */ \"./node_modules/mapbox-gl-controls/lib/icons/image.js\");\n/* harmony import */ var _IImage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./IImage */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/IImage.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./types */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/types.js\");\n/* harmony import */ var _moveable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./moveable */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/moveable.js\");\n/* harmony import */ var _resizeable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resizeable */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/resizeable.js\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\n\n\n\n\n\n\nclass ImageControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super();\n this.button = new _Button_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n this.fileInput = document.createElement('input');\n this.fileInput.type = 'file';\n this.fileInput.accept = '.jpg, .jpeg, .png';\n this.fileInput.multiple = true;\n this.images = [];\n this.editMode = null;\n this.selectedImage = null;\n this.onMapClick = this.onMapClick.bind(this);\n this.onFileInputChange = this.onFileInputChange.bind(this);\n this.keyDownListener = this.keyDownListener.bind(this);\n }\n insert() {\n this.addClassName('mapbox-control-image');\n this.button.setIcon((0,_icons_image__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n this.addButton(this.button);\n this.node.appendChild(this.fileInput);\n this.button.onClick(() => this.fileInput.click());\n this.fileInput.addEventListener('change', this.onFileInputChange);\n }\n onFileInputChange() {\n Array.from(this.fileInput.files).forEach((file, index) => __awaiter(this, void 0, void 0, function* () {\n const image = yield this.addImage(file);\n if (this.fileInput.files.length - 1 === index)\n this.selectImage(image.id);\n }));\n }\n addImage(data, options = {}) {\n return __awaiter(this, void 0, void 0, function* () {\n const image = new _IImage__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n if (typeof data === 'string') {\n yield image.loadUrl(data);\n }\n else if (data) {\n yield image.loadFile(data);\n }\n else {\n throw Error('file or url is required');\n }\n if (options.position) {\n image.position = options.position;\n
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/layers.js":
/*!********************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/layers.js ***!
\********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"contourLayer\": () => (/* binding */ contourLayer),\n/* harmony export */ \"cornersLayer\": () => (/* binding */ cornersLayer),\n/* harmony export */ \"shadowLayer\": () => (/* binding */ shadowLayer)\n/* harmony export */ });\nconst contourLayer = {\n id: '$contourLayerId',\n type: 'line',\n layout: {\n 'line-cap': 'round',\n 'line-join': 'round',\n },\n paint: {\n 'line-dasharray': [0.2, 2],\n 'line-color': '#3d5afe',\n 'line-width': 2,\n },\n};\nconst shadowLayer = {\n id: '$shadowLayerId',\n type: 'fill',\n paint: { 'fill-opacity': 0 },\n};\nconst cornersLayer = {\n id: '$cornersLayer',\n type: 'circle',\n paint: {\n 'circle-radius': 5,\n 'circle-color': '#3d5afe',\n 'circle-stroke-width': 3,\n 'circle-stroke-color': '#fff',\n }\n};\n//# sourceMappingURL=layers.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/ImageControl/layers.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/moveable.js":
/*!**********************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/moveable.js ***!
\**********************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ moveable)\n/* harmony export */ });\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mapbox-gl */ \"./node_modules/mapbox-gl/dist/mapbox-gl.js\");\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/types.js\");\n/* harmony import */ var _layers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/layers.js\");\n\n\n\nfunction moveable(map, image, onUpdate) {\n const mapCanvas = map.getCanvas();\n let startPosition = null;\n map.addLayer(Object.assign(Object.assign({}, _layers__WEBPACK_IMPORTED_MODULE_2__.contourLayer), { source: image.polygonSource.id }));\n map.addLayer(Object.assign(Object.assign({}, _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer), { source: image.polygonSource.id }));\n function onPointerMove(event) {\n const currentPosition = event.lngLat;\n const deltaLng = startPosition.lng - currentPosition.lng;\n const deltaLat = startPosition.lat - currentPosition.lat;\n onUpdate(image.position.map(p => new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(p.lng - deltaLng, p.lat - deltaLat)));\n startPosition = currentPosition;\n }\n function onPointerUp() {\n mapCanvas.style.cursor = _types__WEBPACK_IMPORTED_MODULE_1__.Cursor.Move;\n map.off('mousemove', onPointerMove);\n map.setLayoutProperty(_layers__WEBPACK_IMPORTED_MODULE_2__.contourLayer.id, 'visibility', _types__WEBPACK_IMPORTED_MODULE_1__.Visibility.Visible);\n }\n function onPointerDown(event) {\n event.preventDefault();\n startPosition = event.lngLat;\n mapCanvas.style.cursor = _types__WEBPACK_IMPORTED_MODULE_1__.Cursor.Grabbing;\n map.on('mousemove', onPointerMove);\n map.setLayoutProperty(_layers__WEBPACK_IMPORTED_MODULE_2__.contourLayer.id, 'visibility', _types__WEBPACK_IMPORTED_MODULE_1__.Visibility.None);\n document.addEventListener('pointerup', onPointerUp, { once: true });\n }\n function onPointerEnter() {\n mapCanvas.style.cursor = _types__WEBPACK_IMPORTED_MODULE_1__.Cursor.Move;\n }\n function onPointerLeave() {\n mapCanvas.style.cursor = '';\n }\n map.on('mouseenter', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerEnter);\n map.on('mouseleave', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerLeave);\n map.on('mousedown', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerDown);\n return () => {\n mapCanvas.style.cursor = '';\n map.off('mousemove', onPointerMove);\n map.off('mouseenter', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerEnter);\n map.off('mouseleave', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerLeave);\n map.off('mousedown', _layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id, onPointerDown);\n document.removeEventListener('pointerup', onPointerUp);\n if (map.getLayer(_layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id))\n map.removeLayer(_layers__WEBPACK_IMPORTED_MODULE_2__.shadowLayer.id);\n if (map.getLayer(_layers__WEBPACK_IMPORTED_MODULE_2__.contourLayer.id))\n map.removeLayer(_layers__WEBPACK_IMPORTED_MODULE_2__.contourLayer.id);\n };\n}\n//# sourceMappingURL=moveable.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/ImageControl/moveable.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/resizeable.js":
/*!************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/resizeable.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ resizeable)\n/* harmony export */ });\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mapbox-gl */ \"./node_modules/mapbox-gl/dist/mapbox-gl.js\");\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _layers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/layers.js\");\n/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/types.js\");\n\n\n\n/**\n * Find the closest point on the line AB from the point P\n */\nfunction getClosestPoint(a, b, p) {\n const u = [p[0] - a[0], p[1] - a[1]]; // vector a->p\n const v = [b[0] - a[0], b[1] - a[1]]; // vector a->b\n const v2 = Math.pow(v[0], 2) + Math.pow(v[1], 2);\n const vu = v[0] * u[0] + v[1] * u[1]; // dot product of v and u\n const t = vu / v2;\n return [a[0] + v[0] * t, a[1] + v[1] * t];\n}\nfunction resizeable(map, image, onUpdate) {\n const mapCanvas = map.getCanvas();\n let currentIndex;\n map.addLayer(Object.assign(Object.assign({}, _layers__WEBPACK_IMPORTED_MODULE_1__.contourLayer), { source: image.polygonSource.id }));\n map.addLayer(Object.assign(Object.assign({}, _layers__WEBPACK_IMPORTED_MODULE_1__.cornersLayer), { source: image.cornersSource.id }));\n function onPointerMove(event) {\n const pointA = map.project(image.position[currentIndex]);\n const pointB = map.project(image.position[image.getOppositePoint(currentIndex)]);\n const pointP = map.project(event.lngLat);\n const closestPoint = getClosestPoint([pointA.x, pointA.y], [pointB.x, pointB.y], [pointP.x, pointP.y]);\n const closestLngLat = map.unproject(closestPoint);\n const scaledPosition = image.position;\n scaledPosition[currentIndex] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(closestLngLat.lng, closestLngLat.lat);\n setResizeCursor(currentIndex);\n if (currentIndex === 0) {\n scaledPosition[1] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(scaledPosition[1].lng, closestLngLat.lat);\n scaledPosition[3] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(closestLngLat.lng, scaledPosition[3].lat);\n }\n else if (currentIndex === 1) {\n scaledPosition[0] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(scaledPosition[0].lng, closestLngLat.lat);\n scaledPosition[2] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(closestLngLat.lng, scaledPosition[2].lat);\n }\n else if (currentIndex === 2) {\n scaledPosition[3] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(scaledPosition[3].lng, closestLngLat.lat);\n scaledPosition[1] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(closestLngLat.lng, scaledPosition[1].lat);\n }\n else if (currentIndex === 3) {\n scaledPosition[2] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(scaledPosition[2].lng, closestLngLat.lat);\n scaledPosition[0] = new mapbox_gl__WEBPACK_IMPORTED_MODULE_0__.LngLat(closestLngLat.lng, scaledPosition[0].lat);\n }\n onUpdate(scaledPosition);\n }\n function onPointerUp() {\n currentIndex = null;\n mapCanvas.style.cursor = '';\n map.off('mousemove', onPointerMove);\n map.setLayoutProperty(_layers__WEBPACK_IMPORTED_MODULE_1__.cornersLayer.id, 'visibility', _types__WEBPACK_IMPORTED_MODULE_2__.Visibility.Visible);\n map.setLayoutProperty(_layers__WEBPACK_IMPORTED_MODULE_1__.contourLayer.id, 'visibility', _types__WEBPACK_IMPORTED_MODULE_2__.Visibility.Visible);\n }\n function onPointerDown(event) {\n event.preventDefault();\n cur
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ImageControl/types.js":
/*!*******************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ImageControl/types.js ***!
\*******************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Cursor\": () => (/* binding */ Cursor),\n/* harmony export */ \"EditMode\": () => (/* binding */ EditMode),\n/* harmony export */ \"Visibility\": () => (/* binding */ Visibility)\n/* harmony export */ });\nvar Cursor;\n(function (Cursor) {\n Cursor[\"Default\"] = \"\";\n Cursor[\"Move\"] = \"move\";\n Cursor[\"Grabbing\"] = \"grabbing\";\n Cursor[\"NESWResize\"] = \"nesw-resize\";\n Cursor[\"NWSEResize\"] = \"nwse-resize\";\n})(Cursor || (Cursor = {}));\nvar EditMode;\n(function (EditMode) {\n EditMode[\"Move\"] = \"move\";\n EditMode[\"Transform\"] = \"transform\";\n})(EditMode || (EditMode = {}));\nvar Visibility;\n(function (Visibility) {\n Visibility[\"Visible\"] = \"visible\";\n Visibility[\"None\"] = \"none\";\n})(Visibility || (Visibility = {}));\n//# sourceMappingURL=types.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/ImageControl/types.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/InspectControl/InspectControl.js":
/*!******************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/InspectControl/InspectControl.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ InspectControl)\n/* harmony export */ });\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n/* harmony import */ var _popupTemplate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./popupTemplate */ \"./node_modules/mapbox-gl-controls/lib/InspectControl/popupTemplate.js\");\n/* harmony import */ var _icons_inspect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/inspect */ \"./node_modules/mapbox-gl-controls/lib/icons/inspect.js\");\n\n\n\n\nclass InspectControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(options) {\n super();\n this.console = options === null || options === void 0 ? void 0 : options.console;\n this.popupNode = null;\n this.lngLat = null;\n this.isInspecting = false;\n this.button = new _Button_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n }\n insert() {\n this.addClassName('mapbox-control-inspect');\n this.button.setIcon((0,_icons_inspect__WEBPACK_IMPORTED_MODULE_3__[\"default\"])());\n this.button.onClick(() => {\n if (this.isInspecting) {\n this.inspectingOff();\n }\n else {\n this.inspectingOn();\n }\n });\n this.addButton(this.button);\n this.mapClickListener = this.mapClickListener.bind(this);\n this.updatePosition = this.updatePosition.bind(this);\n }\n inspectingOn() {\n this.isInspecting = true;\n this.button.addClassName('-active');\n this.map.on('click', this.mapClickListener);\n this.map.on('move', this.updatePosition);\n this.map.getCanvas().style.cursor = 'pointer';\n }\n inspectingOff() {\n this.isInspecting = false;\n this.button.removeClassName('-active');\n this.map.off('click', this.mapClickListener);\n this.map.off('move', this.updatePosition);\n this.map.getCanvas().style.cursor = '';\n this.removePopup();\n }\n getFeatures(event) {\n const selectThreshold = 3;\n const queryBox = [\n [event.point.x - selectThreshold, event.point.y + selectThreshold],\n [event.point.x + selectThreshold, event.point.y - selectThreshold], // top right (NE)\n ];\n return this.map.queryRenderedFeatures(queryBox);\n }\n addPopup(features) {\n this.popupNode = (0,_popupTemplate__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(features);\n this.mapContainer.appendChild(this.popupNode);\n this.updatePosition();\n if (this.console) {\n console.log(features);\n }\n }\n removePopup() {\n if (!this.popupNode)\n return;\n this.mapContainer.removeChild(this.popupNode);\n this.popupNode = null;\n }\n updatePosition() {\n if (!this.lngLat)\n return;\n const canvasRect = this.mapCanvas.getBoundingClientRect();\n const pos = this.map.project(this.lngLat);\n this.popupNode.style.left = `${pos.x - canvasRect.left}px`;\n this.popupNode.style.top = `${pos.y - canvasRect.top}px`;\n }\n mapClickListener(event) {\n this.lngLat = event.lngLat;\n const features = this.getFeatures(event);\n this.removePopup();\n this.addPopup(features);\n }\n onAddControl() {\n this.mapContainer = this.map.getContainer();\n this.mapCanvas = this.map.getCanvas();\n this.insert();\n }\n onRemoveControl() {\n this.inspectingOff();\n }\n}\n//# sourceMappingURL=InspectControl.js.map\n\n//# sourceURL=webpack
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/InspectControl/popupTemplate.js":
/*!*****************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/InspectControl/popupTemplate.js ***!
\*****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ popupTemplate)\n/* harmony export */ });\n/* harmony import */ var _icons_left__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../icons/left */ \"./node_modules/mapbox-gl-controls/lib/icons/left.js\");\n/* harmony import */ var _icons_right__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../icons/right */ \"./node_modules/mapbox-gl-controls/lib/icons/right.js\");\n\n\nvar Direction;\n(function (Direction) {\n Direction[\"Next\"] = \"next\";\n Direction[\"Prev\"] = \"prev\";\n})(Direction || (Direction = {}));\nfunction getData(feature) {\n var _a;\n const layerData = [\n 'layer',\n { key: 'id', value: feature.layer.id },\n { key: 'type', value: feature.layer.type },\n { key: 'source', value: feature.layer.source },\n { key: 'source-layer', value: (_a = feature.layer['source-layer']) !== null && _a !== void 0 ? _a : '—' },\n ];\n const featureData = ['properties'];\n if (feature.id) {\n featureData.push({ key: '$id', value: feature.id });\n }\n Object.entries(feature.properties).forEach(([key, value]) => {\n featureData.push({ key, value });\n });\n if (featureData.length === 1) {\n featureData.pop(); // remove title if there are no properties\n }\n return [...layerData, ...featureData];\n}\nfunction popupTemplate(features) {\n let current = 0;\n const root = document.createElement('div');\n root.classList.add('mapbox-control-inspect-popup');\n const content = document.createElement('div');\n content.classList.add('mapbox-control-inspect-content');\n const templatePrev = () => {\n const button = document.createElement('div');\n button.setAttribute('type', 'button');\n button.classList.add('mapbox-control-inspect-prev');\n button.appendChild((0,_icons_left__WEBPACK_IMPORTED_MODULE_0__[\"default\"])());\n button.addEventListener('click', () => goTo(Direction.Prev));\n return button;\n };\n const templateNext = () => {\n const button = document.createElement('div');\n button.setAttribute('type', 'button');\n button.classList.add('mapbox-control-inspect-next');\n button.appendChild(((0,_icons_right__WEBPACK_IMPORTED_MODULE_1__[\"default\"])()));\n button.addEventListener('click', () => goTo(Direction.Next));\n return button;\n };\n const templateTitle = () => {\n const title = document.createElement('div');\n title.classList.add('mapbox-control-inspect-current');\n title.textContent = `${current + 1} / ${features.length}`;\n return title;\n };\n const templateHeader = () => {\n const header = document.createElement('div');\n header.classList.add('mapbox-control-inspect-header');\n header.appendChild(templatePrev());\n header.appendChild(templateTitle());\n header.appendChild(templateNext());\n return header;\n };\n const templateFeature = (feature) => {\n const table = document.createElement('table');\n table.classList.add('mapbox-control-inspect-grid');\n const data = getData(feature);\n data.forEach((record) => {\n const row = document.createElement('tr');\n if (typeof record === 'string') {\n const caption = document.createElement('th');\n caption.classList.add('mapbox-control-inspect-caption');\n caption.colSpan = 2;\n caption.textContent = record;\n row.appendChild(caption);\n table.append(row);\n return;\n }\n const key = document.createElement('th');\n const value = document.createElement('td');\n key.classList.add('mapbox-control-inspect-key');\n value.classList.add('mapbox-control-inspect-value');\n key.textContent = record.ke
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/LanguageControl/LanguageControl.js":
/*!********************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/LanguageControl/LanguageControl.js ***!
\********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LanguageControl)\n/* harmony export */ });\n/* harmony import */ var _getLanguageField__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getLanguageField */ \"./node_modules/mapbox-gl-controls/lib/LanguageControl/getLanguageField.js\");\n/* harmony import */ var _localizeTextField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./localizeTextField */ \"./node_modules/mapbox-gl-controls/lib/LanguageControl/localizeTextField.js\");\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n\n\n\nconst SUPPORTED_LANGUAGES = ['en', 'es', 'fr', 'de', 'ru', 'zh', 'pt', 'ar', 'ja', 'ko', 'mul'];\nclass LanguageControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n constructor(options) {\n var _a, _b, _c;\n super();\n this.supportedLanguages = (_a = options === null || options === void 0 ? void 0 : options.supportedLanguages) !== null && _a !== void 0 ? _a : SUPPORTED_LANGUAGES;\n this.language = options === null || options === void 0 ? void 0 : options.language;\n this.getLanguageField = (_b = options === null || options === void 0 ? void 0 : options.getLanguageField) !== null && _b !== void 0 ? _b : _getLanguageField__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n this.excludedLayerIds = (_c = options === null || options === void 0 ? void 0 : options.excludedLayerIds) !== null && _c !== void 0 ? _c : [];\n this.styleChangeListener = this.styleChangeListener.bind(this);\n }\n onAddControl() {\n this.map.on('styledata', this.styleChangeListener);\n }\n onRemoveControl() {\n this.map.off('styledata', this.styleChangeListener);\n }\n styleChangeListener() {\n this.map.off('styledata', this.styleChangeListener);\n this.setLanguage(this.language);\n }\n setLanguage(lang = this.browserLanguage()) {\n const language = this.supportedLanguages.indexOf(lang) < 0 ? 'mul' : lang;\n const style = this.map.getStyle();\n const languageField = this.getLanguageField(language);\n const layers = style.layers.map((layer) => {\n if (layer.type !== 'symbol')\n return layer;\n if (!layer.layout || !layer.layout['text-field'])\n return layer;\n if (this.excludedLayerIds.indexOf(layer.id) !== -1)\n return layer;\n const textField = layer.layout['text-field'];\n const textFieldLocalized = (0,_localizeTextField__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(textField, languageField);\n return Object.assign(Object.assign({}, layer), { layout: Object.assign(Object.assign({}, layer.layout), { 'text-field': textFieldLocalized }) });\n });\n this.map.setStyle(Object.assign(Object.assign({}, style), { layers }));\n }\n browserLanguage() {\n const language = navigator.languages ? navigator.languages[0] : navigator.language;\n const parts = language.split('-');\n const languageCode = parts.length > 1 ? parts[0] : language;\n if (this.supportedLanguages.indexOf(languageCode) > -1)\n return languageCode;\n return 'mul';\n }\n}\n//# sourceMappingURL=LanguageControl.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/LanguageControl/LanguageControl.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/LanguageControl/getLanguageField.js":
/*!*********************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/LanguageControl/getLanguageField.js ***!
\*********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ getLanguageField)\n/* harmony export */ });\nfunction getLanguageField(lang) {\n if (lang === 'mul') {\n return 'name';\n }\n return `name_${lang}`;\n}\n//# sourceMappingURL=getLanguageField.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/LanguageControl/getLanguageField.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/LanguageControl/localizeTextField.js":
/*!**********************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/LanguageControl/localizeTextField.js ***!
\**********************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ localizeTextField)\n/* harmony export */ });\nfunction localizeTextField(field, lang) {\n if (typeof field === 'string') {\n return field.replace(/{name.*?}/, `{${lang}}`);\n }\n const str = JSON.stringify(field);\n if (Array.isArray(field)) {\n return JSON.parse(str.replace(/\"coalesce\",\\[\"get\",\"name.*?\"]/g, `\"coalesce\",[\"get\",\"${lang}\"]`));\n }\n return JSON.parse(str.replace(/{name.*?}/g, `{${lang}}`));\n}\n//# sourceMappingURL=localizeTextField.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/LanguageControl/localizeTextField.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/RulerControl/RulerControl.js":
/*!**************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/RulerControl/RulerControl.js ***!
\**************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RulerControl)\n/* harmony export */ });\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mapbox-gl */ \"./node_modules/mapbox-gl/dist/mapbox-gl.js\");\n/* harmony import */ var mapbox_gl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(mapbox_gl__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _turf_distance__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @turf/distance */ \"./node_modules/@turf/distance/dist/es/index.js\");\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n/* harmony import */ var _labelFormat__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./labelFormat */ \"./node_modules/mapbox-gl-controls/lib/RulerControl/labelFormat.js\");\n/* harmony import */ var _lineStringFeature__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lineStringFeature */ \"./node_modules/mapbox-gl-controls/lib/RulerControl/lineStringFeature.js\");\n/* harmony import */ var _pointFeatureCollection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pointFeatureCollection */ \"./node_modules/mapbox-gl-controls/lib/RulerControl/pointFeatureCollection.js\");\n/* harmony import */ var _icons_ruler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icons/ruler */ \"./node_modules/mapbox-gl-controls/lib/icons/ruler.js\");\n\n\n\n\n\n\n\n\nconst LAYER_LINE = 'controls-layer-line';\nconst LAYER_SYMBOL = 'controls-layer-symbol';\nconst SOURCE_LINE = 'controls-source-line';\nconst SOURCE_SYMBOL = 'controls-source-symbol';\nconst MAIN_COLOR = '#263238';\nconst HALO_COLOR = '#fff';\nclass RulerControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_2__[\"default\"] {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n super();\n this.isMeasuring = false;\n this.markers = [];\n this.coordinates = [];\n this.labels = [];\n this.units = (_a = options === null || options === void 0 ? void 0 : options.units) !== null && _a !== void 0 ? _a : 'kilometers';\n this.font = (_b = options === null || options === void 0 ? void 0 : options.font) !== null && _b !== void 0 ? _b : ['Roboto Medium'];\n this.fontSize = (_c = options === null || options === void 0 ? void 0 : options.fontSize) !== null && _c !== void 0 ? _c : 12;\n this.fontHalo = (_d = options === null || options === void 0 ? void 0 : options.fontHalo) !== null && _d !== void 0 ? _d : 1;\n this.textVariableAnchor = (options === null || options === void 0 ? void 0 : options.textVariableAnchor) || ['top'];\n this.textAllowOverlap = (options === null || options === void 0 ? void 0 : options.textAllowOverlap) || false;\n this.markerNodeSize = `${(_e = options === null || options === void 0 ? void 0 : options.markerNodeSize) !== null && _e !== void 0 ? _e : 12}px`;\n this.markerNodeBorderWidth = `${(_f = options === null || options === void 0 ? void 0 : options.markerNodeBorderWidth) !== null && _f !== void 0 ? _f : 2}px`;\n this.labelFormat = (_g = options === null || options === void 0 ? void 0 : options.labelFormat) !== null && _g !== void 0 ? _g : _labelFormat__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n this.mainColor = (_h = options === null || options === void 0 ? void 0 : options.mainColor) !== null && _h !== void 0 ? _h : MAIN_COLOR;\n this.secondaryColor = (_j = options === null || options === void 0 ? void 0 : options.secondaryColor) !== null && _j !== void 0 ? _j : HALO_COLOR;\n this.button = new _Button_Button__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n this.mapClickListener
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/RulerControl/labelFormat.js":
/*!*************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/RulerControl/labelFormat.js ***!
\*************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ labelFormat)\n/* harmony export */ });\nfunction labelFormat(number) {\n if (number < 1) {\n return `${(number * 1000).toFixed()} m`;\n }\n return `${number.toFixed(2)} km`;\n}\n//# sourceMappingURL=labelFormat.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/RulerControl/labelFormat.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/RulerControl/lineStringFeature.js":
/*!*******************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/RulerControl/lineStringFeature.js ***!
\*******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ lineStringFeature)\n/* harmony export */ });\nfunction lineStringFeature(coordinates) {\n return {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'LineString',\n coordinates,\n },\n };\n}\n//# sourceMappingURL=lineStringFeature.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/RulerControl/lineStringFeature.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/RulerControl/pointFeatureCollection.js":
/*!************************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/RulerControl/pointFeatureCollection.js ***!
\************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ pointFeatureCollection)\n/* harmony export */ });\nfunction pointFeatureCollection(coordinates = [], labels = []) {\n return {\n type: 'FeatureCollection',\n features: coordinates.map((c, i) => ({\n type: 'Feature',\n properties: {\n text: labels[i],\n },\n geometry: {\n type: 'Point',\n coordinates: c,\n },\n })),\n };\n}\n//# sourceMappingURL=pointFeatureCollection.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/RulerControl/pointFeatureCollection.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/StylesControl/StylesControl.js":
/*!****************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/StylesControl/StylesControl.js ***!
\****************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ StylesControl)\n/* harmony export */ });\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n\n\nclass StylesControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(options) {\n var _a;\n super();\n this.styles = (_a = options === null || options === void 0 ? void 0 : options.styles) !== null && _a !== void 0 ? _a : this.defaultOptions;\n this.onChange = options === null || options === void 0 ? void 0 : options.onChange;\n this.buttons = [];\n }\n insert() {\n this.addClassName('mapbox-control-styles');\n this.styles.forEach((style) => {\n const button = new _Button_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n button.setText(style.label);\n button.onClick(() => {\n if (button.node.classList.contains('-active'))\n return;\n this.map.setStyle(style.styleUrl);\n if (this.onChange)\n this.onChange(style);\n });\n this.buttons.push(button);\n this.addButton(button);\n });\n this.map.on('styledata', () => {\n this.buttons.forEach((button) => {\n button.removeClassName('-active');\n });\n const styleNames = this.styles.map(style => style.styleName);\n const currentStyleIndex = styleNames.indexOf(this.map.getStyle().name);\n if (currentStyleIndex !== -1) {\n const currentButton = this.buttons[currentStyleIndex];\n currentButton.addClassName('-active');\n }\n });\n }\n get defaultOptions() {\n return [\n {\n label: 'Streets',\n styleName: 'Mapbox Streets',\n styleUrl: 'mapbox://styles/mapbox/streets-v11',\n }, {\n label: 'Satellite',\n styleName: 'Mapbox Satellite Streets',\n styleUrl: 'mapbox://sprites/mapbox/satellite-streets-v11',\n },\n ];\n }\n onAddControl() {\n this.insert();\n }\n}\n//# sourceMappingURL=StylesControl.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/StylesControl/StylesControl.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/TooltipControl/TooltipControl.js":
/*!******************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/TooltipControl/TooltipControl.js ***!
\******************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ TooltipControl)\n/* harmony export */ });\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n\nclass TooltipControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(options) {\n super();\n if (typeof (options === null || options === void 0 ? void 0 : options.getContent) !== 'function') {\n throw Error('getContent function must be defined');\n }\n this.layer = options === null || options === void 0 ? void 0 : options.layer;\n this.getContent = options === null || options === void 0 ? void 0 : options.getContent;\n this.container = document.createElement('div');\n this.eventShow = this.layer ? 'mouseenter' : 'mouseover';\n this.eventHide = this.layer ? 'mouseleave' : 'mouseout';\n this.node = document.createElement('div');\n this.node.classList.add('mapbox-control-tooltip');\n this.lngLat = null;\n this.cursorStyle = '';\n this.show = this.show.bind(this);\n this.move = this.move.bind(this);\n this.hide = this.hide.bind(this);\n this.updatePosition = this.updatePosition.bind(this);\n }\n show() {\n this.mapContainer.appendChild(this.node);\n this.cursorStyle = this.mapCanvas.style.cursor;\n this.mapCanvas.style.cursor = 'pointer';\n this.map.on('move', this.updatePosition);\n }\n hide() {\n this.node.innerHTML = '';\n this.mapContainer.removeChild(this.node);\n this.mapCanvas.style.cursor = this.cursorStyle;\n this.map.off('move', this.updatePosition);\n }\n move(event) {\n this.node.innerHTML = this.getContent(event);\n this.lngLat = event.lngLat;\n this.updatePosition();\n }\n updatePosition() {\n if (!this.lngLat)\n return;\n const pos = this.map.project(this.lngLat);\n this.node.style.left = `${pos.x}px`;\n this.node.style.top = `${pos.y}px`;\n }\n onAddControl() {\n this.mapContainer = this.map.getContainer();\n this.mapCanvas = this.map.getCanvas();\n if (this.layer) {\n this.map.on(this.eventShow, this.layer, this.show);\n this.map.on('mousemove', this.layer, this.move);\n this.map.on(this.eventHide, this.layer, this.hide);\n }\n else {\n this.map.on(this.eventShow, this.show);\n this.map.on('mousemove', this.move);\n this.map.on(this.eventHide, this.hide);\n }\n }\n onRemoveControl() {\n if (this.layer) {\n this.map.off(this.eventShow, this.layer, this.show);\n this.map.off('mousemove', this.layer, this.move);\n this.map.off(this.eventHide, this.layer, this.hide);\n }\n else {\n this.map.off(this.eventShow, this.show);\n this.map.off('mousemove', this.move);\n this.map.off(this.eventHide, this.hide);\n }\n this.hide();\n }\n}\n//# sourceMappingURL=TooltipControl.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/TooltipControl/TooltipControl.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/ZoomControl/ZoomControl.js":
/*!************************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/ZoomControl/ZoomControl.js ***!
\************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ ZoomControl)\n/* harmony export */ });\n/* harmony import */ var _Base_Base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Base/Base */ \"./node_modules/mapbox-gl-controls/lib/Base/Base.js\");\n/* harmony import */ var _Button_Button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Button/Button */ \"./node_modules/mapbox-gl-controls/lib/Button/Button.js\");\n/* harmony import */ var _icons_plus__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../icons/plus */ \"./node_modules/mapbox-gl-controls/lib/icons/plus.js\");\n/* harmony import */ var _icons_minus__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/minus */ \"./node_modules/mapbox-gl-controls/lib/icons/minus.js\");\n\n\n\n\nclass ZoomControl extends _Base_Base__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor() {\n super();\n this.zoomIn = new _Button_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n this.zoomOut = new _Button_Button__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n }\n insert() {\n this.addClassName('mapbox-zoom');\n this.zoomIn.setIcon((0,_icons_plus__WEBPACK_IMPORTED_MODULE_2__[\"default\"])());\n this.zoomIn.onClick(() => this.map.zoomIn());\n this.zoomOut.setIcon((0,_icons_minus__WEBPACK_IMPORTED_MODULE_3__[\"default\"])());\n this.zoomOut.onClick(() => this.map.zoomOut());\n this.addButton(this.zoomIn);\n this.addButton(this.zoomOut);\n }\n onAddControl() {\n this.insert();\n }\n}\n//# sourceMappingURL=ZoomControl.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/ZoomControl/ZoomControl.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/image.js":
/*!************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/image.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"#505050\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=image.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/image.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/inspect.js":
/*!**************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/inspect.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"#505050\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\"/>\n <path d=\"M20 19.59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.02-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=inspect.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/inspect.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/left.js":
/*!***********************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/left.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#505050\">\n <path d=\"M14 7l-5 5 5 5V7z\"/>\n <path fill=\"none\" d=\"M24 0v24H0V0h24z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=left.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/left.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/minus.js":
/*!************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/minus.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" viewBox=\"0 0 24 24\" fill=\"#505050\" width=\"20\" height=\"20\">\n <rect fill=\"none\" height=\"24\" width=\"24\"/>\n <path d=\"M18,13H6c-0.55,0-1-0.45-1-1l0,0c0-0.55,0.45-1,1-1h12c0.55,0,1,0.45,1,1l0,0C19,12.55,18.55,13,18,13z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=minus.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/minus.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/plus.js":
/*!***********************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/plus.js ***!
\***********************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" viewBox=\"0 0 24 24\" fill=\"#505050\" width=\"20\" height=\"20\">\n <rect fill=\"none\" height=\"24\" width=\"24\"/>\n <path d=\"M18,13h-5v5c0,0.55-0.45,1-1,1l0,0c-0.55,0-1-0.45-1-1v-5H6c-0.55,0-1-0.45-1-1l0,0c0-0.55,0.45-1,1-1h5V6 c0-0.55,0.45-1,1-1l0,0c0.55,0,1,0.45,1,1v5h5c0.55,0,1,0.45,1,1l0,0C19,12.55,18.55,13,18,13z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=plus.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/plus.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/pointer.js":
/*!**************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/pointer.js ***!
\**************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" xmlns=\"http://www.w3.org/2000/svg\">\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M0 0h24v24H0z\"/>\n <path fill=\"#f44336\" d=\"M12 3l4 8H8z\"/>\n <path fill=\"#9E9E9E\" d=\"M12 21l-4-8h8z\"/>\n </g>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=pointer.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/pointer.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/right.js":
/*!************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/right.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#505050\">\n <path d=\"M10 17l5-5-5-5v10z\"/>\n <path fill=\"none\" d=\"M0 24V0h24v24H0z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=right.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/right.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/icons/ruler.js":
/*!************************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/icons/ruler.js ***!
\************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst svg = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" enable-background=\"new 0 0 24 24\" viewBox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"#505050\">\n <rect fill=\"none\" height=\"24\" width=\"24\"/>\n <path d=\"M20,6H4C2.9,6,2,6.9,2,8v8c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M20,16H4V8h3v3c0,0.55,0.45,1,1,1h0 c0.55,0,1-0.45,1-1V8h2v3c0,0.55,0.45,1,1,1h0c0.55,0,1-0.45,1-1V8h2v3c0,0.55,0.45,1,1,1h0c0.55,0,1-0.45,1-1V8h3V16z\"/>\n</svg>\n`;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n return (new DOMParser().parseFromString(svg, 'image/svg+xml')).firstChild;\n}\n//# sourceMappingURL=ruler.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/icons/ruler.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl-controls/lib/index.js":
/*!******************************************************!*\
!*** ./node_modules/mapbox-gl-controls/lib/index.js ***!
\******************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"CompassControl\": () => (/* reexport safe */ _CompassControl_CompassControl__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ \"ImageControl\": () => (/* reexport safe */ _ImageControl_ImageControl__WEBPACK_IMPORTED_MODULE_1__[\"default\"]),\n/* harmony export */ \"InspectControl\": () => (/* reexport safe */ _InspectControl_InspectControl__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n/* harmony export */ \"LanguageControl\": () => (/* reexport safe */ _LanguageControl_LanguageControl__WEBPACK_IMPORTED_MODULE_3__[\"default\"]),\n/* harmony export */ \"RulerControl\": () => (/* reexport safe */ _RulerControl_RulerControl__WEBPACK_IMPORTED_MODULE_4__[\"default\"]),\n/* harmony export */ \"StylesControl\": () => (/* reexport safe */ _StylesControl_StylesControl__WEBPACK_IMPORTED_MODULE_5__[\"default\"]),\n/* harmony export */ \"TooltipControl\": () => (/* reexport safe */ _TooltipControl_TooltipControl__WEBPACK_IMPORTED_MODULE_6__[\"default\"]),\n/* harmony export */ \"ZoomControl\": () => (/* reexport safe */ _ZoomControl_ZoomControl__WEBPACK_IMPORTED_MODULE_7__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _CompassControl_CompassControl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CompassControl/CompassControl */ \"./node_modules/mapbox-gl-controls/lib/CompassControl/CompassControl.js\");\n/* harmony import */ var _ImageControl_ImageControl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImageControl/ImageControl */ \"./node_modules/mapbox-gl-controls/lib/ImageControl/ImageControl.js\");\n/* harmony import */ var _InspectControl_InspectControl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InspectControl/InspectControl */ \"./node_modules/mapbox-gl-controls/lib/InspectControl/InspectControl.js\");\n/* harmony import */ var _LanguageControl_LanguageControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LanguageControl/LanguageControl */ \"./node_modules/mapbox-gl-controls/lib/LanguageControl/LanguageControl.js\");\n/* harmony import */ var _RulerControl_RulerControl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RulerControl/RulerControl */ \"./node_modules/mapbox-gl-controls/lib/RulerControl/RulerControl.js\");\n/* harmony import */ var _StylesControl_StylesControl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./StylesControl/StylesControl */ \"./node_modules/mapbox-gl-controls/lib/StylesControl/StylesControl.js\");\n/* harmony import */ var _TooltipControl_TooltipControl__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./TooltipControl/TooltipControl */ \"./node_modules/mapbox-gl-controls/lib/TooltipControl/TooltipControl.js\");\n/* harmony import */ var _ZoomControl_ZoomControl__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ZoomControl/ZoomControl */ \"./node_modules/mapbox-gl-controls/lib/ZoomControl/ZoomControl.js\");\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://UDrone/./node_modules/mapbox-gl-controls/lib/index.js?");
/***/ }),
/***/ "./node_modules/mapbox-gl/dist/mapbox-gl.js":
/*!**************************************************!*\
!*** ./node_modules/mapbox-gl/dist/mapbox-gl.js ***!
\**************************************************/
/***/ (function(module) {
eval("/* Mapbox GL JS is Copyright © 2020 Mapbox and subject to the Mapbox Terms of Service ((https://www.mapbox.com/legal/tos/). */\n(function (global, factory) {\n true ? module.exports = factory() :\n0;\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar shared, worker, mapboxgl;\n// define gets called three times: one for each chunk. we rely on the order\n// they're imported to know which is which\nfunction define(_, chunk) {\nif (!shared) {\n shared = chunk;\n} else if (!worker) {\n worker = chunk;\n} else {\n var workerBundleString = \"self.onerror = function() { console.error('An error occurred while parsing the WebWorker bundle. This is most likely due to improper transpilation by Babel; please see https://docs.mapbox.com/mapbox-gl-js/guides/install/#transpiling'); }; var sharedChunk = {}; (\" + shared + \")(sharedChunk); (\" + worker + \")(sharedChunk); self.onerror = null;\"\n\n var sharedChunk = {};\n shared(sharedChunk);\n mapboxgl = chunk(sharedChunk);\n if (typeof window !== 'undefined' && window && window.URL && window.URL.createObjectURL) {\n mapboxgl.workerUrl = window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' }));\n }\n}\n}\n\n\ndefine([\"exports\"],(function(t){\"use strict\";var e=\"undefined\"!=typeof self?self:{},r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n;}n.prototype.sampleCurveX=function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return ((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,i,s,a;for(void 0===e&&(e=1e-6),i=t,a=0;a<8;a++){if(s=this.sampleCurveX(i)-t,Math.abs(s)<e)return i;var o=this.sampleCurveDerivativeX(i);if(Math.abs(o)<1e-6)break;i-=s/o;}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(s=this.sampleCurveX(i),Math.abs(s-t)<e)return i;t>s?r=i:n=i,i=.5*(n-r)+r;}return i},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var i=s;function s(t,e){this.x=t,this.y=e;}s.prototype={clone:function(){return new s(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_ro
/***/ }),
/***/ "./node_modules/mqtt/dist/mqtt.js":
/*!****************************************!*\
!*** ./node_modules/mqtt/dist/mqtt.js ***!
\****************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
eval("(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=undefined;if(!f&&c)return require(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=undefined,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){\n(function (process,global){(function (){\n'use strict'\n\n/**\n * Module dependencies\n */\nconst EventEmitter = require('events').EventEmitter\nconst Store = require('./store')\nconst TopicAliasRecv = require('./topic-alias-recv')\nconst TopicAliasSend = require('./topic-alias-send')\nconst mqttPacket = require('mqtt-packet')\nconst DefaultMessageIdProvider = require('./default-message-id-provider')\nconst Writable = require('readable-stream').Writable\nconst inherits = require('inherits')\nconst reInterval = require('reinterval')\nconst clone = require('rfdc/default')\nconst validations = require('./validations')\nconst xtend = require('xtend')\nconst debug = require('debug')('mqttjs:client')\nconst nextTick = process ? process.nextTick : function (callback) { setTimeout(callback, 0) }\nconst setImmediate = global.setImmediate || function (callback) {\n // works in node v0.8\n nextTick(callback)\n}\nconst defaultConnectOptions = {\n keepalive: 60,\n reschedulePings: true,\n protocolId: 'MQTT',\n protocolVersion: 4,\n reconnectPeriod: 1000,\n connectTimeout: 30 * 1000,\n clean: true,\n resubscribe: true\n}\n\nconst socketErrors = [\n 'ECONNREFUSED',\n 'EADDRINUSE',\n 'ECONNRESET',\n 'ENOTFOUND'\n]\n\n// Other Socket Errors: EADDRINUSE, ECONNRESET, ENOTFOUND.\n\nconst errors = {\n 0: '',\n 1: 'Unacceptable protocol version',\n 2: 'Identifier rejected',\n 3: 'Server unavailable',\n 4: 'Bad username or password',\n 5: 'Not authorized',\n 16: 'No matching subscribers',\n 17: 'No subscription existed',\n 128: 'Unspecified error',\n 129: 'Malformed Packet',\n 130: 'Protocol Error',\n 131: 'Implementation specific error',\n 132: 'Unsupported Protocol Version',\n 133: 'Client Identifier not valid',\n 134: 'Bad User Name or Password',\n 135: 'Not authorized',\n 136: 'Server unavailable',\n 137: 'Server busy',\n 138: 'Banned',\n 139: 'Server shutting down',\n 140: 'Bad authentication method',\n 141: 'Keep Alive timeout',\n 142: 'Session taken over',\n 143: 'Topic Filter invalid',\n 144: 'Topic Name invalid',\n 145: 'Packet identifier in use',\n 146: 'Packet Identifier not found',\n 147: 'Receive Maximum exceeded',\n 148: 'Topic Alias invalid',\n 149: 'Packet too large',\n 150: 'Message rate too high',\n 151: 'Quota exceeded',\n 152: 'Administrative action',\n 153: 'Payload format invalid',\n 154: 'Retain not supported',\n 155: 'QoS not supported',\n 156: 'Use another server',\n 157: 'Server moved',\n 158: 'Shared Subscriptions not supported',\n 159: 'Connection rate exceeded',\n 160: 'Maximum connect time',\n 161: 'Subscription Identifiers not supported',\n 162: 'Wildcard Subscriptions not supported'\n}\n\nfunction defaultId () {\n return 'mqttjs_' + Math.random().toString(16).substr(2, 8)\n}\n\nfunction applyTopicAlias (client, packet) {\n if (client.options.protocolVersion === 5) {\n if (packet.cmd === 'publish') {\n let alias\n if (packet.properties) {\n alias = packet.properties.topicAlias\n }\n const topic = packet.topic.toString()\n if (client.topicAliasSend) {\n if (alias) {\n if (topic.length !== 0) {\n // register topic alias\n debug('applyTopicAlias :: register topic: %s - alias: %d', topic, alias)\n if (!client.topicAliasSend.put(topic, alias)) {\n debug('applyTopicAlias :: error out of range. topic: %s - alias: %d', topic, alias)\n return new Error('Sending Topic Alias out of range')\n
/***/ }),
/***/ "./node_modules/relaxed-json/relaxed-json.js":
/*!***************************************************!*\
!*** ./node_modules/relaxed-json/relaxed-json.js ***!
\***************************************************/
/***/ ((module) => {
eval("/*\n Copyright (c) 2013, Oleg Grenrus\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the\n documentation and/or other materials provided with the distribution.\n * Neither the name of the Oleg Grenrus nor the\n names of its contributors may be used to endorse or promote products\n derived from this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL OLEG GRENRUS BE LIABLE FOR ANY\n DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\n ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n(function () {\n \"use strict\";\n\n // slightly different from ES5 some, without cast to boolean\n // [x, y, z].some(f):\n // ES5: !! ( f(x) || f(y) || f(z) || false)\n // this: ( f(x) || f(y) || f(z) || false)\n function some(array, f) {\n var acc = false;\n for (var i = 0; i < array.length; i++) {\n acc = f(array[i], i, array);\n if (acc) {\n return acc;\n }\n }\n return acc;\n }\n\n function makeLexer(tokenSpecs) {\n return function (contents) {\n var tokens = [];\n var line = 1;\n\n function findToken() {\n return some(tokenSpecs, function (tokenSpec) {\n var m = tokenSpec.re.exec(contents);\n if (m) {\n var raw = m[0];\n contents = contents.slice(raw.length);\n return {\n raw: raw,\n matched: tokenSpec.f(m, line),\n };\n } else {\n return undefined;\n }\n });\n }\n\n while (contents !== \"\") {\n var matched = findToken();\n\n if (!matched) {\n var err = new SyntaxError(\"Unexpected character: \" + contents[0] + \"; input: \" + contents.substr(0, 100));\n err.line = line;\n throw err;\n }\n\n // add line to token\n matched.matched.line = line;\n\n // count lines\n line += matched.raw.replace(/[^\\n]/g, \"\").length;\n\n tokens.push(matched.matched);\n }\n\n return tokens;\n };\n }\n\n function fStringSingle(m) {\n // String in single quotes\n var content = m[1].replace(/([^'\\\\]|\\\\['bnrtf\\\\]|\\\\u[0-9a-fA-F]{4})/g, function (mm) {\n if (mm === \"\\\"\") {\n return \"\\\\\\\"\";\n } else if (mm === \"\\\\'\") {\n return \"'\";\n } else {\n return mm;\n }\n });\n\n return {\n type: \"string\",\n match: \"\\\"\" + content + \"\\\"\",\n value: JSON.parse(\"\\\"\" + content + \"\\\"\"), // abusing real JSON.parse to unquote string\n };\n }\n\n function fStringDouble(m) {\n return {\n type: \"string\",\n match: m[0],\n value: JSON.parse(m[0]),\n };\n }\n\n function fIdentifier(m) {\n // identifiers are transformed into strings\n return {\n type: \"string\",\n value: m[0],\n match: \"\\\"\" + m[0].replace(/./g, function (c) {\n return c === \"\\\\\" ? \"\\\\\\\\\" : c;\n }) + \"\\\"\",\n };\n }\n\n function fComment(m) {\n // comments are w
/***/ }),
/***/ "./node_modules/@turf/distance/dist/es/index.js":
/*!******************************************************!*\
!*** ./node_modules/@turf/distance/dist/es/index.js ***!
\******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _turf_invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @turf/invariant */ \"./node_modules/@turf/invariant/dist/es/index.js\");\n/* harmony import */ var _turf_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @turf/helpers */ \"./node_modules/@turf/helpers/dist/es/index.js\");\n\n\n//http://en.wikipedia.org/wiki/Haversine_formula\n//http://www.movable-type.co.uk/scripts/latlong.html\n/**\n * Calculates the distance between two {@link Point|points} in degrees, radians, miles, or kilometers.\n * This uses the [Haversine formula](http://en.wikipedia.org/wiki/Haversine_formula) to account for global curvature.\n *\n * @name distance\n * @param {Coord} from origin point\n * @param {Coord} to destination point\n * @param {Object} [options={}] Optional parameters\n * @param {string} [options.units='kilometers'] can be degrees, radians, miles, or kilometers\n * @returns {number} distance between the two points\n * @example\n * var from = turf.point([-75.343, 39.984]);\n * var to = turf.point([-75.534, 39.123]);\n * var options = {units: 'miles'};\n *\n * var distance = turf.distance(from, to, options);\n *\n * //addToMap\n * var addToMap = [from, to];\n * from.properties.distance = distance;\n * to.properties.distance = distance;\n */\nfunction distance(from, to, options) {\n if (options === void 0) { options = {}; }\n var coordinates1 = (0,_turf_invariant__WEBPACK_IMPORTED_MODULE_0__.getCoord)(from);\n var coordinates2 = (0,_turf_invariant__WEBPACK_IMPORTED_MODULE_0__.getCoord)(to);\n var dLat = (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_1__.degreesToRadians)(coordinates2[1] - coordinates1[1]);\n var dLon = (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_1__.degreesToRadians)(coordinates2[0] - coordinates1[0]);\n var lat1 = (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_1__.degreesToRadians)(coordinates1[1]);\n var lat2 = (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_1__.degreesToRadians)(coordinates2[1]);\n var a = Math.pow(Math.sin(dLat / 2), 2) +\n Math.pow(Math.sin(dLon / 2), 2) * Math.cos(lat1) * Math.cos(lat2);\n return (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_1__.radiansToLength)(2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)), options.units);\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (distance);\n\n\n//# sourceURL=webpack://UDrone/./node_modules/@turf/distance/dist/es/index.js?");
/***/ }),
/***/ "./node_modules/@turf/helpers/dist/es/index.js":
/*!*****************************************************!*\
!*** ./node_modules/@turf/helpers/dist/es/index.js ***!
\*****************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"areaFactors\": () => (/* binding */ areaFactors),\n/* harmony export */ \"bearingToAzimuth\": () => (/* binding */ bearingToAzimuth),\n/* harmony export */ \"convertArea\": () => (/* binding */ convertArea),\n/* harmony export */ \"convertLength\": () => (/* binding */ convertLength),\n/* harmony export */ \"degreesToRadians\": () => (/* binding */ degreesToRadians),\n/* harmony export */ \"earthRadius\": () => (/* binding */ earthRadius),\n/* harmony export */ \"factors\": () => (/* binding */ factors),\n/* harmony export */ \"feature\": () => (/* binding */ feature),\n/* harmony export */ \"featureCollection\": () => (/* binding */ featureCollection),\n/* harmony export */ \"geometry\": () => (/* binding */ geometry),\n/* harmony export */ \"geometryCollection\": () => (/* binding */ geometryCollection),\n/* harmony export */ \"isNumber\": () => (/* binding */ isNumber),\n/* harmony export */ \"isObject\": () => (/* binding */ isObject),\n/* harmony export */ \"lengthToDegrees\": () => (/* binding */ lengthToDegrees),\n/* harmony export */ \"lengthToRadians\": () => (/* binding */ lengthToRadians),\n/* harmony export */ \"lineString\": () => (/* binding */ lineString),\n/* harmony export */ \"lineStrings\": () => (/* binding */ lineStrings),\n/* harmony export */ \"multiLineString\": () => (/* binding */ multiLineString),\n/* harmony export */ \"multiPoint\": () => (/* binding */ multiPoint),\n/* harmony export */ \"multiPolygon\": () => (/* binding */ multiPolygon),\n/* harmony export */ \"point\": () => (/* binding */ point),\n/* harmony export */ \"points\": () => (/* binding */ points),\n/* harmony export */ \"polygon\": () => (/* binding */ polygon),\n/* harmony export */ \"polygons\": () => (/* binding */ polygons),\n/* harmony export */ \"radiansToDegrees\": () => (/* binding */ radiansToDegrees),\n/* harmony export */ \"radiansToLength\": () => (/* binding */ radiansToLength),\n/* harmony export */ \"round\": () => (/* binding */ round),\n/* harmony export */ \"unitsFactors\": () => (/* binding */ unitsFactors),\n/* harmony export */ \"validateBBox\": () => (/* binding */ validateBBox),\n/* harmony export */ \"validateId\": () => (/* binding */ validateId)\n/* harmony export */ });\n/**\n * @module helpers\n */\n/**\n * Earth Radius used with the Harvesine formula and approximates using a spherical (non-ellipsoid) Earth.\n *\n * @memberof helpers\n * @type {number}\n */\nvar earthRadius = 6371008.8;\n/**\n * Unit of measurement factors using a spherical (non-ellipsoid) earth radius.\n *\n * @memberof helpers\n * @type {Object}\n */\nvar factors = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: earthRadius / 111325,\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1000,\n kilometres: earthRadius / 1000,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1000,\n millimetres: earthRadius * 1000,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936,\n};\n/**\n * Units of measurement factors based on 1 meter.\n *\n * @memberof helpers\n * @type {Object}\n */\nvar unitsFactors = {\n centimeters: 100,\n centimetres: 100,\n degrees: 1 / 111325,\n feet: 3.28084,\n inches: 39.37,\n kilometers: 1 / 1000,\n kilometres: 1 / 1000,\n meters: 1,\n metres: 1,\n miles: 1 / 1609.344,\n millimeters: 1000,\n millimetres: 1000,\n nauticalmiles: 1 / 1852,\n radians: 1 / earthRadius,\n yards: 1.0936133,\n};\n/**\n * Area of measurement factors based on 1 square meter.\n *\n * @memberof helpers\n * @type {Object}\n */\nvar areaFactors = {\n acres: 0.000247105,\n centimeters: 10000,\n centimetres: 10000,\n feet: 10.763910417,\n hectares: 0.0001,\n inches: 1550.003100006,\n
/***/ }),
/***/ "./node_modules/@turf/invariant/dist/es/index.js":
/*!*******************************************************!*\
!*** ./node_modules/@turf/invariant/dist/es/index.js ***!
\*******************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"collectionOf\": () => (/* binding */ collectionOf),\n/* harmony export */ \"containsNumber\": () => (/* binding */ containsNumber),\n/* harmony export */ \"featureOf\": () => (/* binding */ featureOf),\n/* harmony export */ \"geojsonType\": () => (/* binding */ geojsonType),\n/* harmony export */ \"getCoord\": () => (/* binding */ getCoord),\n/* harmony export */ \"getCoords\": () => (/* binding */ getCoords),\n/* harmony export */ \"getGeom\": () => (/* binding */ getGeom),\n/* harmony export */ \"getType\": () => (/* binding */ getType)\n/* harmony export */ });\n/* harmony import */ var _turf_helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @turf/helpers */ \"./node_modules/@turf/helpers/dist/es/index.js\");\n\n/**\n * Unwrap a coordinate from a Point Feature, Geometry or a single coordinate.\n *\n * @name getCoord\n * @param {Array<number>|Geometry<Point>|Feature<Point>} coord GeoJSON Point or an Array of numbers\n * @returns {Array<number>} coordinates\n * @example\n * var pt = turf.point([10, 10]);\n *\n * var coord = turf.getCoord(pt);\n * //= [10, 10]\n */\nfunction getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" &&\n coord.geometry !== null &&\n coord.geometry.type === \"Point\") {\n return coord.geometry.coordinates;\n }\n if (coord.type === \"Point\") {\n return coord.coordinates;\n }\n }\n if (Array.isArray(coord) &&\n coord.length >= 2 &&\n !Array.isArray(coord[0]) &&\n !Array.isArray(coord[1])) {\n return coord;\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\n/**\n * Unwrap coordinates from a Feature, Geometry Object or an Array\n *\n * @name getCoords\n * @param {Array<any>|Geometry|Feature} coords Feature, Geometry Object or an Array\n * @returns {Array<any>} coordinates\n * @example\n * var poly = turf.polygon([[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]);\n *\n * var coords = turf.getCoords(poly);\n * //= [[[119.32, -8.7], [119.55, -8.69], [119.51, -8.54], [119.32, -8.7]]]\n */\nfunction getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n // Feature\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n }\n else {\n // Geometry\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\"coords must be GeoJSON Feature, Geometry Object or an Array\");\n}\n/**\n * Checks if coordinates contains a number\n *\n * @name containsNumber\n * @param {Array<any>} coordinates GeoJSON Coordinates\n * @returns {boolean} true if Array contains a number\n */\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 &&\n (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_0__.isNumber)(coordinates[0]) &&\n (0,_turf_helpers__WEBPACK_IMPORTED_MODULE_0__.isNumber)(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\n/**\n * Enforce expectations about types of GeoJSON objects for Turf.\n *\n * @name geojsonType\n * @param {GeoJSON} value any GeoJSON object\n * @param {string} type expected GeoJSON type\n * @param {string} name name of calling function\n * @throws {Error} if value is not the expected type.\n */\nfunction geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\"Invalid input to \" +\n name +\n \": must be a \" +\n
/***/ }),
/***/ "./node_modules/flight-indicators-js/esm/module-flight-indicators.mjs":
/*!****************************************************************************!*\
!*** ./node_modules/flight-indicators-js/esm/module-flight-indicators.mjs ***!
\****************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ FlightIndicators)\n/* harmony export */ });\n/**\r\n * Created by Teocci.\r\n * Author: teocci@yandex.com on 2021-Nov-04\r\n */\r\nclass FlightIndicators {\r\n static TAG = 'instrument'\r\n\r\n static TYPE_HEADING = 'heading'\r\n static TYPE_AIRSPEED = 'airspeed'\r\n static TYPE_ALTIMETER = 'altimeter'\r\n static TYPE_VERTICAL_SPEED = 'vertical'\r\n static TYPE_ATTITUDE = 'attitude'\r\n static TYPE_TURN_COORDINATOR = 'coordinator'\r\n\r\n static TYPES = [\r\n FlightIndicators.TYPE_HEADING,\r\n FlightIndicators.TYPE_AIRSPEED,\r\n FlightIndicators.TYPE_ALTIMETER,\r\n FlightIndicators.TYPE_VERTICAL_SPEED,\r\n FlightIndicators.TYPE_ATTITUDE,\r\n FlightIndicators.TYPE_TURN_COORDINATOR,\r\n ]\r\n\r\n static CONSTANTS = {\r\n pitch_bound: 30,\r\n vertical_speed_bound: 1.95,\r\n airspeed_bound_l: 0,\r\n airspeed_bound_h: 160\r\n }\r\n\r\n static DEFAULT_OPTIONS = {\r\n size: 200,\r\n roll: 0,\r\n pitch: 0,\r\n turn: 0,\r\n heading: 0,\r\n verticalSpeed: 0,\r\n airspeed: 0,\r\n altitude: 0,\r\n pressure: 1000,\r\n hideBox: true,\r\n imagesDirectory: '../img'\r\n }\r\n\r\n constructor(placeholder, type, options) {\r\n this.placeholder = placeholder\r\n this.type = type\r\n this.settings = this.simpleMerge(FlightIndicators.DEFAULT_OPTIONS, options)\r\n \r\n this.createInstrument()\r\n }\r\n\r\n createInstrument() {\r\n const imgDirectory = this.settings['imagesDirectory']\r\n\r\n let instrument\r\n switch (this.type) {\r\n case FlightIndicators.TYPE_HEADING:\r\n instrument = this.createHeadingIndicator(imgDirectory)\r\n break\r\n case FlightIndicators.TYPE_AIRSPEED:\r\n instrument = this.createAirspeedIndicator(imgDirectory)\r\n break\r\n case FlightIndicators.TYPE_ALTIMETER:\r\n instrument = this.createAltimeterIndicator(imgDirectory)\r\n break\r\n case FlightIndicators.TYPE_VERTICAL_SPEED:\r\n instrument = this.createVerticalSpeedIndicator(imgDirectory)\r\n break\r\n case FlightIndicators.TYPE_ATTITUDE:\r\n instrument = this.createAttitudeIndicator(imgDirectory)\r\n break\r\n case FlightIndicators.TYPE_TURN_COORDINATOR:\r\n instrument = this.createCoordinatorIndicator(imgDirectory)\r\n break\r\n default:\r\n return null\r\n }\r\n\r\n this.resize(this.settings.size)\r\n this.toggleBox(this.settings.hideBox)\r\n }\r\n\r\n updateHeading(heading) {\r\n let meter = this.placeholder.querySelector('div.instrument.heading div.heading')\r\n meter.style.transform = `rotate(${-heading}deg)`\r\n }\r\n\r\n updateRoll(roll) {\r\n let meter = this.placeholder.querySelector('div.instrument.attitude div.roll')\r\n meter.style.transform = `rotate(${roll}deg)`\r\n }\r\n\r\n updatePitch(pitch) {\r\n // alert(pitch);\r\n if (pitch > FlightIndicators.CONSTANTS.pitch_bound) {\r\n pitch = FlightIndicators.CONSTANTS.pitch_bound;\r\n } else if (pitch < -FlightIndicators.CONSTANTS.pitch_bound) {\r\n pitch = -FlightIndicators.CONSTANTS.pitch_bound;\r\n }\r\n\r\n let meter = this.placeholder.querySelector('div.instrument.attitude div.roll div.pitch')\r\n meter.style.top = `${pitch * 0.7}%`\r\n }\r\n\r\n updateCoordinator(turn) {\r\n let meter = this.placeholder.querySelector('div.instrument.turn-coordinator div.turn')\r\n meter.style.transform = `rotate(${turn}deg)`\r\n }\r\n\r\n updateVerticalSpeed(vSpeed) {\r\n
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/global */
/******/ (() => {
/******/ __webpack_require__.g = (function() {
/******/ if (typeof globalThis === 'object') return globalThis;
/******/ try {
/******/ return this || new Function('return this')();
/******/ } catch (e) {
/******/ if (typeof window === 'object') return window;
/******/ }
/******/ })();
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ var __webpack_exports__ = __webpack_require__("./src/index.js");
/******/
/******/ })()
;