From 601f254c538258ff5f437169dd06d1ece27be027 Mon Sep 17 00:00:00 2001 From: TuxCoder Date: Wed, 10 Jul 2019 00:12:45 +0200 Subject: [PATCH] bugfix naming --- dist/main.js | 11279 +++++++++++++++++++++++---------------------- dist/main.js.map | 2 +- src/app.js | 23 +- 3 files changed, 5753 insertions(+), 5551 deletions(-) diff --git a/dist/main.js b/dist/main.js index 237f085..b7f158a 100644 --- a/dist/main.js +++ b/dist/main.js @@ -81,7 +81,7 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 98); +/******/ return __webpack_require__(__webpack_require__.s = 91); /******/ }) /************************************************************************/ /******/ ([ @@ -134,8 +134,8 @@ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "G", function() { return intersectsSegment; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return applyTransform; }); /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _extent_Corner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); -/* harmony import */ var _extent_Relationship_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22); +/* harmony import */ var _extent_Corner_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53); +/* harmony import */ var _extent_Relationship_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23); /** * @module ol/extent */ @@ -1307,33 +1307,6 @@ function unlistenAll(target) { /* 3 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { -"use strict"; -/** - * @module ol/TileState - */ - -/** - * @enum {number} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - IDLE: 0, - LOADING: 1, - LOADED: 2, - /** - * Indicates that tile loading failed - * @type {number} - */ - ERROR: 3, - EMPTY: 4, - ABORT: 5 -}); - -//# sourceMappingURL=TileState.js.map - -/***/ }), -/* 4 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return defaultFont; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return defaultFillStyle; }); @@ -1356,10 +1329,10 @@ function unlistenAll(target) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return rotateAtOffset; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return resetTransform; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return drawImage; }); -/* harmony import */ var _css_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24); -/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _css_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25); +/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9); -/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(64); +/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(61); /* harmony import */ var _transform_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8); /** * @module ol/render/canvas @@ -1742,7 +1715,7 @@ function drawImage(context, //# sourceMappingURL=canvas.js.map /***/ }), -/* 5 */ +/* 4 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1789,7 +1762,7 @@ function drawImage(context, //# sourceMappingURL=EventType.js.map /***/ }), -/* 6 */ +/* 5 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1818,7 +1791,7 @@ function drawImage(context, //# sourceMappingURL=GeometryType.js.map /***/ }), -/* 7 */ +/* 6 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2034,6 +2007,33 @@ function lerp(a, b, x) { //# sourceMappingURL=math.js.map +/***/ }), +/* 7 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/TileState + */ + +/** + * @enum {number} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + IDLE: 0, + LOADING: 1, + LOADED: 2, + /** + * Indicates that tile loading failed + * @type {number} + */ + ERROR: 3, + EMPTY: 4, + ABORT: 5 +}); + +//# sourceMappingURL=TileState.js.map + /***/ }), /* 8 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -2385,7 +2385,7 @@ function isEmpty(object) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return assert; }); -/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); +/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); /** * @module ol/asserts */ @@ -2698,16 +2698,16 @@ function isSorted(arr, opt_func, opt_strict) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/sphere.js -var sphere = __webpack_require__(62); +var sphere = __webpack_require__(59); // EXTERNAL MODULE: ./node_modules/ol/extent.js var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // EXTERNAL MODULE: ./node_modules/ol/proj/Units.js -var Units = __webpack_require__(23); +var Units = __webpack_require__(24); // CONCATENATED MODULE: ./node_modules/ol/proj/Projection.js /** @@ -3872,6 +3872,43 @@ addCommon(); /* 14 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return TRUE; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FALSE; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return VOID; }); +/** + * @module ol/functions + */ + +/** + * Always returns true. + * @returns {boolean} true. + */ +function TRUE() { + return true; +} + +/** + * Always returns false. + * @returns {boolean} false. + */ +function FALSE() { + return false; +} + +/** + * A reusable function, used e.g. as a default for callbacks. + * + * @return {void} Nothing. + */ +function VOID() {} + +//# sourceMappingURL=functions.js.map + +/***/ }), +/* 15 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createCanvasContext2D; }); /* unused harmony export outerWidth */ @@ -3963,43 +4000,6 @@ function removeChildren(node) { //# sourceMappingURL=dom.js.map -/***/ }), -/* 15 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return TRUE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return FALSE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return VOID; }); -/** - * @module ol/functions - */ - -/** - * Always returns true. - * @returns {boolean} true. - */ -function TRUE() { - return true; -} - -/** - * Always returns false. - * @returns {boolean} false. - */ -function FALSE() { - return false; -} - -/** - * A reusable function, used e.g. as a default for callbacks. - * - * @return {void} Nothing. - */ -function VOID() {} - -//# sourceMappingURL=functions.js.map - /***/ }), /* 16 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -4008,9 +4008,9 @@ function VOID() {} /* unused harmony export ObjectEvent */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getChangeEventType; }); /* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/* harmony import */ var _ObjectEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _Observable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67); -/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); +/* harmony import */ var _ObjectEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); +/* harmony import */ var _Observable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); +/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9); /** * @module ol/Object @@ -4423,6 +4423,85 @@ var MSPOINTER = !!(navigator.msPointerEnabled); /* 21 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return stopPropagation; }); +/* unused harmony export preventDefault */ +/** + * @module ol/events/Event + */ + +/** + * @classdesc + * Stripped down implementation of the W3C DOM Level 2 Event interface. + * See https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface. + * + * This implementation only provides `type` and `target` properties, and + * `stopPropagation` and `preventDefault` methods. It is meant as base class + * for higher level events defined in the library, and works with + * {@link module:ol/events/Target~Target}. + */ +var Event = function Event(type) { + + /** + * @type {boolean} + */ + this.propagationStopped; + + /** + * The event type. + * @type {string} + * @api + */ + this.type = type; + + /** + * The event target. + * @type {Object} + * @api + */ + this.target = null; +}; + +/** + * Stop event propagation. + * @api + */ +Event.prototype.preventDefault = function preventDefault () { + this.propagationStopped = true; +}; + +/** + * Stop event propagation. + * @api + */ +Event.prototype.stopPropagation = function stopPropagation () { + this.propagationStopped = true; +}; + + +/** + * @param {Event|import("./Event.js").default} evt Event + */ +function stopPropagation(evt) { + evt.stopPropagation(); +} + + +/** + * @param {Event|import("./Event.js").default} evt Event + */ +function preventDefault(evt) { + evt.preventDefault(); +} + +/* harmony default export */ __webpack_exports__["a"] = (Event); + +//# sourceMappingURL=Event.js.map + +/***/ }), +/* 22 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return easeIn; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return easeOut; }); @@ -4497,7 +4576,7 @@ function upAndDown(t) { //# sourceMappingURL=easing.js.map /***/ }), -/* 22 */ +/* 23 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4521,7 +4600,7 @@ function upAndDown(t) { //# sourceMappingURL=Relationship.js.map /***/ }), -/* 23 */ +/* 24 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4563,7 +4642,7 @@ METERS_PER_UNIT[Units.USFEET] = 1200 / 3937; //# sourceMappingURL=Units.js.map /***/ }), -/* 24 */ +/* 25 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4662,471 +4741,10 @@ var getFontFamilies = (function() { //# sourceMappingURL=css.js.map -/***/ }), -/* 25 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return stopPropagation; }); -/* unused harmony export preventDefault */ -/** - * @module ol/events/Event - */ - -/** - * @classdesc - * Stripped down implementation of the W3C DOM Level 2 Event interface. - * See https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface. - * - * This implementation only provides `type` and `target` properties, and - * `stopPropagation` and `preventDefault` methods. It is meant as base class - * for higher level events defined in the library, and works with - * {@link module:ol/events/Target~Target}. - */ -var Event = function Event(type) { - - /** - * @type {boolean} - */ - this.propagationStopped; - - /** - * The event type. - * @type {string} - * @api - */ - this.type = type; - - /** - * The event target. - * @type {Object} - * @api - */ - this.target = null; -}; - -/** - * Stop event propagation. - * @api - */ -Event.prototype.preventDefault = function preventDefault () { - this.propagationStopped = true; -}; - -/** - * Stop event propagation. - * @api - */ -Event.prototype.stopPropagation = function stopPropagation () { - this.propagationStopped = true; -}; - - -/** - * @param {Event|import("./Event.js").default} evt Event - */ -function stopPropagation(evt) { - evt.stopPropagation(); -} - - -/** - * @param {Event|import("./Event.js").default} evt Event - */ -function preventDefault(evt) { - evt.preventDefault(); -} - -/* harmony default export */ __webpack_exports__["a"] = (Event); - -//# sourceMappingURL=Event.js.map - /***/ }), /* 26 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createOrUpdate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getKeyZXY; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getKey; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return fromKey; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return hash; }); -/* unused harmony export quadKey */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return withinExtentAndZ; }); -/** - * @module ol/tilecoord - */ - - -/** - * An array of three numbers representing the location of a tile in a tile - * grid. The order is `z`, `x`, and `y`. `z` is the zoom level. - * @typedef {Array} TileCoord - * @api - */ - - -/** - * @param {number} z Z. - * @param {number} x X. - * @param {number} y Y. - * @param {TileCoord=} opt_tileCoord Tile coordinate. - * @return {TileCoord} Tile coordinate. - */ -function createOrUpdate(z, x, y, opt_tileCoord) { - if (opt_tileCoord !== undefined) { - opt_tileCoord[0] = z; - opt_tileCoord[1] = x; - opt_tileCoord[2] = y; - return opt_tileCoord; - } else { - return [z, x, y]; - } -} - - -/** - * @param {number} z Z. - * @param {number} x X. - * @param {number} y Y. - * @return {string} Key. - */ -function getKeyZXY(z, x, y) { - return z + '/' + x + '/' + y; -} - - -/** - * Get the key for a tile coord. - * @param {TileCoord} tileCoord The tile coord. - * @return {string} Key. - */ -function getKey(tileCoord) { - return getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]); -} - - -/** - * Get a tile coord given a key. - * @param {string} key The tile coord key. - * @return {TileCoord} The tile coord. - */ -function fromKey(key) { - return key.split('/').map(Number); -} - - -/** - * @param {TileCoord} tileCoord Tile coord. - * @return {number} Hash. - */ -function hash(tileCoord) { - return (tileCoord[1] << tileCoord[0]) + tileCoord[2]; -} - - -/** - * @param {TileCoord} tileCoord Tile coord. - * @return {string} Quad key. - */ -function quadKey(tileCoord) { - var z = tileCoord[0]; - var digits = new Array(z); - var mask = 1 << (z - 1); - var i, charCode; - for (i = 0; i < z; ++i) { - // 48 is charCode for 0 - '0'.charCodeAt(0) - charCode = 48; - if (tileCoord[1] & mask) { - charCode += 1; - } - if (tileCoord[2] & mask) { - charCode += 2; - } - digits[i] = String.fromCharCode(charCode); - mask >>= 1; - } - return digits.join(''); -} - - -/** - * @param {TileCoord} tileCoord Tile coordinate. - * @param {!import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. - * @return {boolean} Tile coordinate is within extent and zoom level range. - */ -function withinExtentAndZ(tileCoord, tileGrid) { - var z = tileCoord[0]; - var x = tileCoord[1]; - var y = tileCoord[2]; - - if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) { - return false; - } - var extent = tileGrid.getExtent(); - var tileRange; - if (!extent) { - tileRange = tileGrid.getFullTileRange(z); - } else { - tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); - } - if (!tileRange) { - return true; - } else { - return tileRange.containsXY(x, y); - } -} - -//# sourceMappingURL=tilecoord.js.map - -/***/ }), -/* 27 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/LayerType - */ - -/** - * A layer type used when creating layer renderers. - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - IMAGE: 'IMAGE', - TILE: 'TILE', - VECTOR_TILE: 'VECTOR_TILE', - VECTOR: 'VECTOR' -}); - -//# sourceMappingURL=LayerType.js.map - -/***/ }), -/* 28 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* unused harmony export buffer */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hasArea; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return scale; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return toSize; }); -/** - * @module ol/size - */ - - -/** - * An array of numbers representing a size: `[width, height]`. - * @typedef {Array} Size - * @api - */ - - -/** - * Returns a buffered size. - * @param {Size} size Size. - * @param {number} num The amount by which to buffer. - * @param {Size=} opt_size Optional reusable size array. - * @return {Size} The buffered size. - */ -function buffer(size, num, opt_size) { - if (opt_size === undefined) { - opt_size = [0, 0]; - } - opt_size[0] = size[0] + 2 * num; - opt_size[1] = size[1] + 2 * num; - return opt_size; -} - - -/** - * Determines if a size has a positive area. - * @param {Size} size The size to test. - * @return {boolean} The size has a positive area. - */ -function hasArea(size) { - return size[0] > 0 && size[1] > 0; -} - - -/** - * Returns a size scaled by a ratio. The result will be an array of integers. - * @param {Size} size Size. - * @param {number} ratio Ratio. - * @param {Size=} opt_size Optional reusable size array. - * @return {Size} The scaled size. - */ -function scale(size, ratio, opt_size) { - if (opt_size === undefined) { - opt_size = [0, 0]; - } - opt_size[0] = (size[0] * ratio + 0.5) | 0; - opt_size[1] = (size[1] * ratio + 0.5) | 0; - return opt_size; -} - - -/** - * Returns an `Size` array for the passed in number (meaning: square) or - * `Size` array. - * (meaning: non-square), - * @param {number|Size} size Width and height. - * @param {Size=} opt_size Optional reusable size array. - * @return {Size} Size. - * @api - */ -function toSize(size, opt_size) { - if (Array.isArray(size)) { - return size; - } else { - if (opt_size === undefined) { - opt_size = [size, size]; - } else { - opt_size[0] = opt_size[1] = /** @type {number} */ (size); - } - return opt_size; - } -} - -//# sourceMappingURL=size.js.map - -/***/ }), -/* 29 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return transform2D; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return rotate; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return scale; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return translate; }); -/** - * @module ol/geom/flat/transform - */ - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {import("../../transform.js").Transform} transform Transform. - * @param {Array=} opt_dest Destination. - * @return {Array} Transformed coordinates. - */ -function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) { - var dest = opt_dest ? opt_dest : []; - var i = 0; - for (var j = offset; j < end; j += stride) { - var x = flatCoordinates[j]; - var y = flatCoordinates[j + 1]; - dest[i++] = transform[0] * x + transform[2] * y + transform[4]; - dest[i++] = transform[1] * x + transform[3] * y + transform[5]; - } - if (opt_dest && dest.length != i) { - dest.length = i; - } - return dest; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {number} angle Angle. - * @param {Array} anchor Rotation anchor point. - * @param {Array=} opt_dest Destination. - * @return {Array} Transformed coordinates. - */ -function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) { - var dest = opt_dest ? opt_dest : []; - var cos = Math.cos(angle); - var sin = Math.sin(angle); - var anchorX = anchor[0]; - var anchorY = anchor[1]; - var i = 0; - for (var j = offset; j < end; j += stride) { - var deltaX = flatCoordinates[j] - anchorX; - var deltaY = flatCoordinates[j + 1] - anchorY; - dest[i++] = anchorX + deltaX * cos - deltaY * sin; - dest[i++] = anchorY + deltaX * sin + deltaY * cos; - for (var k = j + 2; k < j + stride; ++k) { - dest[i++] = flatCoordinates[k]; - } - } - if (opt_dest && dest.length != i) { - dest.length = i; - } - return dest; -} - - -/** - * Scale the coordinates. - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {number} sx Scale factor in the x-direction. - * @param {number} sy Scale factor in the y-direction. - * @param {Array} anchor Scale anchor point. - * @param {Array=} opt_dest Destination. - * @return {Array} Transformed coordinates. - */ -function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) { - var dest = opt_dest ? opt_dest : []; - var anchorX = anchor[0]; - var anchorY = anchor[1]; - var i = 0; - for (var j = offset; j < end; j += stride) { - var deltaX = flatCoordinates[j] - anchorX; - var deltaY = flatCoordinates[j + 1] - anchorY; - dest[i++] = anchorX + sx * deltaX; - dest[i++] = anchorY + sy * deltaY; - for (var k = j + 2; k < j + stride; ++k) { - dest[i++] = flatCoordinates[k]; - } - } - if (opt_dest && dest.length != i) { - dest.length = i; - } - return dest; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {number} deltaX Delta X. - * @param {number} deltaY Delta Y. - * @param {Array=} opt_dest Destination. - * @return {Array} Transformed coordinates. - */ -function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) { - var dest = opt_dest ? opt_dest : []; - var i = 0; - for (var j = offset; j < end; j += stride) { - dest[i++] = flatCoordinates[j] + deltaX; - dest[i++] = flatCoordinates[j + 1] + deltaY; - for (var k = j + 2; k < j + stride; ++k) { - dest[i++] = flatCoordinates[k]; - } - } - if (opt_dest && dest.length != i) { - dest.length = i; - } - return dest; -} - -//# sourceMappingURL=transform.js.map - -/***/ }), -/* 30 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - "use strict"; /** * @module ol/CollectionEventType @@ -5153,95 +4771,15 @@ function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_des //# sourceMappingURL=CollectionEventType.js.map /***/ }), -/* 31 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/render/EventType - */ - -/** - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - /** - * @event module:ol/render/Event~RenderEvent#postcompose - * @api - */ - POSTCOMPOSE: 'postcompose', - /** - * @event module:ol/render/Event~RenderEvent#precompose - * @api - */ - PRECOMPOSE: 'precompose', - /** - * @event module:ol/render/Event~RenderEvent#render - * @api - */ - RENDER: 'render', - /** - * Triggered when rendering is complete, i.e. all sources and tiles have - * finished loading for the current viewport, and all tiles are faded in. - * @event module:ol/render/Event~RenderEvent#rendercomplete - * @api - */ - RENDERCOMPLETE: 'rendercomplete' -}); - -//# sourceMappingURL=EventType.js.map - -/***/ }), -/* 32 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return asColorLike; }); -/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38); -/** - * @module ol/colorlike - */ - - - -/** - * A type accepted by CanvasRenderingContext2D.fillStyle - * or CanvasRenderingContext2D.strokeStyle. - * Represents a color, pattern, or gradient. The origin for patterns and - * gradients as fill style is an increment of 512 css pixels from map coordinate - * `[0, 0]`. For seamless repeat patterns, width and height of the pattern image - * must be a factor of two (2, 4, 8, ..., 512). - * - * @typedef {string|CanvasPattern|CanvasGradient} ColorLike - * @api - */ - - -/** - * @param {import("./color.js").Color|ColorLike} color Color. - * @return {ColorLike} The color as an {@link ol/colorlike~ColorLike}. - * @api - */ -function asColorLike(color) { - if (Array.isArray(color)) { - return Object(_color_js__WEBPACK_IMPORTED_MODULE_0__[/* toString */ "b"])(color); - } else { - return color; - } -} - -//# sourceMappingURL=colorlike.js.map - -/***/ }), -/* 33 */ +/* 27 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export CollectionEvent */ -/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63); -/* harmony import */ var _CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _AssertionError_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); +/* harmony import */ var _CollectionEventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); /* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); -/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); +/* harmony import */ var _events_Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21); /** * @module ol/Collection */ @@ -5535,7 +5073,242 @@ var Collection = /*@__PURE__*/(function (BaseObject) { //# sourceMappingURL=Collection.js.map /***/ }), -/* 34 */ +/* 28 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return transform2D; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return rotate; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return scale; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return translate; }); +/** + * @module ol/geom/flat/transform + */ + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {import("../../transform.js").Transform} transform Transform. + * @param {Array=} opt_dest Destination. + * @return {Array} Transformed coordinates. + */ +function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var i = 0; + for (var j = offset; j < end; j += stride) { + var x = flatCoordinates[j]; + var y = flatCoordinates[j + 1]; + dest[i++] = transform[0] * x + transform[2] * y + transform[4]; + dest[i++] = transform[1] * x + transform[3] * y + transform[5]; + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} angle Angle. + * @param {Array} anchor Rotation anchor point. + * @param {Array=} opt_dest Destination. + * @return {Array} Transformed coordinates. + */ +function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var cos = Math.cos(angle); + var sin = Math.sin(angle); + var anchorX = anchor[0]; + var anchorY = anchor[1]; + var i = 0; + for (var j = offset; j < end; j += stride) { + var deltaX = flatCoordinates[j] - anchorX; + var deltaY = flatCoordinates[j + 1] - anchorY; + dest[i++] = anchorX + deltaX * cos - deltaY * sin; + dest[i++] = anchorY + deltaX * sin + deltaY * cos; + for (var k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +} + + +/** + * Scale the coordinates. + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} sx Scale factor in the x-direction. + * @param {number} sy Scale factor in the y-direction. + * @param {Array} anchor Scale anchor point. + * @param {Array=} opt_dest Destination. + * @return {Array} Transformed coordinates. + */ +function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var anchorX = anchor[0]; + var anchorY = anchor[1]; + var i = 0; + for (var j = offset; j < end; j += stride) { + var deltaX = flatCoordinates[j] - anchorX; + var deltaY = flatCoordinates[j + 1] - anchorY; + dest[i++] = anchorX + sx * deltaX; + dest[i++] = anchorY + sy * deltaY; + for (var k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {number} deltaX Delta X. + * @param {number} deltaY Delta Y. + * @param {Array=} opt_dest Destination. + * @return {Array} Transformed coordinates. + */ +function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) { + var dest = opt_dest ? opt_dest : []; + var i = 0; + for (var j = offset; j < end; j += stride) { + dest[i++] = flatCoordinates[j] + deltaX; + dest[i++] = flatCoordinates[j + 1] + deltaY; + for (var k = j + 2; k < j + stride; ++k) { + dest[i++] = flatCoordinates[k]; + } + } + if (opt_dest && dest.length != i) { + dest.length = i; + } + return dest; +} + +//# sourceMappingURL=transform.js.map + +/***/ }), +/* 29 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/LayerType + */ + +/** + * A layer type used when creating layer renderers. + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + IMAGE: 'IMAGE', + TILE: 'TILE', + VECTOR_TILE: 'VECTOR_TILE', + VECTOR: 'VECTOR' +}); + +//# sourceMappingURL=LayerType.js.map + +/***/ }), +/* 30 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/render/EventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + /** + * @event module:ol/render/Event~RenderEvent#postcompose + * @api + */ + POSTCOMPOSE: 'postcompose', + /** + * @event module:ol/render/Event~RenderEvent#precompose + * @api + */ + PRECOMPOSE: 'precompose', + /** + * @event module:ol/render/Event~RenderEvent#render + * @api + */ + RENDER: 'render', + /** + * Triggered when rendering is complete, i.e. all sources and tiles have + * finished loading for the current viewport, and all tiles are faded in. + * @event module:ol/render/Event~RenderEvent#rendercomplete + * @api + */ + RENDERCOMPLETE: 'rendercomplete' +}); + +//# sourceMappingURL=EventType.js.map + +/***/ }), +/* 31 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return asColorLike; }); +/* harmony import */ var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38); +/** + * @module ol/colorlike + */ + + + +/** + * A type accepted by CanvasRenderingContext2D.fillStyle + * or CanvasRenderingContext2D.strokeStyle. + * Represents a color, pattern, or gradient. The origin for patterns and + * gradients as fill style is an increment of 512 css pixels from map coordinate + * `[0, 0]`. For seamless repeat patterns, width and height of the pattern image + * must be a factor of two (2, 4, 8, ..., 512). + * + * @typedef {string|CanvasPattern|CanvasGradient} ColorLike + * @api + */ + + +/** + * @param {import("./color.js").Color|ColorLike} color Color. + * @return {ColorLike} The color as an {@link ol/colorlike~ColorLike}. + * @api + */ +function asColorLike(color) { + if (Array.isArray(color)) { + return Object(_color_js__WEBPACK_IMPORTED_MODULE_0__[/* toString */ "b"])(color); + } else { + return color; + } +} + +//# sourceMappingURL=colorlike.js.map + +/***/ }), +/* 32 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5562,7 +5335,96 @@ var ENABLE_RASTER_REPROJECTION = true; //# sourceMappingURL=common.js.map /***/ }), -/* 35 */ +/* 33 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export buffer */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hasArea; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return scale; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return toSize; }); +/** + * @module ol/size + */ + + +/** + * An array of numbers representing a size: `[width, height]`. + * @typedef {Array} Size + * @api + */ + + +/** + * Returns a buffered size. + * @param {Size} size Size. + * @param {number} num The amount by which to buffer. + * @param {Size=} opt_size Optional reusable size array. + * @return {Size} The buffered size. + */ +function buffer(size, num, opt_size) { + if (opt_size === undefined) { + opt_size = [0, 0]; + } + opt_size[0] = size[0] + 2 * num; + opt_size[1] = size[1] + 2 * num; + return opt_size; +} + + +/** + * Determines if a size has a positive area. + * @param {Size} size The size to test. + * @return {boolean} The size has a positive area. + */ +function hasArea(size) { + return size[0] > 0 && size[1] > 0; +} + + +/** + * Returns a size scaled by a ratio. The result will be an array of integers. + * @param {Size} size Size. + * @param {number} ratio Ratio. + * @param {Size=} opt_size Optional reusable size array. + * @return {Size} The scaled size. + */ +function scale(size, ratio, opt_size) { + if (opt_size === undefined) { + opt_size = [0, 0]; + } + opt_size[0] = (size[0] * ratio + 0.5) | 0; + opt_size[1] = (size[1] * ratio + 0.5) | 0; + return opt_size; +} + + +/** + * Returns an `Size` array for the passed in number (meaning: square) or + * `Size` array. + * (meaning: non-square), + * @param {number|Size} size Width and height. + * @param {Size=} opt_size Optional reusable size array. + * @return {Size} Size. + * @api + */ +function toSize(size, opt_size) { + if (Array.isArray(size)) { + return size; + } else { + if (opt_size === undefined) { + opt_size = [size, size]; + } else { + opt_size[0] = opt_size[1] = /** @type {number} */ (size); + } + return opt_size; + } +} + +//# sourceMappingURL=size.js.map + +/***/ }), +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5662,7 +5524,7 @@ Fill.prototype.getChecksum = function getChecksum () { //# sourceMappingURL=Fill.js.map /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5952,14 +5814,14 @@ Stroke.prototype.getChecksum = function getChecksum () { //# sourceMappingURL=Stroke.js.map /***/ }), -/* 37 */ +/* 36 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _Disposable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); +/* harmony import */ var _Disposable_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); /* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); -/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15); -/* harmony import */ var _Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25); +/* harmony import */ var _functions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _Event_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21); /** * @module ol/events/Target */ @@ -6134,6 +5996,28 @@ var Target = /*@__PURE__*/(function (Disposable) { //# sourceMappingURL=Target.js.map +/***/ }), +/* 37 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/source/State + */ + +/** + * @enum {string} + * State of the source, one of 'undefined', 'loading', 'ready' or 'error'. + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + UNDEFINED: 'undefined', + LOADING: 'loading', + READY: 'ready', + ERROR: 'error' +}); + +//# sourceMappingURL=State.js.map + /***/ }), /* 38 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -6145,7 +6029,7 @@ var Target = /*@__PURE__*/(function (Disposable) { /* unused harmony export normalize */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return toString; }); /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); /** * @module ol/color */ @@ -6380,778 +6264,8 @@ function toString(color) { "use strict"; -// EXTERNAL MODULE: ./node_modules/ol/tilegrid/common.js -var common = __webpack_require__(56); - -// EXTERNAL MODULE: ./node_modules/ol/size.js -var ol_size = __webpack_require__(28); - -// EXTERNAL MODULE: ./node_modules/ol/extent.js -var ol_extent = __webpack_require__(0); - -// EXTERNAL MODULE: ./node_modules/ol/extent/Corner.js -var Corner = __webpack_require__(58); - -// EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules -var proj = __webpack_require__(13); - -// EXTERNAL MODULE: ./node_modules/ol/proj/Units.js -var Units = __webpack_require__(23); - -// EXTERNAL MODULE: ./node_modules/ol/asserts.js -var asserts = __webpack_require__(10); - -// EXTERNAL MODULE: ./node_modules/ol/TileRange.js -var TileRange = __webpack_require__(59); - -// EXTERNAL MODULE: ./node_modules/ol/array.js -var array = __webpack_require__(11); - // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); - -// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js -var tilecoord = __webpack_require__(26); - -// CONCATENATED MODULE: ./node_modules/ol/tilegrid/TileGrid.js -/** - * @module ol/tilegrid/TileGrid - */ - - - - - - - - - - -/** - * @private - * @type {import("../tilecoord.js").TileCoord} - */ -var tmpTileCoord = [0, 0, 0]; - - -/** - * @typedef {Object} Options - * @property {import("../extent.js").Extent} [extent] Extent for the tile grid. No tiles outside this - * extent will be requested by {@link module:ol/source/Tile} sources. When no `origin` or - * `origins` are configured, the `origin` will be set to the top-left corner of the extent. - * @property {number} [minZoom=0] Minimum zoom. - * @property {import("../coordinate.js").Coordinate} [origin] The tile grid origin, i.e. where the `x` - * and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and upwards. If not - * specified, `extent` or `origins` must be provided. - * @property {Array} [origins] Tile grid origins, i.e. where - * the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length - * should match the length of the `resolutions` array, i.e. each resolution can have a different - * origin. Tile coordinates increase left to right and upwards. If not specified, `extent` or - * `origin` must be provided. - * @property {!Array} resolutions Resolutions. The array index of each resolution needs - * to match the zoom level. This means that even if a `minZoom` is configured, the resolutions - * array will have a length of `maxZoom + 1`. - * @property {Array} [sizes] Sizes. - * @property {number|import("../size.js").Size} [tileSize] Tile size. - * Default is `[256, 256]`. - * @property {Array} [tileSizes] Tile sizes. If given, the array length - * should match the length of the `resolutions` array, i.e. each resolution can have a different - * tile size. - */ - - -/** - * @classdesc - * Base class for setting the grid pattern for sources accessing tiled-image - * servers. - * @api - */ -var TileGrid_TileGrid = function TileGrid(options) { - - /** - * @protected - * @type {number} - */ - this.minZoom = options.minZoom !== undefined ? options.minZoom : 0; - - /** - * @private - * @type {!Array} - */ - this.resolutions_ = options.resolutions; - Object(asserts["a" /* assert */])(Object(array["e" /* isSorted */])(this.resolutions_, function(a, b) { - return b - a; - }, true), 17); // `resolutions` must be sorted in descending order - - - // check if we've got a consistent zoom factor and origin - var zoomFactor; - if (!options.origins) { - for (var i = 0, ii = this.resolutions_.length - 1; i < ii; ++i) { - if (!zoomFactor) { - zoomFactor = this.resolutions_[i] / this.resolutions_[i + 1]; - } else { - if (this.resolutions_[i] / this.resolutions_[i + 1] !== zoomFactor) { - zoomFactor = undefined; - break; - } - } - } - } - - - /** - * @private - * @type {number|undefined} - */ - this.zoomFactor_ = zoomFactor; - - - /** - * @protected - * @type {number} - */ - this.maxZoom = this.resolutions_.length - 1; - - /** - * @private - * @type {import("../coordinate.js").Coordinate} - */ - this.origin_ = options.origin !== undefined ? options.origin : null; - - /** - * @private - * @type {Array} - */ - this.origins_ = null; - if (options.origins !== undefined) { - this.origins_ = options.origins; - Object(asserts["a" /* assert */])(this.origins_.length == this.resolutions_.length, - 20); // Number of `origins` and `resolutions` must be equal - } - - var extent = options.extent; - - if (extent !== undefined && - !this.origin_ && !this.origins_) { - this.origin_ = Object(ol_extent["C" /* getTopLeft */])(extent); - } - - Object(asserts["a" /* assert */])( - (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_), - 18); // Either `origin` or `origins` must be configured, never both - - /** - * @private - * @type {Array} - */ - this.tileSizes_ = null; - if (options.tileSizes !== undefined) { - this.tileSizes_ = options.tileSizes; - Object(asserts["a" /* assert */])(this.tileSizes_.length == this.resolutions_.length, - 19); // Number of `tileSizes` and `resolutions` must be equal - } - - /** - * @private - * @type {number|import("../size.js").Size} - */ - this.tileSize_ = options.tileSize !== undefined ? - options.tileSize : - !this.tileSizes_ ? common["b" /* DEFAULT_TILE_SIZE */] : null; - Object(asserts["a" /* assert */])( - (!this.tileSize_ && this.tileSizes_) || - (this.tileSize_ && !this.tileSizes_), - 22); // Either `tileSize` or `tileSizes` must be configured, never both - - /** - * @private - * @type {import("../extent.js").Extent} - */ - this.extent_ = extent !== undefined ? extent : null; - - - /** - * @private - * @type {Array} - */ - this.fullTileRanges_ = null; - - /** - * @private - * @type {import("../size.js").Size} - */ - this.tmpSize_ = [0, 0]; - - if (options.sizes !== undefined) { - this.fullTileRanges_ = options.sizes.map(function(size, z) { - var tileRange = new TileRange["b" /* default */]( - Math.min(0, size[0]), Math.max(size[0] - 1, -1), - Math.min(0, size[1]), Math.max(size[1] - 1, -1)); - return tileRange; - }, this); - } else if (extent) { - this.calculateTileRanges_(extent); - } - -}; - -/** - * Call a function with each tile coordinate for a given extent and zoom level. - * - * @param {import("../extent.js").Extent} extent Extent. - * @param {number} zoom Integer zoom level. - * @param {function(import("../tilecoord.js").TileCoord)} callback Function called with each tile coordinate. - * @api - */ -TileGrid_TileGrid.prototype.forEachTileCoord = function forEachTileCoord (extent, zoom, callback) { - var tileRange = this.getTileRangeForExtentAndZ(extent, zoom); - for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) { - for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) { - callback([zoom, i, j]); - } - } -}; - -/** - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {function(this: T, number, import("../TileRange.js").default): boolean} callback Callback. - * @param {T=} opt_this The object to use as `this` in `callback`. - * @param {import("../TileRange.js").default=} opt_tileRange Temporary import("../TileRange.js").default object. - * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. - * @return {boolean} Callback succeeded. - * @template T - */ -TileGrid_TileGrid.prototype.forEachTileCoordParentTileRange = function forEachTileCoordParentTileRange (tileCoord, callback, opt_this, opt_tileRange, opt_extent) { - var tileRange, x, y; - var tileCoordExtent = null; - var z = tileCoord[0] - 1; - if (this.zoomFactor_ === 2) { - x = tileCoord[1]; - y = tileCoord[2]; - } else { - tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); - } - while (z >= this.minZoom) { - if (this.zoomFactor_ === 2) { - x = Math.floor(x / 2); - y = Math.floor(y / 2); - tileRange = Object(TileRange["a" /* createOrUpdate */])(x, x, y, y, opt_tileRange); - } else { - tileRange = this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange); - } - if (callback.call(opt_this, z, tileRange)) { - return true; - } - --z; - } - return false; -}; - -/** - * Get the extent for this tile grid, if it was configured. - * @return {import("../extent.js").Extent} Extent. - */ -TileGrid_TileGrid.prototype.getExtent = function getExtent () { - return this.extent_; -}; - -/** - * Get the maximum zoom level for the grid. - * @return {number} Max zoom. - * @api - */ -TileGrid_TileGrid.prototype.getMaxZoom = function getMaxZoom () { - return this.maxZoom; -}; - -/** - * Get the minimum zoom level for the grid. - * @return {number} Min zoom. - * @api - */ -TileGrid_TileGrid.prototype.getMinZoom = function getMinZoom () { - return this.minZoom; -}; - -/** - * Get the origin for the grid at the given zoom level. - * @param {number} z Integer zoom level. - * @return {import("../coordinate.js").Coordinate} Origin. - * @api - */ -TileGrid_TileGrid.prototype.getOrigin = function getOrigin (z) { - if (this.origin_) { - return this.origin_; - } else { - return this.origins_[z]; - } -}; - -/** - * Get the resolution for the given zoom level. - * @param {number} z Integer zoom level. - * @return {number} Resolution. - * @api - */ -TileGrid_TileGrid.prototype.getResolution = function getResolution (z) { - return this.resolutions_[z]; -}; - -/** - * Get the list of resolutions for the tile grid. - * @return {Array} Resolutions. - * @api - */ -TileGrid_TileGrid.prototype.getResolutions = function getResolutions () { - return this.resolutions_; -}; - -/** - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {import("../TileRange.js").default=} opt_tileRange Temporary import("../TileRange.js").default object. - * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. - * @return {import("../TileRange.js").default} Tile range. - */ -TileGrid_TileGrid.prototype.getTileCoordChildTileRange = function getTileCoordChildTileRange (tileCoord, opt_tileRange, opt_extent) { - if (tileCoord[0] < this.maxZoom) { - if (this.zoomFactor_ === 2) { - var minX = tileCoord[1] * 2; - var minY = tileCoord[2] * 2; - return Object(TileRange["a" /* createOrUpdate */])(minX, minX + 1, minY, minY + 1, opt_tileRange); - } - var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); - return this.getTileRangeForExtentAndZ( - tileCoordExtent, tileCoord[0] + 1, opt_tileRange); - } - return null; -}; - -/** - * Get the extent for a tile range. - * @param {number} z Integer zoom level. - * @param {import("../TileRange.js").default} tileRange Tile range. - * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. - * @return {import("../extent.js").Extent} Extent. - */ -TileGrid_TileGrid.prototype.getTileRangeExtent = function getTileRangeExtent (z, tileRange, opt_extent) { - var origin = this.getOrigin(z); - var resolution = this.getResolution(z); - var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); - var minX = origin[0] + tileRange.minX * tileSize[0] * resolution; - var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resolution; - var minY = origin[1] + tileRange.minY * tileSize[1] * resolution; - var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resolution; - return Object(ol_extent["k" /* createOrUpdate */])(minX, minY, maxX, maxY, opt_extent); -}; - -/** - * Get a tile range for the given extent and integer zoom level. - * @param {import("../extent.js").Extent} extent Extent. - * @param {number} z Integer zoom level. - * @param {import("../TileRange.js").default=} opt_tileRange Temporary tile range object. - * @return {import("../TileRange.js").default} Tile range. - */ -TileGrid_TileGrid.prototype.getTileRangeForExtentAndZ = function getTileRangeForExtentAndZ (extent, z, opt_tileRange) { - var tileCoord = tmpTileCoord; - this.getTileCoordForXYAndZ_(extent[0], extent[1], z, false, tileCoord); - var minX = tileCoord[1]; - var minY = tileCoord[2]; - this.getTileCoordForXYAndZ_(extent[2], extent[3], z, true, tileCoord); - return Object(TileRange["a" /* createOrUpdate */])(minX, tileCoord[1], minY, tileCoord[2], opt_tileRange); -}; - -/** - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @return {import("../coordinate.js").Coordinate} Tile center. - */ -TileGrid_TileGrid.prototype.getTileCoordCenter = function getTileCoordCenter (tileCoord) { - var origin = this.getOrigin(tileCoord[0]); - var resolution = this.getResolution(tileCoord[0]); - var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(tileCoord[0]), this.tmpSize_); - return [ - origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resolution, - origin[1] + (tileCoord[2] + 0.5) * tileSize[1] * resolution - ]; -}; - -/** - * Get the extent of a tile coordinate. - * - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {import("../extent.js").Extent=} opt_extent Temporary extent object. - * @return {import("../extent.js").Extent} Extent. - * @api - */ -TileGrid_TileGrid.prototype.getTileCoordExtent = function getTileCoordExtent (tileCoord, opt_extent) { - var origin = this.getOrigin(tileCoord[0]); - var resolution = this.getResolution(tileCoord[0]); - var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(tileCoord[0]), this.tmpSize_); - var minX = origin[0] + tileCoord[1] * tileSize[0] * resolution; - var minY = origin[1] + tileCoord[2] * tileSize[1] * resolution; - var maxX = minX + tileSize[0] * resolution; - var maxY = minY + tileSize[1] * resolution; - return Object(ol_extent["k" /* createOrUpdate */])(minX, minY, maxX, maxY, opt_extent); -}; - -/** - * Get the tile coordinate for the given map coordinate and resolution.This - * method considers that coordinates that intersect tile boundaries should be - * assigned the higher tile coordinate. - * - * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. - * @param {number} resolution Resolution. - * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Destination import("../tilecoord.js").TileCoord object. - * @return {import("../tilecoord.js").TileCoord} Tile coordinate. - * @api - */ -TileGrid_TileGrid.prototype.getTileCoordForCoordAndResolution = function getTileCoordForCoordAndResolution (coordinate, resolution, opt_tileCoord) { - return this.getTileCoordForXYAndResolution_( - coordinate[0], coordinate[1], resolution, false, opt_tileCoord); -}; - -/** - * Note that this method should not be called for resolutions that correspond - * to an integer zoom level.Instead call the `getTileCoordForXYAndZ_` method. - * @param {number} x X. - * @param {number} y Y. - * @param {number} resolution Resolution (for a non-integer zoom level). - * @param {boolean} reverseIntersectionPolicy Instead of letting edge - * intersections go to the higher tile coordinate, let edge intersections - * go to the lower tile coordinate. - * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Temporary import("../tilecoord.js").TileCoord object. - * @return {import("../tilecoord.js").TileCoord} Tile coordinate. - * @private - */ -TileGrid_TileGrid.prototype.getTileCoordForXYAndResolution_ = function getTileCoordForXYAndResolution_ (x, y, resolution, reverseIntersectionPolicy, opt_tileCoord) { - var z = this.getZForResolution(resolution); - var scale = resolution / this.getResolution(z); - var origin = this.getOrigin(z); - var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); - - var adjustX = reverseIntersectionPolicy ? 0.5 : 0; - var adjustY = reverseIntersectionPolicy ? 0 : 0.5; - var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX); - var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY); - var tileCoordX = scale * xFromOrigin / tileSize[0]; - var tileCoordY = scale * yFromOrigin / tileSize[1]; - - if (reverseIntersectionPolicy) { - tileCoordX = Math.ceil(tileCoordX) - 1; - tileCoordY = Math.ceil(tileCoordY) - 1; - } else { - tileCoordX = Math.floor(tileCoordX); - tileCoordY = Math.floor(tileCoordY); - } - - return Object(tilecoord["a" /* createOrUpdate */])(z, tileCoordX, tileCoordY, opt_tileCoord); -}; - -/** - * Although there is repetition between this method and `getTileCoordForXYAndResolution_`, - * they should have separate implementations.This method is for integer zoom - * levels.The other method should only be called for resolutions corresponding - * to non-integer zoom levels. - * @param {number} x Map x coordinate. - * @param {number} y Map y coordinate. - * @param {number} z Integer zoom level. - * @param {boolean} reverseIntersectionPolicy Instead of letting edge - * intersections go to the higher tile coordinate, let edge intersections - * go to the lower tile coordinate. - * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Temporary import("../tilecoord.js").TileCoord object. - * @return {import("../tilecoord.js").TileCoord} Tile coordinate. - * @private - */ -TileGrid_TileGrid.prototype.getTileCoordForXYAndZ_ = function getTileCoordForXYAndZ_ (x, y, z, reverseIntersectionPolicy, opt_tileCoord) { - var origin = this.getOrigin(z); - var resolution = this.getResolution(z); - var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); - - var adjustX = reverseIntersectionPolicy ? 0.5 : 0; - var adjustY = reverseIntersectionPolicy ? 0 : 0.5; - var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX); - var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY); - var tileCoordX = xFromOrigin / tileSize[0]; - var tileCoordY = yFromOrigin / tileSize[1]; - - if (reverseIntersectionPolicy) { - tileCoordX = Math.ceil(tileCoordX) - 1; - tileCoordY = Math.ceil(tileCoordY) - 1; - } else { - tileCoordX = Math.floor(tileCoordX); - tileCoordY = Math.floor(tileCoordY); - } - - return Object(tilecoord["a" /* createOrUpdate */])(z, tileCoordX, tileCoordY, opt_tileCoord); -}; - -/** - * Get a tile coordinate given a map coordinate and zoom level. - * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. - * @param {number} z Zoom level. - * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Destination import("../tilecoord.js").TileCoord object. - * @return {import("../tilecoord.js").TileCoord} Tile coordinate. - * @api - */ -TileGrid_TileGrid.prototype.getTileCoordForCoordAndZ = function getTileCoordForCoordAndZ (coordinate, z, opt_tileCoord) { - return this.getTileCoordForXYAndZ_( - coordinate[0], coordinate[1], z, false, opt_tileCoord); -}; - -/** - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @return {number} Tile resolution. - */ -TileGrid_TileGrid.prototype.getTileCoordResolution = function getTileCoordResolution (tileCoord) { - return this.resolutions_[tileCoord[0]]; -}; - -/** - * Get the tile size for a zoom level. The type of the return value matches the - * `tileSize` or `tileSizes` that the tile grid was configured with. To always - * get an `import("../size.js").Size`, run the result through `import("../size.js").Size.toSize()`. - * @param {number} z Z. - * @return {number|import("../size.js").Size} Tile size. - * @api - */ -TileGrid_TileGrid.prototype.getTileSize = function getTileSize (z) { - if (this.tileSize_) { - return this.tileSize_; - } else { - return this.tileSizes_[z]; - } -}; - -/** - * @param {number} z Zoom level. - * @return {import("../TileRange.js").default} Extent tile range for the specified zoom level. - */ -TileGrid_TileGrid.prototype.getFullTileRange = function getFullTileRange (z) { - if (!this.fullTileRanges_) { - return null; - } else { - return this.fullTileRanges_[z]; - } -}; - -/** - * @param {number} resolution Resolution. - * @param {number=} opt_direction If 0, the nearest resolution will be used. - * If 1, the nearest lower resolution will be used. If -1, the nearest - * higher resolution will be used. Default is 0. - * @return {number} Z. - * @api - */ -TileGrid_TileGrid.prototype.getZForResolution = function getZForResolution (resolution, opt_direction) { - var z = Object(array["f" /* linearFindNearest */])(this.resolutions_, resolution, opt_direction || 0); - return Object(math["a" /* clamp */])(z, this.minZoom, this.maxZoom); -}; - -/** - * @param {!import("../extent.js").Extent} extent Extent for this tile grid. - * @private - */ -TileGrid_TileGrid.prototype.calculateTileRanges_ = function calculateTileRanges_ (extent) { - var length = this.resolutions_.length; - var fullTileRanges = new Array(length); - for (var z = this.minZoom; z < length; ++z) { - fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z); - } - this.fullTileRanges_ = fullTileRanges; -}; - - -/* harmony default export */ var tilegrid_TileGrid = (TileGrid_TileGrid); - -//# sourceMappingURL=TileGrid.js.map -// CONCATENATED MODULE: ./node_modules/ol/tilegrid.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return getForProjection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return wrapX; }); -/* unused harmony export createForExtent */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createXYZ; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createForProjection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return extentFromProjection; }); -/** - * @module ol/tilegrid - */ - - - - - - - - - -/** - * @param {import("./proj/Projection.js").default} projection Projection. - * @return {!TileGrid} Default tile grid for the - * passed projection. - */ -function getForProjection(projection) { - var tileGrid = projection.getDefaultTileGrid(); - if (!tileGrid) { - tileGrid = createForProjection(projection); - projection.setDefaultTileGrid(tileGrid); - } - return tileGrid; -} - - -/** - * @param {TileGrid} tileGrid Tile grid. - * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {import("./proj/Projection.js").default} projection Projection. - * @return {import("./tilecoord.js").TileCoord} Tile coordinate. - */ -function wrapX(tileGrid, tileCoord, projection) { - var z = tileCoord[0]; - var center = tileGrid.getTileCoordCenter(tileCoord); - var projectionExtent = extentFromProjection(projection); - if (!Object(ol_extent["f" /* containsCoordinate */])(projectionExtent, center)) { - var worldWidth = Object(ol_extent["E" /* getWidth */])(projectionExtent); - var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth); - center[0] += worldWidth * worldsAway; - return tileGrid.getTileCoordForCoordAndZ(center, z); - } else { - return tileCoord; - } -} - - -/** - * @param {import("./extent.js").Extent} extent Extent. - * @param {number=} opt_maxZoom Maximum zoom level (default is - * DEFAULT_MAX_ZOOM). - * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses - * DEFAULT_TILE_SIZE). - * @param {Corner=} opt_corner Extent corner (default is `'top-left'`). - * @return {!TileGrid} TileGrid instance. - */ -function createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner) { - var corner = opt_corner !== undefined ? opt_corner : Corner["a" /* default */].TOP_LEFT; - - var resolutions = resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize); - - return new tilegrid_TileGrid({ - extent: extent, - origin: Object(ol_extent["y" /* getCorner */])(extent, corner), - resolutions: resolutions, - tileSize: opt_tileSize - }); -} - - -/** - * @typedef {Object} XYZOptions - * @property {import("./extent.js").Extent} [extent] Extent for the tile grid. The origin for an XYZ tile grid is the - * top-left corner of the extent. The zero level of the grid is defined by the resolution at which one tile fits in the - * provided extent. If not provided, the extent of the EPSG:3857 projection is used. - * @property {number} [maxZoom] Maximum zoom. The default is `42`. This determines the number of levels - * in the grid set. For example, a `maxZoom` of 21 means there are 22 levels in the grid set. - * @property {number} [minZoom=0] Minimum zoom. - * @property {number|import("./size.js").Size} [tileSize=[256, 256]] Tile size in pixels. - */ - - -/** - * Creates a tile grid with a standard XYZ tiling scheme. - * @param {XYZOptions=} opt_options Tile grid options. - * @return {!TileGrid} Tile grid instance. - * @api - */ -function createXYZ(opt_options) { - /** @type {XYZOptions} */ - var xyzOptions = opt_options || {}; - - var extent = xyzOptions.extent || Object(proj["e" /* get */])('EPSG:3857').getExtent(); - - /** @type {import("./tilegrid/TileGrid.js").Options} */ - var gridOptions = { - extent: extent, - minZoom: xyzOptions.minZoom, - tileSize: xyzOptions.tileSize, - resolutions: resolutionsFromExtent( - extent, - xyzOptions.maxZoom, - xyzOptions.tileSize - ) - }; - return new tilegrid_TileGrid(gridOptions); -} - - -/** - * Create a resolutions array from an extent. A zoom factor of 2 is assumed. - * @param {import("./extent.js").Extent} extent Extent. - * @param {number=} opt_maxZoom Maximum zoom level (default is - * DEFAULT_MAX_ZOOM). - * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses - * DEFAULT_TILE_SIZE). - * @return {!Array} Resolutions array. - */ -function resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize) { - var maxZoom = opt_maxZoom !== undefined ? - opt_maxZoom : common["a" /* DEFAULT_MAX_ZOOM */]; - - var height = Object(ol_extent["A" /* getHeight */])(extent); - var width = Object(ol_extent["E" /* getWidth */])(extent); - - var tileSize = Object(ol_size["c" /* toSize */])(opt_tileSize !== undefined ? - opt_tileSize : common["b" /* DEFAULT_TILE_SIZE */]); - var maxResolution = Math.max( - width / tileSize[0], height / tileSize[1]); - - var length = maxZoom + 1; - var resolutions = new Array(length); - for (var z = 0; z < length; ++z) { - resolutions[z] = maxResolution / Math.pow(2, z); - } - return resolutions; -} - - -/** - * @param {import("./proj.js").ProjectionLike} projection Projection. - * @param {number=} opt_maxZoom Maximum zoom level (default is - * DEFAULT_MAX_ZOOM). - * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses - * DEFAULT_TILE_SIZE). - * @param {Corner=} opt_corner Extent corner (default is `'top-left'`). - * @return {!TileGrid} TileGrid instance. - */ -function createForProjection(projection, opt_maxZoom, opt_tileSize, opt_corner) { - var extent = extentFromProjection(projection); - return createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner); -} - - -/** - * Generate a tile grid extent from a projection. If the projection has an - * extent, it is used. If not, a global extent is assumed. - * @param {import("./proj.js").ProjectionLike} projection Projection. - * @return {import("./extent.js").Extent} Extent. - */ -function extentFromProjection(projection) { - projection = Object(proj["e" /* get */])(projection); - var extent = projection.getExtent(); - if (!extent) { - var half = 180 * proj["a" /* METERS_PER_UNIT */][Units["b" /* default */].DEGREES] / projection.getMetersPerUnit(); - extent = Object(ol_extent["k" /* createOrUpdate */])(-half, -half, half, half); - } - return extent; -} - -//# sourceMappingURL=tilegrid.js.map - -/***/ }), -/* 40 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/string.js /** @@ -7621,20 +6735,20 @@ function toStringXY(coordinate, opt_fractionDigits) { //# sourceMappingURL=coordinate.js.map /***/ }), -/* 41 */ +/* 40 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return visibleAtResolution; }); /* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1); /* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); -/* harmony import */ var _Base_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(72); +/* harmony import */ var _Base_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69); /* harmony import */ var _Property_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(19); /* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9); -/* harmony import */ var _render_EventType_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31); -/* harmony import */ var _source_State_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43); +/* harmony import */ var _render_EventType_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(30); +/* harmony import */ var _source_State_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(37); /** * @module ol/layer/Layer */ @@ -7877,59 +6991,7 @@ function visibleAtResolution(layerState, resolution) { //# sourceMappingURL=Layer.js.map /***/ }), -/* 42 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/layer/VectorTileRenderType - */ - -/** - * @enum {string} - * Render mode for vector tiles: - * * `'image'`: Vector tiles are rendered as images. Great performance, but - * point symbols and texts are always rotated with the view and pixels are - * scaled during zoom animations. - * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels - * are scaled during zoom animations. Point symbols and texts are accurately - * rendered as vectors and can stay upright on rotated views. - * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering - * even during animations, but slower performance than the other options. - * @api - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - IMAGE: 'image', - HYBRID: 'hybrid', - VECTOR: 'vector' -}); - -//# sourceMappingURL=VectorTileRenderType.js.map - -/***/ }), -/* 43 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/source/State - */ - -/** - * @enum {string} - * State of the source, one of 'undefined', 'loading', 'ready' or 'error'. - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - UNDEFINED: 'undefined', - LOADING: 'loading', - READY: 'ready', - ERROR: 'error' -}); - -//# sourceMappingURL=State.js.map - -/***/ }), -/* 44 */ +/* 41 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -7944,13 +7006,13 @@ var ol_extent = __webpack_require__(0); var ol_Object = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/transform.js -var flat_transform = __webpack_require__(29); +var flat_transform = __webpack_require__(28); // EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules var proj = __webpack_require__(13); // EXTERNAL MODULE: ./node_modules/ol/proj/Units.js -var Units = __webpack_require__(23); +var Units = __webpack_require__(24); // EXTERNAL MODULE: ./node_modules/ol/transform.js var ol_transform = __webpack_require__(8); @@ -8580,7 +7642,30 @@ function transformGeom2D(simpleGeometry, transform, opt_dest) { //# sourceMappingURL=SimpleGeometry.js.map /***/ }), -/* 45 */ +/* 42 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/ObjectEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + /** + * Triggered when a property is changed. + * @event module:ol/Object.ObjectEvent#propertychange + * @api + */ + PROPERTYCHANGE: 'propertychange' +}); + +//# sourceMappingURL=ObjectEventType.js.map + +/***/ }), +/* 43 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8658,7 +7743,7 @@ function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, op //# sourceMappingURL=inflate.js.map /***/ }), -/* 46 */ +/* 44 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8782,7 +7867,7 @@ function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) { //# sourceMappingURL=contains.js.map /***/ }), -/* 47 */ +/* 45 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8790,7 +7875,7 @@ function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return none; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createSnapToN; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createSnapToZero; }); -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); /** * @module ol/rotationconstraint */ @@ -8881,26 +7966,7 @@ function createSnapToZero(opt_tolerance) { //# sourceMappingURL=rotationconstraint.js.map /***/ }), -/* 48 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/layer/TileProperty - */ - -/** - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - PRELOAD: 'preload', - USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError' -}); - -//# sourceMappingURL=TileProperty.js.map - -/***/ }), -/* 49 */ +/* 46 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8908,10 +7974,10 @@ function createSnapToZero(opt_tolerance) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createDefaultStyle; }); /* unused harmony export createEditingStyle */ /* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _Circle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77); -/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); -/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(36); +/* harmony import */ var _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _Circle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72); +/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34); +/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35); /** * @module ol/style/Style */ @@ -9461,7 +8527,7 @@ function defaultGeometryFunction(feature) { //# sourceMappingURL=Style.js.map /***/ }), -/* 50 */ +/* 47 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -9471,7 +8537,7 @@ function defaultGeometryFunction(feature) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return assignClosestPoint; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return assignClosestArrayPoint; }); /* unused harmony export assignClosestMultiArrayPoint */ -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); /** * @module ol/geom/flat/closest */ @@ -9726,316 +8792,7 @@ function assignClosestMultiArrayPoint(flatCoordinates, offset, //# sourceMappingURL=closest.js.map /***/ }), -/* 51 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _TileState_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3); -/* harmony import */ var _easing_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37); -/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); -/** - * @module ol/Tile - */ - - - - - - -/** - * A function that takes an {@link module:ol/Tile} for the tile and a - * `{string}` for the url as arguments. The default is - * ```js - * source.setTileLoadFunction(function(tile, src) { - * tile.getImage().src = src; - * }); - * ``` - * For more fine grained control, the load function can use fetch or XMLHttpRequest and involve - * error handling: - * - * ```js - * import TileState from 'ol/TileState'; - * - * source.setTileLoadFunction(function(tile, src) { - * var xhr = new XMLHttpRequest(); - * xhr.responseType = 'blob'; - * xhr.addEventListener('loadend', function (evt) { - * var data = this.response; - * if (data !== undefined) { - * tile.getImage().src = URL.createObjectURL(data); - * } else { - * tile.setState(TileState.ERROR); - * } - * }); - * xhr.addEventListener('error', function () { - * tile.setState(TileState.ERROR); - * }); - * xhr.open('GET', src); - * xhr.send(); - * }); - * ``` - * - * @typedef {function(Tile, string)} LoadFunction - * @api - */ - -/** - * {@link module:ol/source/Tile~Tile} sources use a function of this type to get - * the url that provides a tile for a given tile coordinate. - * - * This function takes an {@link module:ol/tilecoord~TileCoord} for the tile - * coordinate, a `{number}` representing the pixel ratio and a - * {@link module:ol/proj/Projection} for the projection as arguments - * and returns a `{string}` representing the tile URL, or undefined if no tile - * should be requested for the passed tile coordinate. - * - * @typedef {function(import("./tilecoord.js").TileCoord, number, - * import("./proj/Projection.js").default): (string|undefined)} UrlFunction - * @api - */ - - -/** - * @typedef {Object} Options - * @property {number} [transition=250] A duration for tile opacity - * transitions in milliseconds. A duration of 0 disables the opacity transition. - * @api - */ - - -/** - * @classdesc - * Base class for tiles. - * - * @abstract - */ -var Tile = /*@__PURE__*/(function (EventTarget) { - function Tile(tileCoord, state, opt_options) { - EventTarget.call(this); - - var options = opt_options ? opt_options : {}; - - /** - * @type {import("./tilecoord.js").TileCoord} - */ - this.tileCoord = tileCoord; - - /** - * @protected - * @type {TileState} - */ - this.state = state; - - /** - * An "interim" tile for this tile. The interim tile may be used while this - * one is loading, for "smooth" transitions when changing params/dimensions - * on the source. - * @type {Tile} - */ - this.interimTile = null; - - /** - * A key assigned to the tile. This is used by the tile source to determine - * if this tile can effectively be used, or if a new tile should be created - * and this one be used as an interim tile for this new tile. - * @type {string} - */ - this.key = ''; - - /** - * The duration for the opacity transition. - * @type {number} - */ - this.transition_ = options.transition === undefined ? 250 : options.transition; - - /** - * Lookup of start times for rendering transitions. If the start time is - * equal to -1, the transition is complete. - * @type {Object} - */ - this.transitionStarts_ = {}; - - } - - if ( EventTarget ) Tile.__proto__ = EventTarget; - Tile.prototype = Object.create( EventTarget && EventTarget.prototype ); - Tile.prototype.constructor = Tile; - - /** - * @protected - */ - Tile.prototype.changed = function changed () { - this.dispatchEvent(_events_EventType_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].CHANGE); - }; - - /** - * @return {string} Key. - */ - Tile.prototype.getKey = function getKey () { - return this.key + '/' + this.tileCoord; - }; - - /** - * Get the interim tile most suitable for rendering using the chain of interim - * tiles. This corresponds to the most recent tile that has been loaded, if no - * such tile exists, the original tile is returned. - * @return {!Tile} Best tile for rendering. - */ - Tile.prototype.getInterimTile = function getInterimTile () { - if (!this.interimTile) { - //empty chain - return this; - } - var tile = this.interimTile; - - // find the first loaded tile and return it. Since the chain is sorted in - // decreasing order of creation time, there is no need to search the remainder - // of the list (all those tiles correspond to older requests and will be - // cleaned up by refreshInterimChain) - do { - if (tile.getState() == _TileState_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].LOADED) { - return tile; - } - tile = tile.interimTile; - } while (tile); - - // we can not find a better tile - return this; - }; - - /** - * Goes through the chain of interim tiles and discards sections of the chain - * that are no longer relevant. - */ - Tile.prototype.refreshInterimChain = function refreshInterimChain () { - if (!this.interimTile) { - return; - } - - var tile = this.interimTile; - var prev = /** @type {Tile} */ (this); - - do { - if (tile.getState() == _TileState_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].LOADED) { - //we have a loaded tile, we can discard the rest of the list - //we would could abort any LOADING tile request - //older than this tile (i.e. any LOADING tile following this entry in the chain) - tile.interimTile = null; - break; - } else if (tile.getState() == _TileState_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].LOADING) { - //keep this LOADING tile any loaded tiles later in the chain are - //older than this tile, so we're still interested in the request - prev = tile; - } else if (tile.getState() == _TileState_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].IDLE) { - //the head of the list is the most current tile, we don't need - //to start any other requests for this chain - prev.interimTile = tile.interimTile; - } else { - prev = tile; - } - tile = prev.interimTile; - } while (tile); - }; - - /** - * Get the tile coordinate for this tile. - * @return {import("./tilecoord.js").TileCoord} The tile coordinate. - * @api - */ - Tile.prototype.getTileCoord = function getTileCoord () { - return this.tileCoord; - }; - - /** - * @return {TileState} State. - */ - Tile.prototype.getState = function getState () { - return this.state; - }; - - /** - * Sets the state of this tile. If you write your own {@link module:ol/Tile~LoadFunction tileLoadFunction} , - * it is important to set the state correctly to {@link module:ol/TileState~ERROR} - * when the tile cannot be loaded. Otherwise the tile cannot be removed from - * the tile queue and will block other requests. - * @param {TileState} state State. - * @api - */ - Tile.prototype.setState = function setState (state) { - this.state = state; - this.changed(); - }; - - /** - * Load the image or retry if loading previously failed. - * Loading is taken care of by the tile queue, and calling this method is - * only needed for preloading or for reloading in case of an error. - * @abstract - * @api - */ - Tile.prototype.load = function load () {}; - - /** - * Get the alpha value for rendering. - * @param {string} id An id for the renderer. - * @param {number} time The render frame time. - * @return {number} A number between 0 and 1. - */ - Tile.prototype.getAlpha = function getAlpha (id, time) { - if (!this.transition_) { - return 1; - } - - var start = this.transitionStarts_[id]; - if (!start) { - start = time; - this.transitionStarts_[id] = start; - } else if (start === -1) { - return 1; - } - - var delta = time - start + (1000 / 60); // avoid rendering at 0 - if (delta >= this.transition_) { - return 1; - } - return Object(_easing_js__WEBPACK_IMPORTED_MODULE_1__[/* easeIn */ "a"])(delta / this.transition_); - }; - - /** - * Determine if a tile is in an alpha transition. A tile is considered in - * transition if tile.getAlpha() has not yet been called or has been called - * and returned 1. - * @param {string} id An id for the renderer. - * @return {boolean} The tile is in transition. - */ - Tile.prototype.inTransition = function inTransition (id) { - if (!this.transition_) { - return false; - } - return this.transitionStarts_[id] !== -1; - }; - - /** - * Mark a transition as complete. - * @param {string} id An id for the renderer. - */ - Tile.prototype.endTransition = function endTransition (id) { - if (this.transition_) { - this.transitionStarts_[id] = -1; - } - }; - - return Tile; -}(_events_Target_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])); - - -/* harmony default export */ __webpack_exports__["a"] = (Tile); - -//# sourceMappingURL=Tile.js.map - -/***/ }), -/* 52 */ +/* 48 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10127,7 +8884,7 @@ function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinatesss, st //# sourceMappingURL=deflate.js.map /***/ }), -/* 53 */ +/* 49 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10140,7 +8897,7 @@ function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinatesss, st /* unused harmony export quantize */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return quantizeArray; }); /* unused harmony export quantizeMultiArray */ -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); /** * @module ol/geom/flat/simplify */ @@ -10540,30 +9297,7 @@ function quantizeMultiArray( //# sourceMappingURL=simplify.js.map /***/ }), -/* 54 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/ObjectEventType - */ - -/** - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - /** - * Triggered when a property is changed. - * @event module:ol/Object.ObjectEvent#propertychange - * @api - */ - PROPERTYCHANGE: 'propertychange' -}); - -//# sourceMappingURL=ObjectEventType.js.map - -/***/ }), -/* 55 */ +/* 50 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10584,7 +9318,7 @@ function quantizeMultiArray( //# sourceMappingURL=FormatType.js.map /***/ }), -/* 56 */ +/* 51 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10609,7 +9343,7 @@ var DEFAULT_TILE_SIZE = 256; //# sourceMappingURL=common.js.map /***/ }), -/* 57 */ +/* 52 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -10624,10 +9358,10 @@ var ol_extent = __webpack_require__(0); var GeometryLayout = __webpack_require__(18); // EXTERNAL MODULE: ./node_modules/ol/geom/GeometryType.js -var GeometryType = __webpack_require__(6); +var GeometryType = __webpack_require__(5); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var geom_SimpleGeometry = __webpack_require__(44); +var geom_SimpleGeometry = __webpack_require__(41); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/area.js /** @@ -10694,16 +9428,16 @@ function linearRingss(flatCoordinates, offset, endss, stride) { //# sourceMappingURL=area.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/closest.js -var closest = __webpack_require__(50); +var closest = __webpack_require__(47); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/deflate.js -var deflate = __webpack_require__(52); +var deflate = __webpack_require__(48); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(45); +var inflate = __webpack_require__(43); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(53); +var simplify = __webpack_require__(49); // CONCATENATED MODULE: ./node_modules/ol/geom/LinearRing.js /** @@ -10853,13 +9587,13 @@ var LinearRing_LinearRing = /*@__PURE__*/(function (SimpleGeometry) { //# sourceMappingURL=LinearRing.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/Point.js -var Point = __webpack_require__(68); +var Point = __webpack_require__(65); // EXTERNAL MODULE: ./node_modules/ol/sphere.js -var sphere = __webpack_require__(62); +var sphere = __webpack_require__(59); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/contains.js -var contains = __webpack_require__(46); +var contains = __webpack_require__(44); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/interiorpoint.js /** @@ -10958,7 +9692,7 @@ function getInteriorPointsOfMultiArray(flatCoordinates, offset, endss, stride, f //# sourceMappingURL=interiorpoint.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/intersectsextent.js -var intersectsextent = __webpack_require__(69); +var intersectsextent = __webpack_require__(66); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/reverse.js /** @@ -11128,7 +9862,7 @@ function orientLinearRingsArray(flatCoordinates, offset, endss, stride, opt_righ //# sourceMappingURL=orient.js.map // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/geom/Polygon.js /* unused harmony export circular */ @@ -11560,7 +10294,7 @@ function makeRegular(polygon, center, radius, opt_angle) { //# sourceMappingURL=Polygon.js.map /***/ }), -/* 58 */ +/* 53 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11582,7 +10316,7 @@ function makeRegular(polygon, center, radius, opt_angle) { //# sourceMappingURL=Corner.js.map /***/ }), -/* 59 */ +/* 54 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11731,7 +10465,7 @@ function createOrUpdate(minX, maxX, minY, maxY, tileRange) { //# sourceMappingURL=TileRange.js.map /***/ }), -/* 60 */ +/* 55 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -11773,1597 +10507,7 @@ Disposable.prototype.disposeInternal = function disposeInternal () {}; //# sourceMappingURL=Disposable.js.map /***/ }), -/* 61 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/MapEventType - */ - -/** - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - - /** - * Triggered after a map frame is rendered. - * @event module:ol/MapEvent~MapEvent#postrender - * @api - */ - POSTRENDER: 'postrender', - - /** - * Triggered when the map starts moving. - * @event module:ol/MapEvent~MapEvent#movestart - * @api - */ - MOVESTART: 'movestart', - - /** - * Triggered after the map is moved. - * @event module:ol/MapEvent~MapEvent#moveend - * @api - */ - MOVEEND: 'moveend' - -}); - -//# sourceMappingURL=MapEventType.js.map - -/***/ }), -/* 62 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* unused harmony export DEFAULT_RADIUS */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getDistance; }); -/* unused harmony export getLength */ -/* unused harmony export getArea */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return offset; }); -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7); -/* harmony import */ var _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/** - * @license - * Latitude/longitude spherical geodesy formulae taken from - * http://www.movable-type.co.uk/scripts/latlong.html - * Licensed under CC-BY-3.0. - */ - -/** - * @module ol/sphere - */ - - - - -/** - * Object literal with options for the {@link getLength} or {@link getArea} - * functions. - * @typedef {Object} SphereMetricOptions - * @property {import("./proj.js").ProjectionLike} [projection='EPSG:3857'] - * Projection of the geometry. By default, the geometry is assumed to be in - * Web Mercator. - * @property {number} [radius=6371008.8] Sphere radius. By default, the radius of the - * earth is used (Clarke 1866 Authalic Sphere). - */ - - -/** - * The mean Earth radius (1/3 * (2a + b)) for the WGS84 ellipsoid. - * https://en.wikipedia.org/wiki/Earth_radius#Mean_radius - * @type {number} - */ -var DEFAULT_RADIUS = 6371008.8; - - -/** - * Get the great circle distance (in meters) between two geographic coordinates. - * @param {Array} c1 Starting coordinate. - * @param {Array} c2 Ending coordinate. - * @param {number=} opt_radius The sphere radius to use. Defaults to the Earth's - * mean radius using the WGS84 ellipsoid. - * @return {number} The great circle distance between the points (in meters). - * @api - */ -function getDistance(c1, c2, opt_radius) { - var radius = opt_radius || DEFAULT_RADIUS; - var lat1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[1]); - var lat2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c2[1]); - var deltaLatBy2 = (lat2 - lat1) / 2; - var deltaLonBy2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c2[0] - c1[0]) / 2; - var a = Math.sin(deltaLatBy2) * Math.sin(deltaLatBy2) + - Math.sin(deltaLonBy2) * Math.sin(deltaLonBy2) * - Math.cos(lat1) * Math.cos(lat2); - return 2 * radius * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); -} - - -/** - * Get the cumulative great circle length of linestring coordinates (geographic). - * @param {Array} coordinates Linestring coordinates. - * @param {number} radius The sphere radius to use. - * @return {number} The length (in meters). - */ -function getLengthInternal(coordinates, radius) { - var length = 0; - for (var i = 0, ii = coordinates.length; i < ii - 1; ++i) { - length += getDistance(coordinates[i], coordinates[i + 1], radius); - } - return length; -} - - -/** - * Get the spherical length of a geometry. This length is the sum of the - * great circle distances between coordinates. For polygons, the length is - * the sum of all rings. For points, the length is zero. For multi-part - * geometries, the length is the sum of the length of each part. - * @param {import("./geom/Geometry.js").default} geometry A geometry. - * @param {SphereMetricOptions=} opt_options Options for the - * length calculation. By default, geometries are assumed to be in 'EPSG:3857'. - * You can change this by providing a `projection` option. - * @return {number} The spherical length (in meters). - * @api - */ -function getLength(geometry, opt_options) { - var options = opt_options || {}; - var radius = options.radius || DEFAULT_RADIUS; - var projection = options.projection || 'EPSG:3857'; - var type = geometry.getType(); - if (type !== _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION) { - geometry = geometry.clone().transform(projection, 'EPSG:4326'); - } - var length = 0; - var coordinates, coords, i, ii, j, jj; - switch (type) { - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POINT: { - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINE_STRING: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINEAR_RING: { - coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); - length = getLengthInternal(coordinates, radius); - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_LINE_STRING: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POLYGON: { - coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); - for (i = 0, ii = coordinates.length; i < ii; ++i) { - length += getLengthInternal(coordinates[i], radius); - } - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POLYGON: { - coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); - for (i = 0, ii = coordinates.length; i < ii; ++i) { - coords = coordinates[i]; - for (j = 0, jj = coords.length; j < jj; ++j) { - length += getLengthInternal(coords[j], radius); - } - } - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION: { - var geometries = /** @type {import("./geom/GeometryCollection.js").default} */ (geometry).getGeometries(); - for (i = 0, ii = geometries.length; i < ii; ++i) { - length += getLength(geometries[i], opt_options); - } - break; - } - default: { - throw new Error('Unsupported geometry type: ' + type); - } - } - return length; -} - - -/** - * Returns the spherical area for a list of coordinates. - * - * [Reference](https://trs-new.jpl.nasa.gov/handle/2014/40409) - * Robert. G. Chamberlain and William H. Duquette, "Some Algorithms for - * Polygons on a Sphere", JPL Publication 07-03, Jet Propulsion - * Laboratory, Pasadena, CA, June 2007 - * - * @param {Array} coordinates List of coordinates of a linear - * ring. If the ring is oriented clockwise, the area will be positive, - * otherwise it will be negative. - * @param {number} radius The sphere radius. - * @return {number} Area (in square meters). - */ -function getAreaInternal(coordinates, radius) { - var area = 0; - var len = coordinates.length; - var x1 = coordinates[len - 1][0]; - var y1 = coordinates[len - 1][1]; - for (var i = 0; i < len; i++) { - var x2 = coordinates[i][0]; - var y2 = coordinates[i][1]; - area += Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(x2 - x1) * - (2 + Math.sin(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(y1)) + - Math.sin(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(y2))); - x1 = x2; - y1 = y2; - } - return area * radius * radius / 2.0; -} - - -/** - * Get the spherical area of a geometry. This is the area (in meters) assuming - * that polygon edges are segments of great circles on a sphere. - * @param {import("./geom/Geometry.js").default} geometry A geometry. - * @param {SphereMetricOptions=} opt_options Options for the area - * calculation. By default, geometries are assumed to be in 'EPSG:3857'. - * You can change this by providing a `projection` option. - * @return {number} The spherical area (in square meters). - * @api - */ -function getArea(geometry, opt_options) { - var options = opt_options || {}; - var radius = options.radius || DEFAULT_RADIUS; - var projection = options.projection || 'EPSG:3857'; - var type = geometry.getType(); - if (type !== _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION) { - geometry = geometry.clone().transform(projection, 'EPSG:4326'); - } - var area = 0; - var coordinates, coords, i, ii, j, jj; - switch (type) { - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POINT: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINE_STRING: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_LINE_STRING: - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINEAR_RING: { - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POLYGON: { - coordinates = /** @type {import("./geom/Polygon.js").default} */ (geometry).getCoordinates(); - area = Math.abs(getAreaInternal(coordinates[0], radius)); - for (i = 1, ii = coordinates.length; i < ii; ++i) { - area -= Math.abs(getAreaInternal(coordinates[i], radius)); - } - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POLYGON: { - coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); - for (i = 0, ii = coordinates.length; i < ii; ++i) { - coords = coordinates[i]; - area += Math.abs(getAreaInternal(coords[0], radius)); - for (j = 1, jj = coords.length; j < jj; ++j) { - area -= Math.abs(getAreaInternal(coords[j], radius)); - } - } - break; - } - case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION: { - var geometries = /** @type {import("./geom/GeometryCollection.js").default} */ (geometry).getGeometries(); - for (i = 0, ii = geometries.length; i < ii; ++i) { - area += getArea(geometries[i], opt_options); - } - break; - } - default: { - throw new Error('Unsupported geometry type: ' + type); - } - } - return area; -} - - -/** - * Returns the coordinate at the given distance and bearing from `c1`. - * - * @param {import("./coordinate.js").Coordinate} c1 The origin point (`[lon, lat]` in degrees). - * @param {number} distance The great-circle distance between the origin - * point and the target point. - * @param {number} bearing The bearing (in radians). - * @param {number=} opt_radius The sphere radius to use. Defaults to the Earth's - * mean radius using the WGS84 ellipsoid. - * @return {import("./coordinate.js").Coordinate} The target point. - */ -function offset(c1, distance, bearing, opt_radius) { - var radius = opt_radius || DEFAULT_RADIUS; - var lat1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[1]); - var lon1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[0]); - var dByR = distance / radius; - var lat = Math.asin( - Math.sin(lat1) * Math.cos(dByR) + - Math.cos(lat1) * Math.sin(dByR) * Math.cos(bearing)); - var lon = lon1 + Math.atan2( - Math.sin(bearing) * Math.sin(dByR) * Math.cos(lat1), - Math.cos(dByR) - Math.sin(lat1) * Math.sin(lat)); - return [Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toDegrees */ "h"])(lon), Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toDegrees */ "h"])(lat)]; -} - -//# sourceMappingURL=sphere.js.map - -/***/ }), -/* 63 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/** - * @module ol/AssertionError - */ - - -/** - * Error object thrown when an assertion failed. This is an ECMA-262 Error, - * extended with a `code` property. - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error. - */ -var AssertionError = /*@__PURE__*/(function (Error) { - function AssertionError(code) { - var path = _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"] === 'latest' ? _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"] : 'v' + _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"].split('-')[0]; - var message = 'Assertion failed. See https://openlayers.org/en/' + path + - '/doc/errors/#' + code + ' for details.'; - - Error.call(this, message); - - /** - * Error code. The meaning of the code can be found on - * https://openlayers.org/en/latest/doc/errors/ (replace `latest` with - * the version found in the OpenLayers script's header comment if a version - * other than the latest is used). - * @type {number} - * @api - */ - this.code = code; - - /** - * @type {string} - */ - this.name = 'AssertionError'; - - // Re-assign message, see https://github.com/Rich-Harris/buble/issues/40 - this.message = message; - } - - if ( Error ) AssertionError.__proto__ = Error; - AssertionError.prototype = Object.create( Error && Error.prototype ); - AssertionError.prototype.constructor = AssertionError; - - return AssertionError; -}(Error)); - -/* harmony default export */ __webpack_exports__["a"] = (AssertionError); - -//# sourceMappingURL=AssertionError.js.map - -/***/ }), -/* 64 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); -/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); -/** - * @module ol/structs/LRUCache - */ - - - - - - -/** - * @typedef {Object} Entry - * @property {string} key_ - * @property {Object} newer - * @property {Object} older - * @property {*} value_ - */ - - -/** - * @classdesc - * Implements a Least-Recently-Used cache where the keys do not conflict with - * Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring - * items from the cache is the responsibility of the user. - * - * @fires import("../events/Event.js").Event - * @template T - */ -var LRUCache = /*@__PURE__*/(function (EventTarget) { - function LRUCache(opt_highWaterMark) { - - EventTarget.call(this); - - /** - * @type {number} - */ - this.highWaterMark = opt_highWaterMark !== undefined ? opt_highWaterMark : 2048; - - /** - * @private - * @type {number} - */ - this.count_ = 0; - - /** - * @private - * @type {!Object} - */ - this.entries_ = {}; - - /** - * @private - * @type {?Entry} - */ - this.oldest_ = null; - - /** - * @private - * @type {?Entry} - */ - this.newest_ = null; - - } - - if ( EventTarget ) LRUCache.__proto__ = EventTarget; - LRUCache.prototype = Object.create( EventTarget && EventTarget.prototype ); - LRUCache.prototype.constructor = LRUCache; - - - /** - * @return {boolean} Can expire cache. - */ - LRUCache.prototype.canExpireCache = function canExpireCache () { - return this.getCount() > this.highWaterMark; - }; - - - /** - * FIXME empty description for jsdoc - */ - LRUCache.prototype.clear = function clear () { - this.count_ = 0; - this.entries_ = {}; - this.oldest_ = null; - this.newest_ = null; - this.dispatchEvent(_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].CLEAR); - }; - - - /** - * @param {string} key Key. - * @return {boolean} Contains key. - */ - LRUCache.prototype.containsKey = function containsKey (key) { - return this.entries_.hasOwnProperty(key); - }; - - - /** - * @param {function(this: S, T, string, LRUCache): ?} f The function - * to call for every entry from the oldest to the newer. This function takes - * 3 arguments (the entry value, the entry key and the LRUCache object). - * The return value is ignored. - * @param {S=} opt_this The object to use as `this` in `f`. - * @template S - */ - LRUCache.prototype.forEach = function forEach (f, opt_this) { - var entry = this.oldest_; - while (entry) { - f.call(opt_this, entry.value_, entry.key_, this); - entry = entry.newer; - } - }; - - - /** - * @param {string} key Key. - * @return {T} Value. - */ - LRUCache.prototype.get = function get (key) { - var entry = this.entries_[key]; - Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(entry !== undefined, - 15); // Tried to get a value for a key that does not exist in the cache - if (entry === this.newest_) { - return entry.value_; - } else if (entry === this.oldest_) { - this.oldest_ = /** @type {Entry} */ (this.oldest_.newer); - this.oldest_.older = null; - } else { - entry.newer.older = entry.older; - entry.older.newer = entry.newer; - } - entry.newer = null; - entry.older = this.newest_; - this.newest_.newer = entry; - this.newest_ = entry; - return entry.value_; - }; - - - /** - * Remove an entry from the cache. - * @param {string} key The entry key. - * @return {T} The removed entry. - */ - LRUCache.prototype.remove = function remove (key) { - var entry = this.entries_[key]; - Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache - if (entry === this.newest_) { - this.newest_ = /** @type {Entry} */ (entry.older); - if (this.newest_) { - this.newest_.newer = null; - } - } else if (entry === this.oldest_) { - this.oldest_ = /** @type {Entry} */ (entry.newer); - if (this.oldest_) { - this.oldest_.older = null; - } - } else { - entry.newer.older = entry.older; - entry.older.newer = entry.newer; - } - delete this.entries_[key]; - --this.count_; - return entry.value_; - }; - - - /** - * @return {number} Count. - */ - LRUCache.prototype.getCount = function getCount () { - return this.count_; - }; - - - /** - * @return {Array} Keys. - */ - LRUCache.prototype.getKeys = function getKeys () { - var keys = new Array(this.count_); - var i = 0; - var entry; - for (entry = this.newest_; entry; entry = entry.older) { - keys[i++] = entry.key_; - } - return keys; - }; - - - /** - * @return {Array} Values. - */ - LRUCache.prototype.getValues = function getValues () { - var values = new Array(this.count_); - var i = 0; - var entry; - for (entry = this.newest_; entry; entry = entry.older) { - values[i++] = entry.value_; - } - return values; - }; - - - /** - * @return {T} Last value. - */ - LRUCache.prototype.peekLast = function peekLast () { - return this.oldest_.value_; - }; - - - /** - * @return {string} Last key. - */ - LRUCache.prototype.peekLastKey = function peekLastKey () { - return this.oldest_.key_; - }; - - - /** - * Get the key of the newest item in the cache. Throws if the cache is empty. - * @return {string} The newest key. - */ - LRUCache.prototype.peekFirstKey = function peekFirstKey () { - return this.newest_.key_; - }; - - - /** - * @return {T} value Value. - */ - LRUCache.prototype.pop = function pop () { - var entry = this.oldest_; - delete this.entries_[entry.key_]; - if (entry.newer) { - entry.newer.older = null; - } - this.oldest_ = /** @type {Entry} */ (entry.newer); - if (!this.oldest_) { - this.newest_ = null; - } - --this.count_; - return entry.value_; - }; - - - /** - * @param {string} key Key. - * @param {T} value Value. - */ - LRUCache.prototype.replace = function replace (key, value) { - this.get(key); // update `newest_` - this.entries_[key].value_ = value; - }; - - - /** - * @param {string} key Key. - * @param {T} value Value. - */ - LRUCache.prototype.set = function set (key, value) { - Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(!(key in this.entries_), - 16); // Tried to set a value for a key that is used already - var entry = /** @type {Entry} */ ({ - key_: key, - newer: null, - older: this.newest_, - value_: value - }); - if (!this.newest_) { - this.oldest_ = entry; - } else { - this.newest_.newer = entry; - } - this.newest_ = entry; - this.entries_[key] = entry; - ++this.count_; - }; - - - /** - * Set a maximum number of entries for the cache. - * @param {number} size Cache size. - * @api - */ - LRUCache.prototype.setSize = function setSize (size) { - this.highWaterMark = size; - }; - - - /** - * Prune the cache. - */ - LRUCache.prototype.prune = function prune () { - while (this.canExpireCache()) { - this.pop(); - } - }; - - return LRUCache; -}(_events_Target_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); - -/* harmony default export */ __webpack_exports__["a"] = (LRUCache); - -//# sourceMappingURL=LRUCache.js.map - -/***/ }), -/* 65 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/style/TextPlacement - */ - -/** - * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that - * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString}, - * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or - * {@link module:ol/geom/MultiPolygon~MultiPolygon}. - * @enum {string} - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - POINT: 'point', - LINE: 'line' -}); - -//# sourceMappingURL=TextPlacement.js.map - -/***/ }), -/* 66 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(64); -/* harmony import */ var _tilecoord_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/** - * @module ol/TileCache - */ - - - -var TileCache = /*@__PURE__*/(function (LRUCache) { - function TileCache(opt_highWaterMark) { - - LRUCache.call(this, opt_highWaterMark); - - } - - if ( LRUCache ) TileCache.__proto__ = LRUCache; - TileCache.prototype = Object.create( LRUCache && LRUCache.prototype ); - TileCache.prototype.constructor = TileCache; - - /** - * @param {!Object} usedTiles Used tiles. - */ - TileCache.prototype.expireCache = function expireCache (usedTiles) { - while (this.canExpireCache()) { - var tile = this.peekLast(); - var zKey = tile.tileCoord[0].toString(); - if (zKey in usedTiles && usedTiles[zKey].contains(tile.tileCoord)) { - break; - } else { - this.pop().dispose(); - } - } - }; - - /** - * Prune all tiles from the cache that don't have the same z as the newest tile. - */ - TileCache.prototype.pruneExceptNewestZ = function pruneExceptNewestZ () { - if (this.getCount() === 0) { - return; - } - var key = this.peekFirstKey(); - var tileCoord = Object(_tilecoord_js__WEBPACK_IMPORTED_MODULE_1__[/* fromKey */ "b"])(key); - var z = tileCoord[0]; - this.forEach(function(tile) { - if (tile.tileCoord[0] !== z) { - this.remove(Object(_tilecoord_js__WEBPACK_IMPORTED_MODULE_1__[/* getKey */ "c"])(tile.tileCoord)); - tile.dispose(); - } - }, this); - }; - - return TileCache; -}(_structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])); - - -/* harmony default export */ __webpack_exports__["a"] = (TileCache); - -//# sourceMappingURL=TileCache.js.map - -/***/ }), -/* 67 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* unused harmony export unByKey */ -/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); -/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); -/** - * @module ol/Observable - */ - - - - -/** - * @classdesc - * Abstract base class; normally only used for creating subclasses and not - * instantiated in apps. - * An event target providing convenient methods for listener registration - * and unregistration. A generic `change` event is always available through - * {@link module:ol/Observable~Observable#changed}. - * - * @fires import("./events/Event.js").Event - * @api - */ -var Observable = /*@__PURE__*/(function (EventTarget) { - function Observable() { - - EventTarget.call(this); - - /** - * @private - * @type {number} - */ - this.revision_ = 0; - - } - - if ( EventTarget ) Observable.__proto__ = EventTarget; - Observable.prototype = Object.create( EventTarget && EventTarget.prototype ); - Observable.prototype.constructor = Observable; - - /** - * Increases the revision counter and dispatches a 'change' event. - * @api - */ - Observable.prototype.changed = function changed () { - ++this.revision_; - this.dispatchEvent(_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].CHANGE); - }; - - /** - * Get the version number for this object. Each time the object is modified, - * its version number will be incremented. - * @return {number} Revision. - * @api - */ - Observable.prototype.getRevision = function getRevision () { - return this.revision_; - }; - - /** - * Listen for a certain type of event. - * @param {string|Array} type The event type or array of event types. - * @param {function(?): ?} listener The listener function. - * @return {import("./events.js").EventsKey|Array} Unique key for the listener. If - * called with an array of event types as the first argument, the return - * will be an array of keys. - * @api - */ - Observable.prototype.on = function on (type, listener) { - if (Array.isArray(type)) { - var len = type.length; - var keys = new Array(len); - for (var i = 0; i < len; ++i) { - keys[i] = Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listen */ "a"])(this, type[i], listener); - } - return keys; - } else { - return Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listen */ "a"])(this, /** @type {string} */ (type), listener); - } - }; - - /** - * Listen once for a certain type of event. - * @param {string|Array} type The event type or array of event types. - * @param {function(?): ?} listener The listener function. - * @return {import("./events.js").EventsKey|Array} Unique key for the listener. If - * called with an array of event types as the first argument, the return - * will be an array of keys. - * @api - */ - Observable.prototype.once = function once (type, listener) { - if (Array.isArray(type)) { - var len = type.length; - var keys = new Array(len); - for (var i = 0; i < len; ++i) { - keys[i] = Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listenOnce */ "b"])(this, type[i], listener); - } - return keys; - } else { - return Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listenOnce */ "b"])(this, /** @type {string} */ (type), listener); - } - }; - - /** - * Unlisten for a certain type of event. - * @param {string|Array} type The event type or array of event types. - * @param {function(?): ?} listener The listener function. - * @api - */ - Observable.prototype.un = function un (type, listener) { - if (Array.isArray(type)) { - for (var i = 0, ii = type.length; i < ii; ++i) { - Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlisten */ "c"])(this, type[i], listener); - } - return; - } else { - Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlisten */ "c"])(this, /** @type {string} */ (type), listener); - } - }; - - return Observable; -}(_events_Target_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); - - -/** - * Removes an event listener using the key returned by `on()` or `once()`. - * @param {import("./events.js").EventsKey|Array} key The key returned by `on()` - * or `once()` (or an array of keys). - * @api - */ -function unByKey(key) { - if (Array.isArray(key)) { - for (var i = 0, ii = key.length; i < ii; ++i) { - Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlistenByKey */ "e"])(key[i]); - } - } else { - Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlistenByKey */ "e"])(/** @type {import("./events.js").EventsKey} */ (key)); - } -} - - -/* harmony default export */ __webpack_exports__["a"] = (Observable); - -//# sourceMappingURL=Observable.js.map - -/***/ }), -/* 68 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); -/* harmony import */ var _GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); -/* harmony import */ var _flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52); -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7); -/** - * @module ol/geom/Point - */ - - - - - - -/** - * @classdesc - * Point geometry. - * - * @api - */ -var Point = /*@__PURE__*/(function (SimpleGeometry) { - function Point(coordinates, opt_layout) { - SimpleGeometry.call(this); - this.setCoordinates(coordinates, opt_layout); - } - - if ( SimpleGeometry ) Point.__proto__ = SimpleGeometry; - Point.prototype = Object.create( SimpleGeometry && SimpleGeometry.prototype ); - Point.prototype.constructor = Point; - - /** - * Make a complete copy of the geometry. - * @return {!Point} Clone. - * @override - * @api - */ - Point.prototype.clone = function clone () { - var point = new Point(this.flatCoordinates.slice(), this.layout); - return point; - }; - - /** - * @inheritDoc - */ - Point.prototype.closestPointXY = function closestPointXY (x, y, closestPoint, minSquaredDistance) { - var flatCoordinates = this.flatCoordinates; - var squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_4__[/* squaredDistance */ "f"])(x, y, flatCoordinates[0], flatCoordinates[1]); - if (squaredDistance < minSquaredDistance) { - var stride = this.stride; - for (var i = 0; i < stride; ++i) { - closestPoint[i] = flatCoordinates[i]; - } - closestPoint.length = stride; - return squaredDistance; - } else { - return minSquaredDistance; - } - }; - - /** - * Return the coordinate of the point. - * @return {import("../coordinate.js").Coordinate} Coordinates. - * @override - * @api - */ - Point.prototype.getCoordinates = function getCoordinates () { - return !this.flatCoordinates ? [] : this.flatCoordinates.slice(); - }; - - /** - * @inheritDoc - */ - Point.prototype.computeExtent = function computeExtent (extent) { - return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* createOrUpdateFromCoordinate */ "m"])(this.flatCoordinates, extent); - }; - - /** - * @inheritDoc - * @api - */ - Point.prototype.getType = function getType () { - return _GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT; - }; - - /** - * @inheritDoc - * @api - */ - Point.prototype.intersectsExtent = function intersectsExtent (extent) { - return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* containsXY */ "h"])(extent, this.flatCoordinates[0], this.flatCoordinates[1]); - }; - - /** - * @inheritDoc - * @api - */ - Point.prototype.setCoordinates = function setCoordinates (coordinates, opt_layout) { - this.setLayout(opt_layout, coordinates, 0); - if (!this.flatCoordinates) { - this.flatCoordinates = []; - } - this.flatCoordinates.length = Object(_flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__[/* deflateCoordinate */ "a"])( - this.flatCoordinates, 0, coordinates, this.stride); - this.changed(); - }; - - return Point; -}(_SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])); - - -/* harmony default export */ __webpack_exports__["a"] = (Point); - -//# sourceMappingURL=Point.js.map - -/***/ }), -/* 69 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return intersectsLineString; }); -/* unused harmony export intersectsLineStringArray */ -/* unused harmony export intersectsLinearRing */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return intersectsLinearRingArray; }); -/* unused harmony export intersectsLinearRingMultiArray */ -/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); -/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46); -/* harmony import */ var _segments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70); -/** - * @module ol/geom/flat/intersectsextent - */ - - - - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {import("../../extent.js").Extent} extent Extent. - * @return {boolean} True if the geometry and the extent intersect. - */ -function intersectsLineString(flatCoordinates, offset, end, stride, extent) { - var coordinatesExtent = Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* extendFlatCoordinates */ "s"])( - Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* createEmpty */ "j"])(), flatCoordinates, offset, end, stride); - if (!Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* intersects */ "F"])(extent, coordinatesExtent)) { - return false; - } - if (Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* containsExtent */ "g"])(extent, coordinatesExtent)) { - return true; - } - if (coordinatesExtent[0] >= extent[0] && - coordinatesExtent[2] <= extent[2]) { - return true; - } - if (coordinatesExtent[1] >= extent[1] && - coordinatesExtent[3] <= extent[3]) { - return true; - } - return Object(_segments_js__WEBPACK_IMPORTED_MODULE_2__[/* forEach */ "a"])(flatCoordinates, offset, end, stride, - /** - * @param {import("../../coordinate.js").Coordinate} point1 Start point. - * @param {import("../../coordinate.js").Coordinate} point2 End point. - * @return {boolean} `true` if the segment and the extent intersect, - * `false` otherwise. - */ - function(point1, point2) { - return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* intersectsSegment */ "G"])(extent, point1, point2); - }); -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array} ends Ends. - * @param {number} stride Stride. - * @param {import("../../extent.js").Extent} extent Extent. - * @return {boolean} True if the geometry and the extent intersect. - */ -function intersectsLineStringArray(flatCoordinates, offset, ends, stride, extent) { - for (var i = 0, ii = ends.length; i < ii; ++i) { - if (intersectsLineString( - flatCoordinates, offset, ends[i], stride, extent)) { - return true; - } - offset = ends[i]; - } - return false; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {import("../../extent.js").Extent} extent Extent. - * @return {boolean} True if the geometry and the extent intersect. - */ -function intersectsLinearRing(flatCoordinates, offset, end, stride, extent) { - if (intersectsLineString( - flatCoordinates, offset, end, stride, extent)) { - return true; - } - if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[0], extent[1])) { - return true; - } - if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[0], extent[3])) { - return true; - } - if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[2], extent[1])) { - return true; - } - if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[2], extent[3])) { - return true; - } - return false; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array} ends Ends. - * @param {number} stride Stride. - * @param {import("../../extent.js").Extent} extent Extent. - * @return {boolean} True if the geometry and the extent intersect. - */ -function intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent) { - if (!intersectsLinearRing( - flatCoordinates, offset, ends[0], stride, extent)) { - return false; - } - if (ends.length === 1) { - return true; - } - for (var i = 1, ii = ends.length; i < ii; ++i) { - if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsExtent */ "a"])(flatCoordinates, ends[i - 1], ends[i], stride, extent)) { - if (!intersectsLineString(flatCoordinates, ends[i - 1], ends[i], stride, extent)) { - return false; - } - } - } - return true; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {Array>} endss Endss. - * @param {number} stride Stride. - * @param {import("../../extent.js").Extent} extent Extent. - * @return {boolean} True if the geometry and the extent intersect. - */ -function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, extent) { - for (var i = 0, ii = endss.length; i < ii; ++i) { - var ends = endss[i]; - if (intersectsLinearRingArray( - flatCoordinates, offset, ends, stride, extent)) { - return true; - } - offset = ends[ends.length - 1]; - } - return false; -} - -//# sourceMappingURL=intersectsextent.js.map - -/***/ }), -/* 70 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return forEach; }); -/** - * @module ol/geom/flat/segments - */ - - -/** - * This function calls `callback` for each segment of the flat coordinates - * array. If the callback returns a truthy value the function returns that - * value immediately. Otherwise the function returns `false`. - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @param {function(this: S, import("../../coordinate.js").Coordinate, import("../../coordinate.js").Coordinate): T} callback Function - * called for each segment. - * @param {S=} opt_this The object to be used as the value of 'this' - * within callback. - * @return {T|boolean} Value. - * @template T,S - */ -function forEach(flatCoordinates, offset, end, stride, callback, opt_this) { - var point1 = [flatCoordinates[offset], flatCoordinates[offset + 1]]; - var point2 = []; - var ret; - for (; (offset + stride) < end; offset += stride) { - point2[0] = flatCoordinates[offset + stride]; - point2[1] = flatCoordinates[offset + stride + 1]; - ret = callback.call(opt_this, point1, point2); - if (ret) { - return ret; - } - point1[0] = point2[0]; - point1[1] = point2[1]; - } - return false; -} - -//# sourceMappingURL=segments.js.map - -/***/ }), -/* 71 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return lineStringLength; }); -/* unused harmony export linearRingLength */ -/** - * @module ol/geom/flat/length - */ - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @return {number} Length. - */ -function lineStringLength(flatCoordinates, offset, end, stride) { - var x1 = flatCoordinates[offset]; - var y1 = flatCoordinates[offset + 1]; - var length = 0; - for (var i = offset + stride; i < end; i += stride) { - var x2 = flatCoordinates[i]; - var y2 = flatCoordinates[i + 1]; - length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); - x1 = x2; - y1 = y2; - } - return length; -} - - -/** - * @param {Array} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - * @return {number} Perimeter. - */ -function linearRingLength(flatCoordinates, offset, end, stride) { - var perimeter = lineStringLength(flatCoordinates, offset, end, stride); - var dx = flatCoordinates[end - stride] - flatCoordinates[offset]; - var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1]; - perimeter += Math.sqrt(dx * dx + dy * dy); - return perimeter; -} - -//# sourceMappingURL=length.js.map - -/***/ }), -/* 72 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); -/* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); -/* harmony import */ var _Property_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19); -/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7); -/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9); -/** - * @module ol/layer/Base - */ - - - - - - - -/** - * @typedef {Object} Options - * @property {number} [opacity=1] Opacity (0, 1). - * @property {boolean} [visible=true] Visibility. - * @property {import("../extent.js").Extent} [extent] The bounding extent for layer rendering. The layer will not be - * rendered outside of this extent. - * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers - * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed - * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` - * method was used. - * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be - * visible. - * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will - * be visible. - */ - - -/** - * @classdesc - * Abstract base class; normally only used for creating subclasses and not - * instantiated in apps. - * Note that with {@link module:ol/layer/Base} and all its subclasses, any property set in - * the options is set as a {@link module:ol/Object} property on the layer object, so - * is observable, and has get/set accessors. - * - * @api - */ -var BaseLayer = /*@__PURE__*/(function (BaseObject) { - function BaseLayer(options) { - - BaseObject.call(this); - - /** - * @type {Object} - */ - var properties = Object(_obj_js__WEBPACK_IMPORTED_MODULE_4__[/* assign */ "a"])({}, options); - properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY] = - options.opacity !== undefined ? options.opacity : 1; - properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE] = - options.visible !== undefined ? options.visible : true; - properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX] = options.zIndex; - properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION] = - options.maxResolution !== undefined ? options.maxResolution : Infinity; - properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION] = - options.minResolution !== undefined ? options.minResolution : 0; - - this.setProperties(properties); - - /** - * @type {import("./Layer.js").State} - * @private - */ - this.state_ = null; - - /** - * The layer type. - * @type {import("../LayerType.js").default} - * @protected; - */ - this.type; - - } - - if ( BaseObject ) BaseLayer.__proto__ = BaseObject; - BaseLayer.prototype = Object.create( BaseObject && BaseObject.prototype ); - BaseLayer.prototype.constructor = BaseLayer; - - /** - * Get the layer type (used when creating a layer renderer). - * @return {import("../LayerType.js").default} The layer type. - */ - BaseLayer.prototype.getType = function getType () { - return this.type; - }; - - /** - * @return {import("./Layer.js").State} Layer state. - */ - BaseLayer.prototype.getLayerState = function getLayerState () { - /** @type {import("./Layer.js").State} */ - var state = this.state_ || /** @type {?} */ ({ - layer: this, - managed: true - }); - state.opacity = Object(_math_js__WEBPACK_IMPORTED_MODULE_3__[/* clamp */ "a"])(this.getOpacity(), 0, 1); - state.sourceState = this.getSourceState(); - state.visible = this.getVisible(); - state.extent = this.getExtent(); - state.zIndex = this.getZIndex() || 0; - state.maxResolution = this.getMaxResolution(); - state.minResolution = Math.max(this.getMinResolution(), 0); - this.state_ = state; - - return state; - }; - - /** - * @abstract - * @param {Array=} opt_array Array of layers (to be - * modified in place). - * @return {Array} Array of layers. - */ - BaseLayer.prototype.getLayersArray = function getLayersArray (opt_array) { - return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); - }; - - /** - * @abstract - * @param {Array=} opt_states Optional list of layer - * states (to be modified in place). - * @return {Array} List of layer states. - */ - BaseLayer.prototype.getLayerStatesArray = function getLayerStatesArray (opt_states) { - return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); - }; - - /** - * Return the {@link module:ol/extent~Extent extent} of the layer or `undefined` if it - * will be visible regardless of extent. - * @return {import("../extent.js").Extent|undefined} The layer extent. - * @observable - * @api - */ - BaseLayer.prototype.getExtent = function getExtent () { - return ( - /** @type {import("../extent.js").Extent|undefined} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].EXTENT)) - ); - }; - - /** - * Return the maximum resolution of the layer. - * @return {number} The maximum resolution of the layer. - * @observable - * @api - */ - BaseLayer.prototype.getMaxResolution = function getMaxResolution () { - return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION)); - }; - - /** - * Return the minimum resolution of the layer. - * @return {number} The minimum resolution of the layer. - * @observable - * @api - */ - BaseLayer.prototype.getMinResolution = function getMinResolution () { - return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION)); - }; - - /** - * Return the opacity of the layer (between 0 and 1). - * @return {number} The opacity of the layer. - * @observable - * @api - */ - BaseLayer.prototype.getOpacity = function getOpacity () { - return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY)); - }; - - /** - * @abstract - * @return {import("../source/State.js").default} Source state. - */ - BaseLayer.prototype.getSourceState = function getSourceState () { - return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); - }; - - /** - * Return the visibility of the layer (`true` or `false`). - * @return {boolean} The visibility of the layer. - * @observable - * @api - */ - BaseLayer.prototype.getVisible = function getVisible () { - return /** @type {boolean} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE)); - }; - - /** - * Return the Z-index of the layer, which is used to order layers before - * rendering. The default Z-index is 0. - * @return {number} The Z-index of the layer. - * @observable - * @api - */ - BaseLayer.prototype.getZIndex = function getZIndex () { - return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX)); - }; - - /** - * Set the extent at which the layer is visible. If `undefined`, the layer - * will be visible at all extents. - * @param {import("../extent.js").Extent|undefined} extent The extent of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setExtent = function setExtent (extent) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].EXTENT, extent); - }; - - /** - * Set the maximum resolution at which the layer is visible. - * @param {number} maxResolution The maximum resolution of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setMaxResolution = function setMaxResolution (maxResolution) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION, maxResolution); - }; - - /** - * Set the minimum resolution at which the layer is visible. - * @param {number} minResolution The minimum resolution of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setMinResolution = function setMinResolution (minResolution) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION, minResolution); - }; - - /** - * Set the opacity of the layer, allowed values range from 0 to 1. - * @param {number} opacity The opacity of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setOpacity = function setOpacity (opacity) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY, opacity); - }; - - /** - * Set the visibility of the layer (`true` or `false`). - * @param {boolean} visible The visibility of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setVisible = function setVisible (visible) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE, visible); - }; - - /** - * Set Z-index of the layer, which is used to order layers before rendering. - * The default Z-index is 0. - * @param {number} zindex The z-index of the layer. - * @observable - * @api - */ - BaseLayer.prototype.setZIndex = function setZIndex (zindex) { - this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX, zindex); - }; - - return BaseLayer; -}(_Object_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); - - -/* harmony default export */ __webpack_exports__["a"] = (BaseLayer); - -//# sourceMappingURL=Base.js.map - -/***/ }), -/* 73 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/** - * @module ol/layer/VectorRenderType - */ - -/** - * @enum {string} - * Render mode for vector layers: - * * `'image'`: Vector layers are rendered as images. Great performance, but - * point symbols and texts are always rotated with the view and pixels are - * scaled during zoom animations. - * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering - * even during animations, but slower performance. - * @api - */ -/* harmony default export */ __webpack_exports__["a"] = ({ - IMAGE: 'image', - VECTOR: 'vector' -}); - -//# sourceMappingURL=VectorRenderType.js.map - -/***/ }), -/* 74 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13372,7 +10516,7 @@ var BaseLayer = /*@__PURE__*/(function (BaseObject) { module.exports = rbush; module.exports.default = rbush; -var quickselect = __webpack_require__(101); +var quickselect = __webpack_require__(94); function rbush(maxEntries, format) { if (!(this instanceof rbush)) return new rbush(maxEntries, format); @@ -13932,179 +11076,933 @@ function multiSelect(arr, left, right, n, compare) { /***/ }), -/* 75 */ +/* 57 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; - -// EXTERNAL MODULE: ./node_modules/ol/util.js -var util = __webpack_require__(1); - -// EXTERNAL MODULE: ./node_modules/ol/TileState.js -var TileState = __webpack_require__(3); - -// EXTERNAL MODULE: ./node_modules/ol/asserts.js -var asserts = __webpack_require__(10); - -// EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); - -// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js -var tilecoord = __webpack_require__(26); - -// CONCATENATED MODULE: ./node_modules/ol/tileurlfunction.js /** - * @module ol/tileurlfunction + * @module ol/MapEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + + /** + * Triggered after a map frame is rendered. + * @event module:ol/MapEvent~MapEvent#postrender + * @api + */ + POSTRENDER: 'postrender', + + /** + * Triggered when the map starts moving. + * @event module:ol/MapEvent~MapEvent#movestart + * @api + */ + MOVESTART: 'movestart', + + /** + * Triggered after the map is moved. + * @event module:ol/MapEvent~MapEvent#moveend + * @api + */ + MOVEEND: 'moveend' + +}); + +//# sourceMappingURL=MapEventType.js.map + +/***/ }), +/* 58 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return all; }); +/* unused harmony export bbox */ +/* unused harmony export tile */ +/** + * @module ol/loadingstrategy */ - +/** + * Strategy function for loading all features with a single request. + * @param {import("./extent.js").Extent} extent Extent. + * @param {number} resolution Resolution. + * @return {Array} Extents. + * @api + */ +function all(extent, resolution) { + return [[-Infinity, -Infinity, Infinity, Infinity]]; +} /** - * @param {string} template Template. + * Strategy function for loading features based on the view's extent and + * resolution. + * @param {import("./extent.js").Extent} extent Extent. + * @param {number} resolution Resolution. + * @return {Array} Extents. + * @api + */ +function bbox(extent, resolution) { + return [extent]; +} + + +/** + * Creates a strategy function for loading features based on a tile grid. * @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. - * @return {import("./Tile.js").UrlFunction} Tile URL function. + * @return {function(import("./extent.js").Extent, number): Array} Loading strategy. + * @api */ -function createFromTemplate(template, tileGrid) { - var zRegEx = /\{z\}/g; - var xRegEx = /\{x\}/g; - var yRegEx = /\{y\}/g; - var dashYRegEx = /\{-y\}/g; +function tile(tileGrid) { return ( /** - * @param {import("./tilecoord.js").TileCoord} tileCoord Tile Coordinate. - * @param {number} pixelRatio Pixel ratio. - * @param {import("./proj/Projection.js").default} projection Projection. - * @return {string|undefined} Tile URL. + * @param {import("./extent.js").Extent} extent Extent. + * @param {number} resolution Resolution. + * @return {Array} Extents. */ - function(tileCoord, pixelRatio, projection) { - if (!tileCoord) { - return undefined; - } else { - return template.replace(zRegEx, tileCoord[0].toString()) - .replace(xRegEx, tileCoord[1].toString()) - .replace(yRegEx, function() { - var y = -tileCoord[2] - 1; - return y.toString(); - }) - .replace(dashYRegEx, function() { - var z = tileCoord[0]; - var range = tileGrid.getFullTileRange(z); - Object(asserts["a" /* assert */])(range, 55); // The {-y} placeholder requires a tile grid with extent - var y = range.getHeight() + tileCoord[2]; - return y.toString(); - }); + function(extent, resolution) { + var z = tileGrid.getZForResolution(resolution); + var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); + /** @type {Array} */ + var extents = []; + /** @type {import("./tilecoord.js").TileCoord} */ + var tileCoord = [z, 0, 0]; + for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX; ++tileCoord[1]) { + for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY; ++tileCoord[2]) { + extents.push(tileGrid.getTileCoordExtent(tileCoord)); + } } + return extents; } ); } +//# sourceMappingURL=loadingstrategy.js.map + +/***/ }), +/* 59 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export DEFAULT_RADIUS */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getDistance; }); +/* unused harmony export getLength */ +/* unused harmony export getArea */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return offset; }); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6); +/* harmony import */ var _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/** + * @license + * Latitude/longitude spherical geodesy formulae taken from + * http://www.movable-type.co.uk/scripts/latlong.html + * Licensed under CC-BY-3.0. + */ /** - * @param {Array} templates Templates. - * @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. - * @return {import("./Tile.js").UrlFunction} Tile URL function. + * @module ol/sphere */ -function createFromTemplates(templates, tileGrid) { - var len = templates.length; - var tileUrlFunctions = new Array(len); - for (var i = 0; i < len; ++i) { - tileUrlFunctions[i] = createFromTemplate(templates[i], tileGrid); - } - return createFromTileUrlFunctions(tileUrlFunctions); + + + + +/** + * Object literal with options for the {@link getLength} or {@link getArea} + * functions. + * @typedef {Object} SphereMetricOptions + * @property {import("./proj.js").ProjectionLike} [projection='EPSG:3857'] + * Projection of the geometry. By default, the geometry is assumed to be in + * Web Mercator. + * @property {number} [radius=6371008.8] Sphere radius. By default, the radius of the + * earth is used (Clarke 1866 Authalic Sphere). + */ + + +/** + * The mean Earth radius (1/3 * (2a + b)) for the WGS84 ellipsoid. + * https://en.wikipedia.org/wiki/Earth_radius#Mean_radius + * @type {number} + */ +var DEFAULT_RADIUS = 6371008.8; + + +/** + * Get the great circle distance (in meters) between two geographic coordinates. + * @param {Array} c1 Starting coordinate. + * @param {Array} c2 Ending coordinate. + * @param {number=} opt_radius The sphere radius to use. Defaults to the Earth's + * mean radius using the WGS84 ellipsoid. + * @return {number} The great circle distance between the points (in meters). + * @api + */ +function getDistance(c1, c2, opt_radius) { + var radius = opt_radius || DEFAULT_RADIUS; + var lat1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[1]); + var lat2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c2[1]); + var deltaLatBy2 = (lat2 - lat1) / 2; + var deltaLonBy2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c2[0] - c1[0]) / 2; + var a = Math.sin(deltaLatBy2) * Math.sin(deltaLatBy2) + + Math.sin(deltaLonBy2) * Math.sin(deltaLonBy2) * + Math.cos(lat1) * Math.cos(lat2); + return 2 * radius * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); } /** - * @param {Array} tileUrlFunctions Tile URL Functions. - * @return {import("./Tile.js").UrlFunction} Tile URL function. + * Get the cumulative great circle length of linestring coordinates (geographic). + * @param {Array} coordinates Linestring coordinates. + * @param {number} radius The sphere radius to use. + * @return {number} The length (in meters). */ -function createFromTileUrlFunctions(tileUrlFunctions) { - if (tileUrlFunctions.length === 1) { - return tileUrlFunctions[0]; +function getLengthInternal(coordinates, radius) { + var length = 0; + for (var i = 0, ii = coordinates.length; i < ii - 1; ++i) { + length += getDistance(coordinates[i], coordinates[i + 1], radius); } - return ( - /** - * @param {import("./tilecoord.js").TileCoord} tileCoord Tile Coordinate. - * @param {number} pixelRatio Pixel ratio. - * @param {import("./proj/Projection.js").default} projection Projection. - * @return {string|undefined} Tile URL. - */ - function(tileCoord, pixelRatio, projection) { - if (!tileCoord) { - return undefined; - } else { - var h = Object(tilecoord["e" /* hash */])(tileCoord); - var index = Object(math["d" /* modulo */])(h, tileUrlFunctions.length); - return tileUrlFunctions[index](tileCoord, pixelRatio, projection); + return length; +} + + +/** + * Get the spherical length of a geometry. This length is the sum of the + * great circle distances between coordinates. For polygons, the length is + * the sum of all rings. For points, the length is zero. For multi-part + * geometries, the length is the sum of the length of each part. + * @param {import("./geom/Geometry.js").default} geometry A geometry. + * @param {SphereMetricOptions=} opt_options Options for the + * length calculation. By default, geometries are assumed to be in 'EPSG:3857'. + * You can change this by providing a `projection` option. + * @return {number} The spherical length (in meters). + * @api + */ +function getLength(geometry, opt_options) { + var options = opt_options || {}; + var radius = options.radius || DEFAULT_RADIUS; + var projection = options.projection || 'EPSG:3857'; + var type = geometry.getType(); + if (type !== _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION) { + geometry = geometry.clone().transform(projection, 'EPSG:4326'); + } + var length = 0; + var coordinates, coords, i, ii, j, jj; + switch (type) { + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POINT: { + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINE_STRING: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINEAR_RING: { + coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); + length = getLengthInternal(coordinates, radius); + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_LINE_STRING: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POLYGON: { + coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + length += getLengthInternal(coordinates[i], radius); } + break; } - ); + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POLYGON: { + coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + coords = coordinates[i]; + for (j = 0, jj = coords.length; j < jj; ++j) { + length += getLengthInternal(coords[j], radius); + } + } + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION: { + var geometries = /** @type {import("./geom/GeometryCollection.js").default} */ (geometry).getGeometries(); + for (i = 0, ii = geometries.length; i < ii; ++i) { + length += getLength(geometries[i], opt_options); + } + break; + } + default: { + throw new Error('Unsupported geometry type: ' + type); + } + } + return length; } /** - * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {number} pixelRatio Pixel ratio. - * @param {import("./proj/Projection.js").default} projection Projection. - * @return {string|undefined} Tile URL. + * Returns the spherical area for a list of coordinates. + * + * [Reference](https://trs-new.jpl.nasa.gov/handle/2014/40409) + * Robert. G. Chamberlain and William H. Duquette, "Some Algorithms for + * Polygons on a Sphere", JPL Publication 07-03, Jet Propulsion + * Laboratory, Pasadena, CA, June 2007 + * + * @param {Array} coordinates List of coordinates of a linear + * ring. If the ring is oriented clockwise, the area will be positive, + * otherwise it will be negative. + * @param {number} radius The sphere radius. + * @return {number} Area (in square meters). */ -function nullTileUrlFunction(tileCoord, pixelRatio, projection) { - return undefined; +function getAreaInternal(coordinates, radius) { + var area = 0; + var len = coordinates.length; + var x1 = coordinates[len - 1][0]; + var y1 = coordinates[len - 1][1]; + for (var i = 0; i < len; i++) { + var x2 = coordinates[i][0]; + var y2 = coordinates[i][1]; + area += Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(x2 - x1) * + (2 + Math.sin(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(y1)) + + Math.sin(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(y2))); + x1 = x2; + y1 = y2; + } + return area * radius * radius / 2.0; } /** - * @param {string} url URL. - * @return {Array} Array of urls. + * Get the spherical area of a geometry. This is the area (in meters) assuming + * that polygon edges are segments of great circles on a sphere. + * @param {import("./geom/Geometry.js").default} geometry A geometry. + * @param {SphereMetricOptions=} opt_options Options for the area + * calculation. By default, geometries are assumed to be in 'EPSG:3857'. + * You can change this by providing a `projection` option. + * @return {number} The spherical area (in square meters). + * @api */ -function expandUrl(url) { - var urls = []; - var match = /\{([a-z])-([a-z])\}/.exec(url); - if (match) { - // char range - var startCharCode = match[1].charCodeAt(0); - var stopCharCode = match[2].charCodeAt(0); - var charCode; - for (charCode = startCharCode; charCode <= stopCharCode; ++charCode) { - urls.push(url.replace(match[0], String.fromCharCode(charCode))); - } - return urls; +function getArea(geometry, opt_options) { + var options = opt_options || {}; + var radius = options.radius || DEFAULT_RADIUS; + var projection = options.projection || 'EPSG:3857'; + var type = geometry.getType(); + if (type !== _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION) { + geometry = geometry.clone().transform(projection, 'EPSG:4326'); } - match = match = /\{(\d+)-(\d+)\}/.exec(url); - if (match) { - // number range - var stop = parseInt(match[2], 10); - for (var i = parseInt(match[1], 10); i <= stop; i++) { - urls.push(url.replace(match[0], i.toString())); + var area = 0; + var coordinates, coords, i, ii, j, jj; + switch (type) { + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POINT: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINE_STRING: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_LINE_STRING: + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].LINEAR_RING: { + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POLYGON: { + coordinates = /** @type {import("./geom/Polygon.js").default} */ (geometry).getCoordinates(); + area = Math.abs(getAreaInternal(coordinates[0], radius)); + for (i = 1, ii = coordinates.length; i < ii; ++i) { + area -= Math.abs(getAreaInternal(coordinates[i], radius)); + } + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].MULTI_POLYGON: { + coordinates = /** @type {import("./geom/SimpleGeometry.js").default} */ (geometry).getCoordinates(); + for (i = 0, ii = coordinates.length; i < ii; ++i) { + coords = coordinates[i]; + area += Math.abs(getAreaInternal(coords[0], radius)); + for (j = 1, jj = coords.length; j < jj; ++j) { + area -= Math.abs(getAreaInternal(coords[j], radius)); + } + } + break; + } + case _geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].GEOMETRY_COLLECTION: { + var geometries = /** @type {import("./geom/GeometryCollection.js").default} */ (geometry).getGeometries(); + for (i = 0, ii = geometries.length; i < ii; ++i) { + area += getArea(geometries[i], opt_options); + } + break; + } + default: { + throw new Error('Unsupported geometry type: ' + type); } - return urls; } - urls.push(url); - return urls; + return area; } -//# sourceMappingURL=tileurlfunction.js.map -// EXTERNAL MODULE: ./node_modules/ol/TileCache.js -var TileCache = __webpack_require__(66); -// EXTERNAL MODULE: ./node_modules/ol/events/Event.js -var Event = __webpack_require__(25); +/** + * Returns the coordinate at the given distance and bearing from `c1`. + * + * @param {import("./coordinate.js").Coordinate} c1 The origin point (`[lon, lat]` in degrees). + * @param {number} distance The great-circle distance between the origin + * point and the target point. + * @param {number} bearing The bearing (in radians). + * @param {number=} opt_radius The sphere radius to use. Defaults to the Earth's + * mean radius using the WGS84 ellipsoid. + * @return {import("./coordinate.js").Coordinate} The target point. + */ +function offset(c1, distance, bearing, opt_radius) { + var radius = opt_radius || DEFAULT_RADIUS; + var lat1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[1]); + var lon1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toRadians */ "i"])(c1[0]); + var dByR = distance / radius; + var lat = Math.asin( + Math.sin(lat1) * Math.cos(dByR) + + Math.cos(lat1) * Math.sin(dByR) * Math.cos(bearing)); + var lon = lon1 + Math.atan2( + Math.sin(bearing) * Math.sin(dByR) * Math.cos(lat1), + Math.cos(dByR) - Math.sin(lat1) * Math.sin(lat)); + return [Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toDegrees */ "h"])(lon), Object(_math_js__WEBPACK_IMPORTED_MODULE_0__[/* toDegrees */ "h"])(lat)]; +} -// EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules -var proj = __webpack_require__(13); +//# sourceMappingURL=sphere.js.map -// EXTERNAL MODULE: ./node_modules/ol/size.js -var size = __webpack_require__(28); +/***/ }), +/* 60 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { -// EXTERNAL MODULE: ./node_modules/ol/Object.js -var ol_Object = __webpack_require__(16); +"use strict"; +/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/** + * @module ol/AssertionError + */ -// EXTERNAL MODULE: ./node_modules/ol/source/State.js -var State = __webpack_require__(43); -// CONCATENATED MODULE: ./node_modules/ol/source/Source.js +/** + * Error object thrown when an assertion failed. This is an ECMA-262 Error, + * extended with a `code` property. + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error. + */ +var AssertionError = /*@__PURE__*/(function (Error) { + function AssertionError(code) { + var path = _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"] === 'latest' ? _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"] : 'v' + _util_js__WEBPACK_IMPORTED_MODULE_0__[/* VERSION */ "a"].split('-')[0]; + var message = 'Assertion failed. See https://openlayers.org/en/' + path + + '/doc/errors/#' + code + ' for details.'; + + Error.call(this, message); + + /** + * Error code. The meaning of the code can be found on + * https://openlayers.org/en/latest/doc/errors/ (replace `latest` with + * the version found in the OpenLayers script's header comment if a version + * other than the latest is used). + * @type {number} + * @api + */ + this.code = code; + + /** + * @type {string} + */ + this.name = 'AssertionError'; + + // Re-assign message, see https://github.com/Rich-Harris/buble/issues/40 + this.message = message; + } + + if ( Error ) AssertionError.__proto__ = Error; + AssertionError.prototype = Object.create( Error && Error.prototype ); + AssertionError.prototype.constructor = AssertionError; + + return AssertionError; +}(Error)); + +/* harmony default export */ __webpack_exports__["a"] = (AssertionError); + +//# sourceMappingURL=AssertionError.js.map + +/***/ }), +/* 61 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); +/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36); +/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/** + * @module ol/structs/LRUCache + */ + + + + + + +/** + * @typedef {Object} Entry + * @property {string} key_ + * @property {Object} newer + * @property {Object} older + * @property {*} value_ + */ + + +/** + * @classdesc + * Implements a Least-Recently-Used cache where the keys do not conflict with + * Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring + * items from the cache is the responsibility of the user. + * + * @fires import("../events/Event.js").Event + * @template T + */ +var LRUCache = /*@__PURE__*/(function (EventTarget) { + function LRUCache(opt_highWaterMark) { + + EventTarget.call(this); + + /** + * @type {number} + */ + this.highWaterMark = opt_highWaterMark !== undefined ? opt_highWaterMark : 2048; + + /** + * @private + * @type {number} + */ + this.count_ = 0; + + /** + * @private + * @type {!Object} + */ + this.entries_ = {}; + + /** + * @private + * @type {?Entry} + */ + this.oldest_ = null; + + /** + * @private + * @type {?Entry} + */ + this.newest_ = null; + + } + + if ( EventTarget ) LRUCache.__proto__ = EventTarget; + LRUCache.prototype = Object.create( EventTarget && EventTarget.prototype ); + LRUCache.prototype.constructor = LRUCache; + + + /** + * @return {boolean} Can expire cache. + */ + LRUCache.prototype.canExpireCache = function canExpireCache () { + return this.getCount() > this.highWaterMark; + }; + + + /** + * FIXME empty description for jsdoc + */ + LRUCache.prototype.clear = function clear () { + this.count_ = 0; + this.entries_ = {}; + this.oldest_ = null; + this.newest_ = null; + this.dispatchEvent(_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].CLEAR); + }; + + + /** + * @param {string} key Key. + * @return {boolean} Contains key. + */ + LRUCache.prototype.containsKey = function containsKey (key) { + return this.entries_.hasOwnProperty(key); + }; + + + /** + * @param {function(this: S, T, string, LRUCache): ?} f The function + * to call for every entry from the oldest to the newer. This function takes + * 3 arguments (the entry value, the entry key and the LRUCache object). + * The return value is ignored. + * @param {S=} opt_this The object to use as `this` in `f`. + * @template S + */ + LRUCache.prototype.forEach = function forEach (f, opt_this) { + var entry = this.oldest_; + while (entry) { + f.call(opt_this, entry.value_, entry.key_, this); + entry = entry.newer; + } + }; + + + /** + * @param {string} key Key. + * @return {T} Value. + */ + LRUCache.prototype.get = function get (key) { + var entry = this.entries_[key]; + Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(entry !== undefined, + 15); // Tried to get a value for a key that does not exist in the cache + if (entry === this.newest_) { + return entry.value_; + } else if (entry === this.oldest_) { + this.oldest_ = /** @type {Entry} */ (this.oldest_.newer); + this.oldest_.older = null; + } else { + entry.newer.older = entry.older; + entry.older.newer = entry.newer; + } + entry.newer = null; + entry.older = this.newest_; + this.newest_.newer = entry; + this.newest_ = entry; + return entry.value_; + }; + + + /** + * Remove an entry from the cache. + * @param {string} key The entry key. + * @return {T} The removed entry. + */ + LRUCache.prototype.remove = function remove (key) { + var entry = this.entries_[key]; + Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache + if (entry === this.newest_) { + this.newest_ = /** @type {Entry} */ (entry.older); + if (this.newest_) { + this.newest_.newer = null; + } + } else if (entry === this.oldest_) { + this.oldest_ = /** @type {Entry} */ (entry.newer); + if (this.oldest_) { + this.oldest_.older = null; + } + } else { + entry.newer.older = entry.older; + entry.older.newer = entry.newer; + } + delete this.entries_[key]; + --this.count_; + return entry.value_; + }; + + + /** + * @return {number} Count. + */ + LRUCache.prototype.getCount = function getCount () { + return this.count_; + }; + + + /** + * @return {Array} Keys. + */ + LRUCache.prototype.getKeys = function getKeys () { + var keys = new Array(this.count_); + var i = 0; + var entry; + for (entry = this.newest_; entry; entry = entry.older) { + keys[i++] = entry.key_; + } + return keys; + }; + + + /** + * @return {Array} Values. + */ + LRUCache.prototype.getValues = function getValues () { + var values = new Array(this.count_); + var i = 0; + var entry; + for (entry = this.newest_; entry; entry = entry.older) { + values[i++] = entry.value_; + } + return values; + }; + + + /** + * @return {T} Last value. + */ + LRUCache.prototype.peekLast = function peekLast () { + return this.oldest_.value_; + }; + + + /** + * @return {string} Last key. + */ + LRUCache.prototype.peekLastKey = function peekLastKey () { + return this.oldest_.key_; + }; + + + /** + * Get the key of the newest item in the cache. Throws if the cache is empty. + * @return {string} The newest key. + */ + LRUCache.prototype.peekFirstKey = function peekFirstKey () { + return this.newest_.key_; + }; + + + /** + * @return {T} value Value. + */ + LRUCache.prototype.pop = function pop () { + var entry = this.oldest_; + delete this.entries_[entry.key_]; + if (entry.newer) { + entry.newer.older = null; + } + this.oldest_ = /** @type {Entry} */ (entry.newer); + if (!this.oldest_) { + this.newest_ = null; + } + --this.count_; + return entry.value_; + }; + + + /** + * @param {string} key Key. + * @param {T} value Value. + */ + LRUCache.prototype.replace = function replace (key, value) { + this.get(key); // update `newest_` + this.entries_[key].value_ = value; + }; + + + /** + * @param {string} key Key. + * @param {T} value Value. + */ + LRUCache.prototype.set = function set (key, value) { + Object(_asserts_js__WEBPACK_IMPORTED_MODULE_0__[/* assert */ "a"])(!(key in this.entries_), + 16); // Tried to set a value for a key that is used already + var entry = /** @type {Entry} */ ({ + key_: key, + newer: null, + older: this.newest_, + value_: value + }); + if (!this.newest_) { + this.oldest_ = entry; + } else { + this.newest_.newer = entry; + } + this.newest_ = entry; + this.entries_[key] = entry; + ++this.count_; + }; + + + /** + * Set a maximum number of entries for the cache. + * @param {number} size Cache size. + * @api + */ + LRUCache.prototype.setSize = function setSize (size) { + this.highWaterMark = size; + }; + + + /** + * Prune the cache. + */ + LRUCache.prototype.prune = function prune () { + while (this.canExpireCache()) { + this.pop(); + } + }; + + return LRUCache; +}(_events_Target_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); + +/* harmony default export */ __webpack_exports__["a"] = (LRUCache); + +//# sourceMappingURL=LRUCache.js.map + +/***/ }), +/* 62 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/** + * @module ol/style/TextPlacement + */ + +/** + * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that + * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString}, + * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or + * {@link module:ol/geom/MultiPolygon~MultiPolygon}. + * @enum {string} + */ +/* harmony default export */ __webpack_exports__["a"] = ({ + POINT: 'point', + LINE: 'line' +}); + +//# sourceMappingURL=TextPlacement.js.map + +/***/ }), +/* 63 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export unByKey */ +/* harmony import */ var _events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); +/* harmony import */ var _events_Target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36); +/* harmony import */ var _events_EventType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); +/** + * @module ol/Observable + */ + + + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * An event target providing convenient methods for listener registration + * and unregistration. A generic `change` event is always available through + * {@link module:ol/Observable~Observable#changed}. + * + * @fires import("./events/Event.js").Event + * @api + */ +var Observable = /*@__PURE__*/(function (EventTarget) { + function Observable() { + + EventTarget.call(this); + + /** + * @private + * @type {number} + */ + this.revision_ = 0; + + } + + if ( EventTarget ) Observable.__proto__ = EventTarget; + Observable.prototype = Object.create( EventTarget && EventTarget.prototype ); + Observable.prototype.constructor = Observable; + + /** + * Increases the revision counter and dispatches a 'change' event. + * @api + */ + Observable.prototype.changed = function changed () { + ++this.revision_; + this.dispatchEvent(_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].CHANGE); + }; + + /** + * Get the version number for this object. Each time the object is modified, + * its version number will be incremented. + * @return {number} Revision. + * @api + */ + Observable.prototype.getRevision = function getRevision () { + return this.revision_; + }; + + /** + * Listen for a certain type of event. + * @param {string|Array} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @return {import("./events.js").EventsKey|Array} Unique key for the listener. If + * called with an array of event types as the first argument, the return + * will be an array of keys. + * @api + */ + Observable.prototype.on = function on (type, listener) { + if (Array.isArray(type)) { + var len = type.length; + var keys = new Array(len); + for (var i = 0; i < len; ++i) { + keys[i] = Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listen */ "a"])(this, type[i], listener); + } + return keys; + } else { + return Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listen */ "a"])(this, /** @type {string} */ (type), listener); + } + }; + + /** + * Listen once for a certain type of event. + * @param {string|Array} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @return {import("./events.js").EventsKey|Array} Unique key for the listener. If + * called with an array of event types as the first argument, the return + * will be an array of keys. + * @api + */ + Observable.prototype.once = function once (type, listener) { + if (Array.isArray(type)) { + var len = type.length; + var keys = new Array(len); + for (var i = 0; i < len; ++i) { + keys[i] = Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listenOnce */ "b"])(this, type[i], listener); + } + return keys; + } else { + return Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* listenOnce */ "b"])(this, /** @type {string} */ (type), listener); + } + }; + + /** + * Unlisten for a certain type of event. + * @param {string|Array} type The event type or array of event types. + * @param {function(?): ?} listener The listener function. + * @api + */ + Observable.prototype.un = function un (type, listener) { + if (Array.isArray(type)) { + for (var i = 0, ii = type.length; i < ii; ++i) { + Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlisten */ "c"])(this, type[i], listener); + } + return; + } else { + Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlisten */ "c"])(this, /** @type {string} */ (type), listener); + } + }; + + return Observable; +}(_events_Target_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); + + +/** + * Removes an event listener using the key returned by `on()` or `once()`. + * @param {import("./events.js").EventsKey|Array} key The key returned by `on()` + * or `once()` (or an array of keys). + * @api + */ +function unByKey(key) { + if (Array.isArray(key)) { + for (var i = 0, ii = key.length; i < ii; ++i) { + Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlistenByKey */ "e"])(key[i]); + } + } else { + Object(_events_js__WEBPACK_IMPORTED_MODULE_0__[/* unlistenByKey */ "e"])(/** @type {import("./events.js").EventsKey} */ (key)); + } +} + + +/* harmony default export */ __webpack_exports__["a"] = (Observable); + +//# sourceMappingURL=Observable.js.map + +/***/ }), +/* 64 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _proj_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); +/* harmony import */ var _State_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(37); /** * @module ol/source/Source */ @@ -14154,7 +12052,7 @@ var State = __webpack_require__(43); * @abstract * @api */ -var Source_Source = /*@__PURE__*/(function (BaseObject) { +var Source = /*@__PURE__*/(function (BaseObject) { function Source(options) { BaseObject.call(this); @@ -14163,7 +12061,7 @@ var Source_Source = /*@__PURE__*/(function (BaseObject) { * @private * @type {import("../proj/Projection.js").default} */ - this.projection_ = Object(proj["e" /* get */])(options.projection); + this.projection_ = Object(_proj_js__WEBPACK_IMPORTED_MODULE_2__[/* get */ "e"])(options.projection); /** * @private @@ -14190,7 +12088,7 @@ var Source_Source = /*@__PURE__*/(function (BaseObject) { * @type {SourceState} */ this.state_ = options.state !== undefined ? - options.state : State["a" /* default */].READY; + options.state : _State_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].READY; /** * @private @@ -14233,7 +12131,7 @@ var Source_Source = /*@__PURE__*/(function (BaseObject) { * @return {Array|undefined} Resolutions. */ Source.prototype.getResolutions = function getResolutions () { - return Object(util["b" /* abstract */])(); + return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); }; /** @@ -14283,7 +12181,7 @@ var Source_Source = /*@__PURE__*/(function (BaseObject) { }; return Source; -}(ol_Object["a" /* default */])); +}(_Object_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); /** @@ -14311,15 +12209,22 @@ function adaptAttributions(attributionLike) { } -/* harmony default export */ var source_Source = (Source_Source); +/* harmony default export */ __webpack_exports__["a"] = (Source); //# sourceMappingURL=Source.js.map -// EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var tilegrid = __webpack_require__(39); -// CONCATENATED MODULE: ./node_modules/ol/source/Tile.js +/***/ }), +/* 65 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var _GeometryType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5); +/* harmony import */ var _SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41); +/* harmony import */ var _flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6); /** - * @module ol/source/Tile + * @module ol/geom/Point */ @@ -14327,23 +12232,393 @@ var tilegrid = __webpack_require__(39); +/** + * @classdesc + * Point geometry. + * + * @api + */ +var Point = /*@__PURE__*/(function (SimpleGeometry) { + function Point(coordinates, opt_layout) { + SimpleGeometry.call(this); + this.setCoordinates(coordinates, opt_layout); + } + + if ( SimpleGeometry ) Point.__proto__ = SimpleGeometry; + Point.prototype = Object.create( SimpleGeometry && SimpleGeometry.prototype ); + Point.prototype.constructor = Point; + + /** + * Make a complete copy of the geometry. + * @return {!Point} Clone. + * @override + * @api + */ + Point.prototype.clone = function clone () { + var point = new Point(this.flatCoordinates.slice(), this.layout); + return point; + }; + + /** + * @inheritDoc + */ + Point.prototype.closestPointXY = function closestPointXY (x, y, closestPoint, minSquaredDistance) { + var flatCoordinates = this.flatCoordinates; + var squaredDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_4__[/* squaredDistance */ "f"])(x, y, flatCoordinates[0], flatCoordinates[1]); + if (squaredDistance < minSquaredDistance) { + var stride = this.stride; + for (var i = 0; i < stride; ++i) { + closestPoint[i] = flatCoordinates[i]; + } + closestPoint.length = stride; + return squaredDistance; + } else { + return minSquaredDistance; + } + }; + + /** + * Return the coordinate of the point. + * @return {import("../coordinate.js").Coordinate} Coordinates. + * @override + * @api + */ + Point.prototype.getCoordinates = function getCoordinates () { + return !this.flatCoordinates ? [] : this.flatCoordinates.slice(); + }; + + /** + * @inheritDoc + */ + Point.prototype.computeExtent = function computeExtent (extent) { + return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* createOrUpdateFromCoordinate */ "m"])(this.flatCoordinates, extent); + }; + + /** + * @inheritDoc + * @api + */ + Point.prototype.getType = function getType () { + return _GeometryType_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].POINT; + }; + + /** + * @inheritDoc + * @api + */ + Point.prototype.intersectsExtent = function intersectsExtent (extent) { + return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* containsXY */ "h"])(extent, this.flatCoordinates[0], this.flatCoordinates[1]); + }; + + /** + * @inheritDoc + * @api + */ + Point.prototype.setCoordinates = function setCoordinates (coordinates, opt_layout) { + this.setLayout(opt_layout, coordinates, 0); + if (!this.flatCoordinates) { + this.flatCoordinates = []; + } + this.flatCoordinates.length = Object(_flat_deflate_js__WEBPACK_IMPORTED_MODULE_3__[/* deflateCoordinate */ "a"])( + this.flatCoordinates, 0, coordinates, this.stride); + this.changed(); + }; + + return Point; +}(_SimpleGeometry_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])); + + +/* harmony default export */ __webpack_exports__["a"] = (Point); + +//# sourceMappingURL=Point.js.map + +/***/ }), +/* 66 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return intersectsLineString; }); +/* unused harmony export intersectsLineStringArray */ +/* unused harmony export intersectsLinearRing */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return intersectsLinearRingArray; }); +/* unused harmony export intersectsLinearRingMultiArray */ +/* harmony import */ var _extent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); +/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44); +/* harmony import */ var _segments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(67); +/** + * @module ol/geom/flat/intersectsextent + */ + + + + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {import("../../extent.js").Extent} extent Extent. + * @return {boolean} True if the geometry and the extent intersect. + */ +function intersectsLineString(flatCoordinates, offset, end, stride, extent) { + var coordinatesExtent = Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* extendFlatCoordinates */ "s"])( + Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* createEmpty */ "j"])(), flatCoordinates, offset, end, stride); + if (!Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* intersects */ "F"])(extent, coordinatesExtent)) { + return false; + } + if (Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* containsExtent */ "g"])(extent, coordinatesExtent)) { + return true; + } + if (coordinatesExtent[0] >= extent[0] && + coordinatesExtent[2] <= extent[2]) { + return true; + } + if (coordinatesExtent[1] >= extent[1] && + coordinatesExtent[3] <= extent[3]) { + return true; + } + return Object(_segments_js__WEBPACK_IMPORTED_MODULE_2__[/* forEach */ "a"])(flatCoordinates, offset, end, stride, + /** + * @param {import("../../coordinate.js").Coordinate} point1 Start point. + * @param {import("../../coordinate.js").Coordinate} point2 End point. + * @return {boolean} `true` if the segment and the extent intersect, + * `false` otherwise. + */ + function(point1, point2) { + return Object(_extent_js__WEBPACK_IMPORTED_MODULE_0__[/* intersectsSegment */ "G"])(extent, point1, point2); + }); +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array} ends Ends. + * @param {number} stride Stride. + * @param {import("../../extent.js").Extent} extent Extent. + * @return {boolean} True if the geometry and the extent intersect. + */ +function intersectsLineStringArray(flatCoordinates, offset, ends, stride, extent) { + for (var i = 0, ii = ends.length; i < ii; ++i) { + if (intersectsLineString( + flatCoordinates, offset, ends[i], stride, extent)) { + return true; + } + offset = ends[i]; + } + return false; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {import("../../extent.js").Extent} extent Extent. + * @return {boolean} True if the geometry and the extent intersect. + */ +function intersectsLinearRing(flatCoordinates, offset, end, stride, extent) { + if (intersectsLineString( + flatCoordinates, offset, end, stride, extent)) { + return true; + } + if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[0], extent[1])) { + return true; + } + if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[0], extent[3])) { + return true; + } + if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[2], extent[1])) { + return true; + } + if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsXY */ "b"])(flatCoordinates, offset, end, stride, extent[2], extent[3])) { + return true; + } + return false; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array} ends Ends. + * @param {number} stride Stride. + * @param {import("../../extent.js").Extent} extent Extent. + * @return {boolean} True if the geometry and the extent intersect. + */ +function intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent) { + if (!intersectsLinearRing( + flatCoordinates, offset, ends[0], stride, extent)) { + return false; + } + if (ends.length === 1) { + return true; + } + for (var i = 1, ii = ends.length; i < ii; ++i) { + if (Object(_contains_js__WEBPACK_IMPORTED_MODULE_1__[/* linearRingContainsExtent */ "a"])(flatCoordinates, ends[i - 1], ends[i], stride, extent)) { + if (!intersectsLineString(flatCoordinates, ends[i - 1], ends[i], stride, extent)) { + return false; + } + } + } + return true; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array>} endss Endss. + * @param {number} stride Stride. + * @param {import("../../extent.js").Extent} extent Extent. + * @return {boolean} True if the geometry and the extent intersect. + */ +function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, extent) { + for (var i = 0, ii = endss.length; i < ii; ++i) { + var ends = endss[i]; + if (intersectsLinearRingArray( + flatCoordinates, offset, ends, stride, extent)) { + return true; + } + offset = ends[ends.length - 1]; + } + return false; +} + +//# sourceMappingURL=intersectsextent.js.map + +/***/ }), +/* 67 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return forEach; }); +/** + * @module ol/geom/flat/segments + */ + + +/** + * This function calls `callback` for each segment of the flat coordinates + * array. If the callback returns a truthy value the function returns that + * value immediately. Otherwise the function returns `false`. + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @param {function(this: S, import("../../coordinate.js").Coordinate, import("../../coordinate.js").Coordinate): T} callback Function + * called for each segment. + * @param {S=} opt_this The object to be used as the value of 'this' + * within callback. + * @return {T|boolean} Value. + * @template T,S + */ +function forEach(flatCoordinates, offset, end, stride, callback, opt_this) { + var point1 = [flatCoordinates[offset], flatCoordinates[offset + 1]]; + var point2 = []; + var ret; + for (; (offset + stride) < end; offset += stride) { + point2[0] = flatCoordinates[offset + stride]; + point2[1] = flatCoordinates[offset + stride + 1]; + ret = callback.call(opt_this, point1, point2); + if (ret) { + return ret; + } + point1[0] = point2[0]; + point1[1] = point2[1]; + } + return false; +} + +//# sourceMappingURL=segments.js.map + +/***/ }), +/* 68 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return lineStringLength; }); +/* unused harmony export linearRingLength */ +/** + * @module ol/geom/flat/length + */ + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Length. + */ +function lineStringLength(flatCoordinates, offset, end, stride) { + var x1 = flatCoordinates[offset]; + var y1 = flatCoordinates[offset + 1]; + var length = 0; + for (var i = offset + stride; i < end; i += stride) { + var x2 = flatCoordinates[i]; + var y2 = flatCoordinates[i + 1]; + length += Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)); + x1 = x2; + y1 = y2; + } + return length; +} + + +/** + * @param {Array} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Perimeter. + */ +function linearRingLength(flatCoordinates, offset, end, stride) { + var perimeter = lineStringLength(flatCoordinates, offset, end, stride); + var dx = flatCoordinates[end - stride] - flatCoordinates[offset]; + var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1]; + perimeter += Math.sqrt(dx * dx + dy * dy); + return perimeter; +} + +//# sourceMappingURL=length.js.map + +/***/ }), +/* 69 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); +/* harmony import */ var _Object_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _Property_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19); +/* harmony import */ var _math_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6); +/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9); +/** + * @module ol/layer/Base + */ + + + /** * @typedef {Object} Options - * @property {import("./Source.js").AttributionLike} [attributions] - * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. - * @property {number} [cacheSize] - * @property {boolean} [opaque] - * @property {number} [tilePixelRatio] - * @property {import("../proj.js").ProjectionLike} [projection] - * @property {import("./State.js").default} [state] - * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] - * @property {boolean} [wrapX=true] - * @property {number} [transition] - * @property {string} [key] + * @property {number} [opacity=1] Opacity (0, 1). + * @property {boolean} [visible=true] Visibility. + * @property {import("../extent.js").Extent} [extent] The bounding extent for layer rendering. The layer will not be + * rendered outside of this extent. + * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers + * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed + * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` + * method was used. + * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be + * visible. + * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will + * be visible. */ @@ -14351,589 +12626,286 @@ var tilegrid = __webpack_require__(39); * @classdesc * Abstract base class; normally only used for creating subclasses and not * instantiated in apps. - * Base class for sources providing images divided into a tile grid. - * @abstract + * Note that with {@link module:ol/layer/Base} and all its subclasses, any property set in + * the options is set as a {@link module:ol/Object} property on the layer object, so + * is observable, and has get/set accessors. + * * @api */ -var Tile_TileSource = /*@__PURE__*/(function (Source) { - function TileSource(options) { +var BaseLayer = /*@__PURE__*/(function (BaseObject) { + function BaseLayer(options) { - Source.call(this, { - attributions: options.attributions, - attributionsCollapsible: options.attributionsCollapsible, - projection: options.projection, - state: options.state, - wrapX: options.wrapX - }); + BaseObject.call(this); /** + * @type {Object} + */ + var properties = Object(_obj_js__WEBPACK_IMPORTED_MODULE_4__[/* assign */ "a"])({}, options); + properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY] = + options.opacity !== undefined ? options.opacity : 1; + properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE] = + options.visible !== undefined ? options.visible : true; + properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX] = options.zIndex; + properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION] = + options.maxResolution !== undefined ? options.maxResolution : Infinity; + properties[_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION] = + options.minResolution !== undefined ? options.minResolution : 0; + + this.setProperties(properties); + + /** + * @type {import("./Layer.js").State} * @private - * @type {boolean} */ - this.opaque_ = options.opaque !== undefined ? options.opaque : false; + this.state_ = null; /** - * @private - * @type {number} + * The layer type. + * @type {import("../LayerType.js").default} + * @protected; */ - this.tilePixelRatio_ = options.tilePixelRatio !== undefined ? - options.tilePixelRatio : 1; - - /** - * @protected - * @type {import("../tilegrid/TileGrid.js").default} - */ - this.tileGrid = options.tileGrid !== undefined ? options.tileGrid : null; - - /** - * @protected - * @type {import("../TileCache.js").default} - */ - this.tileCache = new TileCache["a" /* default */](options.cacheSize); - - /** - * @protected - * @type {import("../size.js").Size} - */ - this.tmpSize = [0, 0]; - - /** - * @private - * @type {string} - */ - this.key_ = options.key || ''; - - /** - * @protected - * @type {import("../Tile.js").Options} - */ - this.tileOptions = {transition: options.transition}; + this.type; } - if ( Source ) TileSource.__proto__ = Source; - TileSource.prototype = Object.create( Source && Source.prototype ); - TileSource.prototype.constructor = TileSource; + if ( BaseObject ) BaseLayer.__proto__ = BaseObject; + BaseLayer.prototype = Object.create( BaseObject && BaseObject.prototype ); + BaseLayer.prototype.constructor = BaseLayer; /** - * @return {boolean} Can expire cache. + * Get the layer type (used when creating a layer renderer). + * @return {import("../LayerType.js").default} The layer type. */ - TileSource.prototype.canExpireCache = function canExpireCache () { - return this.tileCache.canExpireCache(); + BaseLayer.prototype.getType = function getType () { + return this.type; }; /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @param {!Object} usedTiles Used tiles. + * @return {import("./Layer.js").State} Layer state. */ - TileSource.prototype.expireCache = function expireCache (projection, usedTiles) { - var tileCache = this.getTileCacheForProjection(projection); - if (tileCache) { - tileCache.expireCache(usedTiles); - } - }; + BaseLayer.prototype.getLayerState = function getLayerState () { + /** @type {import("./Layer.js").State} */ + var state = this.state_ || /** @type {?} */ ({ + layer: this, + managed: true + }); + state.opacity = Object(_math_js__WEBPACK_IMPORTED_MODULE_3__[/* clamp */ "a"])(this.getOpacity(), 0, 1); + state.sourceState = this.getSourceState(); + state.visible = this.getVisible(); + state.extent = this.getExtent(); + state.zIndex = this.getZIndex() || 0; + state.maxResolution = this.getMaxResolution(); + state.minResolution = Math.max(this.getMinResolution(), 0); + this.state_ = state; - /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @param {number} z Zoom level. - * @param {import("../TileRange.js").default} tileRange Tile range. - * @param {function(import("../Tile.js").default):(boolean|void)} callback Called with each - * loaded tile. If the callback returns `false`, the tile will not be - * considered loaded. - * @return {boolean} The tile range is fully covered with loaded tiles. - */ - TileSource.prototype.forEachLoadedTile = function forEachLoadedTile (projection, z, tileRange, callback) { - var tileCache = this.getTileCacheForProjection(projection); - if (!tileCache) { - return false; - } - - var covered = true; - var tile, tileCoordKey, loaded; - for (var x = tileRange.minX; x <= tileRange.maxX; ++x) { - for (var y = tileRange.minY; y <= tileRange.maxY; ++y) { - tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); - loaded = false; - if (tileCache.containsKey(tileCoordKey)) { - tile = /** @type {!import("../Tile.js").default} */ (tileCache.get(tileCoordKey)); - loaded = tile.getState() === TileState["a" /* default */].LOADED; - if (loaded) { - loaded = (callback(tile) !== false); - } - } - if (!loaded) { - covered = false; - } - } - } - return covered; - }; - - /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {number} Gutter. - */ - TileSource.prototype.getGutterForProjection = function getGutterForProjection (projection) { - return 0; - }; - - /** - * Return the key to be used for all tiles in the source. - * @return {string} The key for all tiles. - * @protected - */ - TileSource.prototype.getKey = function getKey () { - return this.key_; - }; - - /** - * Set the value to be used as the key for all tiles in the source. - * @param {string} key The key for tiles. - * @protected - */ - TileSource.prototype.setKey = function setKey (key) { - if (this.key_ !== key) { - this.key_ = key; - this.changed(); - } - }; - - /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {boolean} Opaque. - */ - TileSource.prototype.getOpaque = function getOpaque (projection) { - return this.opaque_; - }; - - /** - * @inheritDoc - */ - TileSource.prototype.getResolutions = function getResolutions () { - return this.tileGrid.getResolutions(); + return state; }; /** * @abstract - * @param {number} z Tile coordinate z. - * @param {number} x Tile coordinate x. - * @param {number} y Tile coordinate y. - * @param {number} pixelRatio Pixel ratio. - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {!import("../Tile.js").default} Tile. + * @param {Array=} opt_array Array of layers (to be + * modified in place). + * @return {Array} Array of layers. */ - TileSource.prototype.getTile = function getTile (z, x, y, pixelRatio, projection) { - return Object(util["b" /* abstract */])(); + BaseLayer.prototype.getLayersArray = function getLayersArray (opt_array) { + return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); }; /** - * Return the tile grid of the tile source. - * @return {import("../tilegrid/TileGrid.js").default} Tile grid. + * @abstract + * @param {Array=} opt_states Optional list of layer + * states (to be modified in place). + * @return {Array} List of layer states. + */ + BaseLayer.prototype.getLayerStatesArray = function getLayerStatesArray (opt_states) { + return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); + }; + + /** + * Return the {@link module:ol/extent~Extent extent} of the layer or `undefined` if it + * will be visible regardless of extent. + * @return {import("../extent.js").Extent|undefined} The layer extent. + * @observable * @api */ - TileSource.prototype.getTileGrid = function getTileGrid () { - return this.tileGrid; + BaseLayer.prototype.getExtent = function getExtent () { + return ( + /** @type {import("../extent.js").Extent|undefined} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].EXTENT)) + ); }; /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {!import("../tilegrid/TileGrid.js").default} Tile grid. + * Return the maximum resolution of the layer. + * @return {number} The maximum resolution of the layer. + * @observable + * @api */ - TileSource.prototype.getTileGridForProjection = function getTileGridForProjection$1 (projection) { - if (!this.tileGrid) { - return Object(tilegrid["d" /* getForProjection */])(projection); - } else { - return this.tileGrid; - } + BaseLayer.prototype.getMaxResolution = function getMaxResolution () { + return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION)); }; /** - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {import("../TileCache.js").default} Tile cache. - * @protected + * Return the minimum resolution of the layer. + * @return {number} The minimum resolution of the layer. + * @observable + * @api */ - TileSource.prototype.getTileCacheForProjection = function getTileCacheForProjection (projection) { - var thisProj = this.getProjection(); - if (thisProj && !Object(proj["c" /* equivalent */])(thisProj, projection)) { - return null; - } else { - return this.tileCache; - } + BaseLayer.prototype.getMinResolution = function getMinResolution () { + return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION)); }; /** - * Get the tile pixel ratio for this source. Subclasses may override this - * method, which is meant to return a supported pixel ratio that matches the - * provided `pixelRatio` as close as possible. - * @param {number} pixelRatio Pixel ratio. - * @return {number} Tile pixel ratio. + * Return the opacity of the layer (between 0 and 1). + * @return {number} The opacity of the layer. + * @observable + * @api */ - TileSource.prototype.getTilePixelRatio = function getTilePixelRatio (pixelRatio) { - return this.tilePixelRatio_; + BaseLayer.prototype.getOpacity = function getOpacity () { + return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY)); }; /** - * @param {number} z Z. - * @param {number} pixelRatio Pixel ratio. - * @param {import("../proj/Projection.js").default} projection Projection. - * @return {import("../size.js").Size} Tile size. - */ - TileSource.prototype.getTilePixelSize = function getTilePixelSize (z, pixelRatio, projection) { - var tileGrid = this.getTileGridForProjection(projection); - var tilePixelRatio = this.getTilePixelRatio(pixelRatio); - var tileSize = Object(size["c" /* toSize */])(tileGrid.getTileSize(z), this.tmpSize); - if (tilePixelRatio == 1) { - return tileSize; - } else { - return Object(size["b" /* scale */])(tileSize, tilePixelRatio, this.tmpSize); - } - }; - - /** - * Returns a tile coordinate wrapped around the x-axis. When the tile coordinate - * is outside the resolution and extent range of the tile grid, `null` will be - * returned. - * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. - * @param {import("../proj/Projection.js").default=} opt_projection Projection. - * @return {import("../tilecoord.js").TileCoord} Tile coordinate to be passed to the tileUrlFunction or - * null if no tile URL should be created for the passed `tileCoord`. - */ - TileSource.prototype.getTileCoordForTileUrlFunction = function getTileCoordForTileUrlFunction (tileCoord, opt_projection) { - var projection = opt_projection !== undefined ? - opt_projection : this.getProjection(); - var tileGrid = this.getTileGridForProjection(projection); - if (this.getWrapX() && projection.isGlobal()) { - tileCoord = Object(tilegrid["e" /* wrapX */])(tileGrid, tileCoord, projection); - } - return Object(tilecoord["f" /* withinExtentAndZ */])(tileCoord, tileGrid) ? tileCoord : null; - }; - - /** - * @inheritDoc - */ - TileSource.prototype.refresh = function refresh () { - this.tileCache.clear(); - this.changed(); - }; - - /** - * Marks a tile coord as being used, without triggering a load. * @abstract - * @param {number} z Tile coordinate z. - * @param {number} x Tile coordinate x. - * @param {number} y Tile coordinate y. - * @param {import("../proj/Projection.js").default} projection Projection. + * @return {import("../source/State.js").default} Source state. */ - TileSource.prototype.useTile = function useTile (z, x, y, projection) {}; + BaseLayer.prototype.getSourceState = function getSourceState () { + return Object(_util_js__WEBPACK_IMPORTED_MODULE_0__[/* abstract */ "b"])(); + }; - return TileSource; -}(source_Source)); + /** + * Return the visibility of the layer (`true` or `false`). + * @return {boolean} The visibility of the layer. + * @observable + * @api + */ + BaseLayer.prototype.getVisible = function getVisible () { + return /** @type {boolean} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE)); + }; + + /** + * Return the Z-index of the layer, which is used to order layers before + * rendering. The default Z-index is 0. + * @return {number} The Z-index of the layer. + * @observable + * @api + */ + BaseLayer.prototype.getZIndex = function getZIndex () { + return /** @type {number} */ (this.get(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX)); + }; + + /** + * Set the extent at which the layer is visible. If `undefined`, the layer + * will be visible at all extents. + * @param {import("../extent.js").Extent|undefined} extent The extent of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setExtent = function setExtent (extent) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].EXTENT, extent); + }; + + /** + * Set the maximum resolution at which the layer is visible. + * @param {number} maxResolution The maximum resolution of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setMaxResolution = function setMaxResolution (maxResolution) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MAX_RESOLUTION, maxResolution); + }; + + /** + * Set the minimum resolution at which the layer is visible. + * @param {number} minResolution The minimum resolution of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setMinResolution = function setMinResolution (minResolution) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].MIN_RESOLUTION, minResolution); + }; + + /** + * Set the opacity of the layer, allowed values range from 0 to 1. + * @param {number} opacity The opacity of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setOpacity = function setOpacity (opacity) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].OPACITY, opacity); + }; + + /** + * Set the visibility of the layer (`true` or `false`). + * @param {boolean} visible The visibility of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setVisible = function setVisible (visible) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VISIBLE, visible); + }; + + /** + * Set Z-index of the layer, which is used to order layers before rendering. + * The default Z-index is 0. + * @param {number} zindex The z-index of the layer. + * @observable + * @api + */ + BaseLayer.prototype.setZIndex = function setZIndex (zindex) { + this.set(_Property_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].Z_INDEX, zindex); + }; + + return BaseLayer; +}(_Object_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); +/* harmony default export */ __webpack_exports__["a"] = (BaseLayer); + +//# sourceMappingURL=Base.js.map + +/***/ }), +/* 70 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; /** - * @classdesc - * Events emitted by {@link module:ol/source/Tile~TileSource} instances are instances of this - * type. - */ -var TileSourceEvent = /*@__PURE__*/(function (Event) { - function TileSourceEvent(type, tile) { - - Event.call(this, type); - - /** - * The tile related to the event. - * @type {import("../Tile.js").default} - * @api - */ - this.tile = tile; - - } - - if ( Event ) TileSourceEvent.__proto__ = Event; - TileSourceEvent.prototype = Object.create( Event && Event.prototype ); - TileSourceEvent.prototype.constructor = TileSourceEvent; - - return TileSourceEvent; -}(Event["a" /* default */])); - -/* harmony default export */ var Tile = (Tile_TileSource); - -//# sourceMappingURL=Tile.js.map -// CONCATENATED MODULE: ./node_modules/ol/source/TileEventType.js -/** - * @module ol/source/TileEventType + * @module ol/layer/VectorRenderType */ /** * @enum {string} + * Render mode for vector layers: + * * `'image'`: Vector layers are rendered as images. Great performance, but + * point symbols and texts are always rotated with the view and pixels are + * scaled during zoom animations. + * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering + * even during animations, but slower performance. + * @api */ -/* harmony default export */ var TileEventType = ({ - - /** - * Triggered when a tile starts loading. - * @event module:ol/source/Tile.TileSourceEvent#tileloadstart - * @api - */ - TILELOADSTART: 'tileloadstart', - - /** - * Triggered when a tile finishes loading, either when its data is loaded, - * or when loading was aborted because the tile is no longer needed. - * @event module:ol/source/Tile.TileSourceEvent#tileloadend - * @api - */ - TILELOADEND: 'tileloadend', - - /** - * Triggered if tile loading results in an error. - * @event module:ol/source/Tile.TileSourceEvent#tileloaderror - * @api - */ - TILELOADERROR: 'tileloaderror' - +/* harmony default export */ __webpack_exports__["a"] = ({ + IMAGE: 'image', + VECTOR: 'vector' }); -//# sourceMappingURL=TileEventType.js.map -// CONCATENATED MODULE: ./node_modules/ol/source/UrlTile.js -/** - * @module ol/source/UrlTile - */ - - - - - - - -/** - * @typedef {Object} Options - * @property {import("./Source.js").AttributionLike} [attributions] - * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. - * @property {number} [cacheSize] - * @property {boolean} [opaque] - * @property {import("../proj.js").ProjectionLike} [projection] - * @property {import("./State.js").default} [state] - * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] - * @property {import("../Tile.js").LoadFunction} tileLoadFunction - * @property {number} [tilePixelRatio] - * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] - * @property {string} [url] - * @property {Array} [urls] - * @property {boolean} [wrapX=true] - * @property {number} [transition] - * @property {string} [key] - */ - - -/** - * @classdesc - * Base class for sources providing tiles divided into a tile grid over http. - * - * @fires import("./Tile.js").TileSourceEvent - */ -var UrlTile_UrlTile = /*@__PURE__*/(function (TileSource) { - function UrlTile(options) { - - TileSource.call(this, { - attributions: options.attributions, - cacheSize: options.cacheSize, - opaque: options.opaque, - projection: options.projection, - state: options.state, - tileGrid: options.tileGrid, - tilePixelRatio: options.tilePixelRatio, - wrapX: options.wrapX, - transition: options.transition, - key: options.key, - attributionsCollapsible: options.attributionsCollapsible - }); - - /** - * @private - * @type {boolean} - */ - this.generateTileUrlFunction_ = !options.tileUrlFunction; - - /** - * @protected - * @type {import("../Tile.js").LoadFunction} - */ - this.tileLoadFunction = options.tileLoadFunction; - - /** - * @protected - * @type {import("../Tile.js").UrlFunction} - */ - this.tileUrlFunction = options.tileUrlFunction ? options.tileUrlFunction.bind(this) : nullTileUrlFunction; - - /** - * @protected - * @type {!Array|null} - */ - this.urls = null; - - if (options.urls) { - this.setUrls(options.urls); - } else if (options.url) { - this.setUrl(options.url); - } - - if (options.tileUrlFunction) { - this.setTileUrlFunction(options.tileUrlFunction, this.key_); - } - - /** - * @private - * @type {!Object} - */ - this.tileLoadingKeys_ = {}; - - } - - if ( TileSource ) UrlTile.__proto__ = TileSource; - UrlTile.prototype = Object.create( TileSource && TileSource.prototype ); - UrlTile.prototype.constructor = UrlTile; - - /** - * Return the tile load function of the source. - * @return {import("../Tile.js").LoadFunction} TileLoadFunction - * @api - */ - UrlTile.prototype.getTileLoadFunction = function getTileLoadFunction () { - return this.tileLoadFunction; - }; - - /** - * Return the tile URL function of the source. - * @return {import("../Tile.js").UrlFunction} TileUrlFunction - * @api - */ - UrlTile.prototype.getTileUrlFunction = function getTileUrlFunction () { - return this.tileUrlFunction; - }; - - /** - * Return the URLs used for this source. - * When a tileUrlFunction is used instead of url or urls, - * null will be returned. - * @return {!Array|null} URLs. - * @api - */ - UrlTile.prototype.getUrls = function getUrls () { - return this.urls; - }; - - /** - * Handle tile change events. - * @param {import("../events/Event.js").default} event Event. - * @protected - */ - UrlTile.prototype.handleTileChange = function handleTileChange (event) { - var tile = /** @type {import("../Tile.js").default} */ (event.target); - var uid = Object(util["c" /* getUid */])(tile); - var tileState = tile.getState(); - var type; - if (tileState == TileState["a" /* default */].LOADING) { - this.tileLoadingKeys_[uid] = true; - type = TileEventType.TILELOADSTART; - } else if (uid in this.tileLoadingKeys_) { - delete this.tileLoadingKeys_[uid]; - type = tileState == TileState["a" /* default */].ERROR ? TileEventType.TILELOADERROR : - (tileState == TileState["a" /* default */].LOADED || tileState == TileState["a" /* default */].ABORT) ? - TileEventType.TILELOADEND : undefined; - } - if (type != undefined) { - this.dispatchEvent(new TileSourceEvent(type, tile)); - } - }; - - /** - * Set the tile load function of the source. - * @param {import("../Tile.js").LoadFunction} tileLoadFunction Tile load function. - * @api - */ - UrlTile.prototype.setTileLoadFunction = function setTileLoadFunction (tileLoadFunction) { - this.tileCache.clear(); - this.tileLoadFunction = tileLoadFunction; - this.changed(); - }; - - /** - * Set the tile URL function of the source. - * @param {import("../Tile.js").UrlFunction} tileUrlFunction Tile URL function. - * @param {string=} key Optional new tile key for the source. - * @api - */ - UrlTile.prototype.setTileUrlFunction = function setTileUrlFunction (tileUrlFunction, key) { - this.tileUrlFunction = tileUrlFunction; - this.tileCache.pruneExceptNewestZ(); - if (typeof key !== 'undefined') { - this.setKey(key); - } else { - this.changed(); - } - }; - - /** - * Set the URL to use for requests. - * @param {string} url URL. - * @api - */ - UrlTile.prototype.setUrl = function setUrl (url) { - var urls = this.urls = expandUrl(url); - this.setUrls(urls); - }; - - /** - * Set the URLs to use for requests. - * @param {Array} urls URLs. - * @api - */ - UrlTile.prototype.setUrls = function setUrls (urls) { - this.urls = urls; - var key = urls.join('\n'); - if (this.generateTileUrlFunction_) { - this.setTileUrlFunction(createFromTemplates(urls, this.tileGrid), key); - } else { - this.setKey(key); - } - }; - - /** - * @inheritDoc - */ - UrlTile.prototype.useTile = function useTile (z, x, y) { - var tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); - if (this.tileCache.containsKey(tileCoordKey)) { - this.tileCache.get(tileCoordKey); - } - }; - - return UrlTile; -}(Tile)); - - -/* harmony default export */ var source_UrlTile = __webpack_exports__["a"] = (UrlTile_UrlTile); - -//# sourceMappingURL=UrlTile.js.map +//# sourceMappingURL=VectorRenderType.js.map /***/ }), -/* 76 */ +/* 71 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/tilegrid/common.js -var common = __webpack_require__(56); +var common = __webpack_require__(51); // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); // EXTERNAL MODULE: ./node_modules/ol/functions.js -var functions = __webpack_require__(15); +var functions = __webpack_require__(14); // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/centerconstraint.js /** @@ -15062,7 +13034,7 @@ function createSnapToPower(power, maxResolution, opt_maxLevel) { //# sourceMappingURL=resolutionconstraint.js.map // EXTERNAL MODULE: ./node_modules/ol/rotationconstraint.js -var rotationconstraint = __webpack_require__(47); +var rotationconstraint = __webpack_require__(45); // EXTERNAL MODULE: ./node_modules/ol/ViewHint.js var ViewHint = __webpack_require__(12); @@ -15086,19 +13058,19 @@ var ViewHint = __webpack_require__(12); var asserts = __webpack_require__(10); // EXTERNAL MODULE: ./node_modules/ol/coordinate.js + 1 modules -var coordinate = __webpack_require__(40); +var coordinate = __webpack_require__(39); // EXTERNAL MODULE: ./node_modules/ol/easing.js -var easing = __webpack_require__(21); +var easing = __webpack_require__(22); // EXTERNAL MODULE: ./node_modules/ol/extent.js var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/geom/GeometryType.js -var GeometryType = __webpack_require__(6); +var GeometryType = __webpack_require__(5); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(57); +var Polygon = __webpack_require__(52); // EXTERNAL MODULE: ./node_modules/ol/obj.js var obj = __webpack_require__(9); @@ -15107,7 +13079,7 @@ var obj = __webpack_require__(9); var proj = __webpack_require__(13); // EXTERNAL MODULE: ./node_modules/ol/proj/Units.js -var Units = __webpack_require__(23); +var Units = __webpack_require__(24); // CONCATENATED MODULE: ./node_modules/ol/View.js /* unused harmony export createCenterConstraint */ @@ -16456,7 +14428,7 @@ function isNoopAnimation(animation) { //# sourceMappingURL=View.js.map /***/ }), -/* 77 */ +/* 72 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -16465,10 +14437,10 @@ function isNoopAnimation(animation) { var ol_color = __webpack_require__(38); // EXTERNAL MODULE: ./node_modules/ol/colorlike.js -var colorlike = __webpack_require__(32); +var colorlike = __webpack_require__(31); // EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); +var dom = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/has.js var has = __webpack_require__(17); @@ -16477,7 +14449,7 @@ var has = __webpack_require__(17); var ImageState = __webpack_require__(20); // EXTERNAL MODULE: ./node_modules/ol/render/canvas.js -var canvas = __webpack_require__(4); +var canvas = __webpack_require__(3); // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); @@ -17417,377 +15389,335 @@ var CircleStyle = /*@__PURE__*/(function (RegularShape) { //# sourceMappingURL=Circle.js.map /***/ }), -/* 78 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return all; }); -/* unused harmony export bbox */ -/* unused harmony export tile */ -/** - * @module ol/loadingstrategy - */ - - -/** - * Strategy function for loading all features with a single request. - * @param {import("./extent.js").Extent} extent Extent. - * @param {number} resolution Resolution. - * @return {Array} Extents. - * @api - */ -function all(extent, resolution) { - return [[-Infinity, -Infinity, Infinity, Infinity]]; -} - - -/** - * Strategy function for loading features based on the view's extent and - * resolution. - * @param {import("./extent.js").Extent} extent Extent. - * @param {number} resolution Resolution. - * @return {Array} Extents. - * @api - */ -function bbox(extent, resolution) { - return [extent]; -} - - -/** - * Creates a strategy function for loading features based on a tile grid. - * @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. - * @return {function(import("./extent.js").Extent, number): Array} Loading strategy. - * @api - */ -function tile(tileGrid) { - return ( - /** - * @param {import("./extent.js").Extent} extent Extent. - * @param {number} resolution Resolution. - * @return {Array} Extents. - */ - function(extent, resolution) { - var z = tileGrid.getZForResolution(resolution); - var tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); - /** @type {Array} */ - var extents = []; - /** @type {import("./tilecoord.js").TileCoord} */ - var tileCoord = [z, 0, 0]; - for (tileCoord[1] = tileRange.minX; tileCoord[1] <= tileRange.maxX; ++tileCoord[1]) { - for (tileCoord[2] = tileRange.minY; tileCoord[2] <= tileRange.maxY; ++tileCoord[2]) { - extents.push(tileGrid.getTileCoordExtent(tileCoord)); - } - } - return extents; - } - ); -} - -//# sourceMappingURL=loadingstrategy.js.map - -/***/ }), -/* 79 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); -/* harmony import */ var _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); -/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); -/* harmony import */ var _style_Style_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49); -/** - * @module ol/layer/Vector - */ - - - - - - - -/** - * @typedef {Object} Options - * @property {number} [opacity=1] Opacity (0, 1). - * @property {boolean} [visible=true] Visibility. - * @property {import("../extent.js").Extent} [extent] The bounding extent for layer rendering. The layer will not be - * rendered outside of this extent. - * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers - * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed - * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` - * method was used. - * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be - * visible. - * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will - * be visible. - * @property {import("../render.js").OrderFunction} [renderOrder] Render order. Function to be used when sorting - * features before rendering. By default features are drawn in the order that they are created. Use - * `null` to avoid the sort, but get an undefined draw order. - * @property {number} [renderBuffer=100] The buffer in pixels around the viewport extent used by the - * renderer when getting features from the vector source for the rendering or hit-detection. - * Recommended value: the size of the largest symbol, line width or label. - * @property {import("./VectorRenderType.js").default|string} [renderMode='vector'] Render mode for vector layers: - * * `'image'`: Vector layers are rendered as images. Great performance, but point symbols and - * texts are always rotated with the view and pixels are scaled during zoom animations. - * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering even during - * animations, but slower performance. - * @property {import("../source/Vector.js").default} [source] Source. - * @property {import("../PluggableMap.js").default} [map] Sets the layer as overlay on a map. The map will not manage - * this layer in its layers collection, and the layer will be rendered on top. This is useful for - * temporary layers. The standard way to add a layer to a map and have it managed by the map is to - * use {@link module:ol/Map#addLayer}. - * @property {boolean} [declutter=false] Declutter images and text. Decluttering is applied to all - * image and text styles, and the priority is defined by the z-index of the style. Lower z-index - * means higher priority. - * @property {import("../style/Style.js").StyleLike} [style] Layer style. See - * {@link module:ol/style} for default style which will be used if this is not defined. - * @property {boolean} [updateWhileAnimating=false] When set to `true` and `renderMode` - * is `vector`, feature batches will be recreated during animations. This means that no - * vectors will be shown clipped, but the setting will have a performance impact for large - * amounts of vector data. When set to `false`, batches will be recreated when no animation - * is active. - * @property {boolean} [updateWhileInteracting=false] When set to `true` and `renderMode` - * is `vector`, feature batches will be recreated during interactions. See also - * `updateWhileAnimating`. - */ - - -/** - * @enum {string} - * @private - */ -var Property = { - RENDER_ORDER: 'renderOrder' -}; - - -/** - * @classdesc - * Vector data that is rendered client-side. - * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject} - * property on the layer object; for example, setting `title: 'My Title'` in the - * options means that `title` is observable, and has get/set accessors. - * - * @api - */ -var VectorLayer = /*@__PURE__*/(function (Layer) { - function VectorLayer(opt_options) { - var options = opt_options ? - opt_options : /** @type {Options} */ ({}); - - var baseOptions = Object(_obj_js__WEBPACK_IMPORTED_MODULE_3__[/* assign */ "a"])({}, options); - - delete baseOptions.style; - delete baseOptions.renderBuffer; - delete baseOptions.updateWhileAnimating; - delete baseOptions.updateWhileInteracting; - Layer.call(this, baseOptions); - - /** - * @private - * @type {boolean} - */ - this.declutter_ = options.declutter !== undefined ? options.declutter : false; - - /** - * @type {number} - * @private - */ - this.renderBuffer_ = options.renderBuffer !== undefined ? - options.renderBuffer : 100; - - /** - * User provided style. - * @type {import("../style/Style.js").StyleLike} - * @private - */ - this.style_ = null; - - /** - * Style function for use within the library. - * @type {import("../style/Style.js").StyleFunction|undefined} - * @private - */ - this.styleFunction_ = undefined; - - this.setStyle(options.style); - - /** - * @type {boolean} - * @private - */ - this.updateWhileAnimating_ = options.updateWhileAnimating !== undefined ? - options.updateWhileAnimating : false; - - /** - * @type {boolean} - * @private - */ - this.updateWhileInteracting_ = options.updateWhileInteracting !== undefined ? - options.updateWhileInteracting : false; - - /** - * @private - * @type {import("./VectorTileRenderType.js").default|string} - */ - this.renderMode_ = options.renderMode || _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VECTOR; - - /** - * The layer type. - * @protected - * @type {import("../LayerType.js").default} - */ - this.type = _LayerType_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].VECTOR; - - } - - if ( Layer ) VectorLayer.__proto__ = Layer; - VectorLayer.prototype = Object.create( Layer && Layer.prototype ); - VectorLayer.prototype.constructor = VectorLayer; - - /** - * @return {boolean} Declutter. - */ - VectorLayer.prototype.getDeclutter = function getDeclutter () { - return this.declutter_; - }; - - /** - * @param {boolean} declutter Declutter. - */ - VectorLayer.prototype.setDeclutter = function setDeclutter (declutter) { - this.declutter_ = declutter; - }; - - /** - * @return {number|undefined} Render buffer. - */ - VectorLayer.prototype.getRenderBuffer = function getRenderBuffer () { - return this.renderBuffer_; - }; - - /** - * @return {function(import("../Feature.js").default, import("../Feature.js").default): number|null|undefined} Render - * order. - */ - VectorLayer.prototype.getRenderOrder = function getRenderOrder () { - return ( - /** @type {import("../render.js").OrderFunction|null|undefined} */ (this.get(Property.RENDER_ORDER)) - ); - }; - - /** - * Get the style for features. This returns whatever was passed to the `style` - * option at construction or to the `setStyle` method. - * @return {import("../style/Style.js").StyleLike} - * Layer style. - * @api - */ - VectorLayer.prototype.getStyle = function getStyle () { - return this.style_; - }; - - /** - * Get the style function. - * @return {import("../style/Style.js").StyleFunction|undefined} Layer style function. - * @api - */ - VectorLayer.prototype.getStyleFunction = function getStyleFunction () { - return this.styleFunction_; - }; - - /** - * @return {boolean} Whether the rendered layer should be updated while - * animating. - */ - VectorLayer.prototype.getUpdateWhileAnimating = function getUpdateWhileAnimating () { - return this.updateWhileAnimating_; - }; - - /** - * @return {boolean} Whether the rendered layer should be updated while - * interacting. - */ - VectorLayer.prototype.getUpdateWhileInteracting = function getUpdateWhileInteracting () { - return this.updateWhileInteracting_; - }; - - /** - * @param {import("../render.js").OrderFunction|null|undefined} renderOrder - * Render order. - */ - VectorLayer.prototype.setRenderOrder = function setRenderOrder (renderOrder) { - this.set(Property.RENDER_ORDER, renderOrder); - }; - - /** - * Set the style for features. This can be a single style object, an array - * of styles, or a function that takes a feature and resolution and returns - * an array of styles. If it is `undefined` the default style is used. If - * it is `null` the layer has no style (a `null` style), so only features - * that have their own styles will be rendered in the layer. See - * {@link module:ol/style} for information on the default style. - * @param {import("../style/Style.js").default|Array|import("../style/Style.js").StyleFunction|null|undefined} style Layer style. - * @api - */ - VectorLayer.prototype.setStyle = function setStyle (style) { - this.style_ = style !== undefined ? style : _style_Style_js__WEBPACK_IMPORTED_MODULE_4__[/* createDefaultStyle */ "a"]; - this.styleFunction_ = style === null ? - undefined : Object(_style_Style_js__WEBPACK_IMPORTED_MODULE_4__[/* toFunction */ "c"])(this.style_); - this.changed(); - }; - - /** - * @return {import("./VectorRenderType.js").default|string} The render mode. - */ - VectorLayer.prototype.getRenderMode = function getRenderMode () { - return this.renderMode_; - }; - - return VectorLayer; -}(_Layer_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); - - -/** - * Return the associated {@link module:ol/source/Vector vectorsource} of the layer. - * @function - * @return {import("../source/Vector.js").default} Source. - * @api - */ -VectorLayer.prototype.getSource; - - -/* harmony default export */ __webpack_exports__["a"] = (VectorLayer); - -//# sourceMappingURL=Vector.js.map - -/***/ }), -/* 80 */ +/* 73 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/reproj/common.js -var common = __webpack_require__(34); +var common = __webpack_require__(32); // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); -// EXTERNAL MODULE: ./node_modules/ol/Tile.js -var ol_Tile = __webpack_require__(51); - // EXTERNAL MODULE: ./node_modules/ol/TileState.js -var TileState = __webpack_require__(3); +var TileState = __webpack_require__(7); +// EXTERNAL MODULE: ./node_modules/ol/easing.js +var easing = __webpack_require__(22); + +// EXTERNAL MODULE: ./node_modules/ol/events/Target.js +var Target = __webpack_require__(36); + +// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js +var EventType = __webpack_require__(4); + +// CONCATENATED MODULE: ./node_modules/ol/Tile.js +/** + * @module ol/Tile + */ + + + + + + +/** + * A function that takes an {@link module:ol/Tile} for the tile and a + * `{string}` for the url as arguments. The default is + * ```js + * source.setTileLoadFunction(function(tile, src) { + * tile.getImage().src = src; + * }); + * ``` + * For more fine grained control, the load function can use fetch or XMLHttpRequest and involve + * error handling: + * + * ```js + * import TileState from 'ol/TileState'; + * + * source.setTileLoadFunction(function(tile, src) { + * var xhr = new XMLHttpRequest(); + * xhr.responseType = 'blob'; + * xhr.addEventListener('loadend', function (evt) { + * var data = this.response; + * if (data !== undefined) { + * tile.getImage().src = URL.createObjectURL(data); + * } else { + * tile.setState(TileState.ERROR); + * } + * }); + * xhr.addEventListener('error', function () { + * tile.setState(TileState.ERROR); + * }); + * xhr.open('GET', src); + * xhr.send(); + * }); + * ``` + * + * @typedef {function(Tile, string)} LoadFunction + * @api + */ + +/** + * {@link module:ol/source/Tile~Tile} sources use a function of this type to get + * the url that provides a tile for a given tile coordinate. + * + * This function takes an {@link module:ol/tilecoord~TileCoord} for the tile + * coordinate, a `{number}` representing the pixel ratio and a + * {@link module:ol/proj/Projection} for the projection as arguments + * and returns a `{string}` representing the tile URL, or undefined if no tile + * should be requested for the passed tile coordinate. + * + * @typedef {function(import("./tilecoord.js").TileCoord, number, + * import("./proj/Projection.js").default): (string|undefined)} UrlFunction + * @api + */ + + +/** + * @typedef {Object} Options + * @property {number} [transition=250] A duration for tile opacity + * transitions in milliseconds. A duration of 0 disables the opacity transition. + * @api + */ + + +/** + * @classdesc + * Base class for tiles. + * + * @abstract + */ +var Tile_Tile = /*@__PURE__*/(function (EventTarget) { + function Tile(tileCoord, state, opt_options) { + EventTarget.call(this); + + var options = opt_options ? opt_options : {}; + + /** + * @type {import("./tilecoord.js").TileCoord} + */ + this.tileCoord = tileCoord; + + /** + * @protected + * @type {TileState} + */ + this.state = state; + + /** + * An "interim" tile for this tile. The interim tile may be used while this + * one is loading, for "smooth" transitions when changing params/dimensions + * on the source. + * @type {Tile} + */ + this.interimTile = null; + + /** + * A key assigned to the tile. This is used by the tile source to determine + * if this tile can effectively be used, or if a new tile should be created + * and this one be used as an interim tile for this new tile. + * @type {string} + */ + this.key = ''; + + /** + * The duration for the opacity transition. + * @type {number} + */ + this.transition_ = options.transition === undefined ? 250 : options.transition; + + /** + * Lookup of start times for rendering transitions. If the start time is + * equal to -1, the transition is complete. + * @type {Object} + */ + this.transitionStarts_ = {}; + + } + + if ( EventTarget ) Tile.__proto__ = EventTarget; + Tile.prototype = Object.create( EventTarget && EventTarget.prototype ); + Tile.prototype.constructor = Tile; + + /** + * @protected + */ + Tile.prototype.changed = function changed () { + this.dispatchEvent(EventType["a" /* default */].CHANGE); + }; + + /** + * @return {string} Key. + */ + Tile.prototype.getKey = function getKey () { + return this.key + '/' + this.tileCoord; + }; + + /** + * Get the interim tile most suitable for rendering using the chain of interim + * tiles. This corresponds to the most recent tile that has been loaded, if no + * such tile exists, the original tile is returned. + * @return {!Tile} Best tile for rendering. + */ + Tile.prototype.getInterimTile = function getInterimTile () { + if (!this.interimTile) { + //empty chain + return this; + } + var tile = this.interimTile; + + // find the first loaded tile and return it. Since the chain is sorted in + // decreasing order of creation time, there is no need to search the remainder + // of the list (all those tiles correspond to older requests and will be + // cleaned up by refreshInterimChain) + do { + if (tile.getState() == TileState["a" /* default */].LOADED) { + return tile; + } + tile = tile.interimTile; + } while (tile); + + // we can not find a better tile + return this; + }; + + /** + * Goes through the chain of interim tiles and discards sections of the chain + * that are no longer relevant. + */ + Tile.prototype.refreshInterimChain = function refreshInterimChain () { + if (!this.interimTile) { + return; + } + + var tile = this.interimTile; + var prev = /** @type {Tile} */ (this); + + do { + if (tile.getState() == TileState["a" /* default */].LOADED) { + //we have a loaded tile, we can discard the rest of the list + //we would could abort any LOADING tile request + //older than this tile (i.e. any LOADING tile following this entry in the chain) + tile.interimTile = null; + break; + } else if (tile.getState() == TileState["a" /* default */].LOADING) { + //keep this LOADING tile any loaded tiles later in the chain are + //older than this tile, so we're still interested in the request + prev = tile; + } else if (tile.getState() == TileState["a" /* default */].IDLE) { + //the head of the list is the most current tile, we don't need + //to start any other requests for this chain + prev.interimTile = tile.interimTile; + } else { + prev = tile; + } + tile = prev.interimTile; + } while (tile); + }; + + /** + * Get the tile coordinate for this tile. + * @return {import("./tilecoord.js").TileCoord} The tile coordinate. + * @api + */ + Tile.prototype.getTileCoord = function getTileCoord () { + return this.tileCoord; + }; + + /** + * @return {TileState} State. + */ + Tile.prototype.getState = function getState () { + return this.state; + }; + + /** + * Sets the state of this tile. If you write your own {@link module:ol/Tile~LoadFunction tileLoadFunction} , + * it is important to set the state correctly to {@link module:ol/TileState~ERROR} + * when the tile cannot be loaded. Otherwise the tile cannot be removed from + * the tile queue and will block other requests. + * @param {TileState} state State. + * @api + */ + Tile.prototype.setState = function setState (state) { + this.state = state; + this.changed(); + }; + + /** + * Load the image or retry if loading previously failed. + * Loading is taken care of by the tile queue, and calling this method is + * only needed for preloading or for reloading in case of an error. + * @abstract + * @api + */ + Tile.prototype.load = function load () {}; + + /** + * Get the alpha value for rendering. + * @param {string} id An id for the renderer. + * @param {number} time The render frame time. + * @return {number} A number between 0 and 1. + */ + Tile.prototype.getAlpha = function getAlpha (id, time) { + if (!this.transition_) { + return 1; + } + + var start = this.transitionStarts_[id]; + if (!start) { + start = time; + this.transitionStarts_[id] = start; + } else if (start === -1) { + return 1; + } + + var delta = time - start + (1000 / 60); // avoid rendering at 0 + if (delta >= this.transition_) { + return 1; + } + return Object(easing["a" /* easeIn */])(delta / this.transition_); + }; + + /** + * Determine if a tile is in an alpha transition. A tile is considered in + * transition if tile.getAlpha() has not yet been called or has been called + * and returned 1. + * @param {string} id An id for the renderer. + * @return {boolean} The tile is in transition. + */ + Tile.prototype.inTransition = function inTransition (id) { + if (!this.transition_) { + return false; + } + return this.transitionStarts_[id] !== -1; + }; + + /** + * Mark a transition as complete. + * @param {string} id An id for the renderer. + */ + Tile.prototype.endTransition = function endTransition (id) { + if (this.transition_) { + this.transitionStarts_[id] = -1; + } + }; + + return Tile; +}(Target["a" /* default */])); + + +/* harmony default export */ var ol_Tile = (Tile_Tile); + +//# sourceMappingURL=Tile.js.map // EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); +var dom = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/events.js var events = __webpack_require__(2); -// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); - // CONCATENATED MODULE: ./node_modules/ol/ImageTile.js /** * @module ol/ImageTile @@ -17941,7 +15871,7 @@ var ImageTile_ImageTile = /*@__PURE__*/(function (Tile) { }; return ImageTile; -}(ol_Tile["a" /* default */])); +}(ol_Tile)); /** @@ -17958,9 +15888,193 @@ function getBlankImage() { /* harmony default export */ var ol_ImageTile = (ImageTile_ImageTile); //# sourceMappingURL=ImageTile.js.map -// EXTERNAL MODULE: ./node_modules/ol/TileCache.js -var TileCache = __webpack_require__(66); +// EXTERNAL MODULE: ./node_modules/ol/structs/LRUCache.js +var structs_LRUCache = __webpack_require__(61); +// CONCATENATED MODULE: ./node_modules/ol/tilecoord.js +/** + * @module ol/tilecoord + */ + + +/** + * An array of three numbers representing the location of a tile in a tile + * grid. The order is `z`, `x`, and `y`. `z` is the zoom level. + * @typedef {Array} TileCoord + * @api + */ + + +/** + * @param {number} z Z. + * @param {number} x X. + * @param {number} y Y. + * @param {TileCoord=} opt_tileCoord Tile coordinate. + * @return {TileCoord} Tile coordinate. + */ +function createOrUpdate(z, x, y, opt_tileCoord) { + if (opt_tileCoord !== undefined) { + opt_tileCoord[0] = z; + opt_tileCoord[1] = x; + opt_tileCoord[2] = y; + return opt_tileCoord; + } else { + return [z, x, y]; + } +} + + +/** + * @param {number} z Z. + * @param {number} x X. + * @param {number} y Y. + * @return {string} Key. + */ +function getKeyZXY(z, x, y) { + return z + '/' + x + '/' + y; +} + + +/** + * Get the key for a tile coord. + * @param {TileCoord} tileCoord The tile coord. + * @return {string} Key. + */ +function getKey(tileCoord) { + return getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]); +} + + +/** + * Get a tile coord given a key. + * @param {string} key The tile coord key. + * @return {TileCoord} The tile coord. + */ +function fromKey(key) { + return key.split('/').map(Number); +} + + +/** + * @param {TileCoord} tileCoord Tile coord. + * @return {number} Hash. + */ +function hash(tileCoord) { + return (tileCoord[1] << tileCoord[0]) + tileCoord[2]; +} + + +/** + * @param {TileCoord} tileCoord Tile coord. + * @return {string} Quad key. + */ +function quadKey(tileCoord) { + var z = tileCoord[0]; + var digits = new Array(z); + var mask = 1 << (z - 1); + var i, charCode; + for (i = 0; i < z; ++i) { + // 48 is charCode for 0 - '0'.charCodeAt(0) + charCode = 48; + if (tileCoord[1] & mask) { + charCode += 1; + } + if (tileCoord[2] & mask) { + charCode += 2; + } + digits[i] = String.fromCharCode(charCode); + mask >>= 1; + } + return digits.join(''); +} + + +/** + * @param {TileCoord} tileCoord Tile coordinate. + * @param {!import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. + * @return {boolean} Tile coordinate is within extent and zoom level range. + */ +function withinExtentAndZ(tileCoord, tileGrid) { + var z = tileCoord[0]; + var x = tileCoord[1]; + var y = tileCoord[2]; + + if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) { + return false; + } + var extent = tileGrid.getExtent(); + var tileRange; + if (!extent) { + tileRange = tileGrid.getFullTileRange(z); + } else { + tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); + } + if (!tileRange) { + return true; + } else { + return tileRange.containsXY(x, y); + } +} + +//# sourceMappingURL=tilecoord.js.map +// CONCATENATED MODULE: ./node_modules/ol/TileCache.js +/** + * @module ol/TileCache + */ + + + +var TileCache_TileCache = /*@__PURE__*/(function (LRUCache) { + function TileCache(opt_highWaterMark) { + + LRUCache.call(this, opt_highWaterMark); + + } + + if ( LRUCache ) TileCache.__proto__ = LRUCache; + TileCache.prototype = Object.create( LRUCache && LRUCache.prototype ); + TileCache.prototype.constructor = TileCache; + + /** + * @param {!Object} usedTiles Used tiles. + */ + TileCache.prototype.expireCache = function expireCache (usedTiles) { + while (this.canExpireCache()) { + var tile = this.peekLast(); + var zKey = tile.tileCoord[0].toString(); + if (zKey in usedTiles && usedTiles[zKey].contains(tile.tileCoord)) { + break; + } else { + this.pop().dispose(); + } + } + }; + + /** + * Prune all tiles from the cache that don't have the same z as the newest tile. + */ + TileCache.prototype.pruneExceptNewestZ = function pruneExceptNewestZ () { + if (this.getCount() === 0) { + return; + } + var key = this.peekFirstKey(); + var tileCoord = fromKey(key); + var z = tileCoord[0]; + this.forEach(function(tile) { + if (tile.tileCoord[0] !== z) { + this.remove(getKey(tile.tileCoord)); + tile.dispose(); + } + }, this); + }; + + return TileCache; +}(structs_LRUCache["a" /* default */])); + + +/* harmony default export */ var ol_TileCache = (TileCache_TileCache); + +//# sourceMappingURL=TileCache.js.map // EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules var ol_proj = __webpack_require__(13); @@ -17968,7 +16082,7 @@ var ol_proj = __webpack_require__(13); var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/reproj.js /** @@ -18868,21 +16982,1496 @@ var Tile_ReprojTile = /*@__PURE__*/(function (Tile) { }; return ReprojTile; -}(ol_Tile["a" /* default */])); +}(ol_Tile)); /* harmony default export */ var reproj_Tile = (Tile_ReprojTile); //# sourceMappingURL=Tile.js.map -// EXTERNAL MODULE: ./node_modules/ol/source/UrlTile.js + 4 modules -var source_UrlTile = __webpack_require__(75); +// EXTERNAL MODULE: ./node_modules/ol/asserts.js +var asserts = __webpack_require__(10); -// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js -var tilecoord = __webpack_require__(26); +// CONCATENATED MODULE: ./node_modules/ol/tileurlfunction.js +/** + * @module ol/tileurlfunction + */ -// EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var ol_tilegrid = __webpack_require__(39); + + + +/** + * @param {string} template Template. + * @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. + * @return {import("./Tile.js").UrlFunction} Tile URL function. + */ +function createFromTemplate(template, tileGrid) { + var zRegEx = /\{z\}/g; + var xRegEx = /\{x\}/g; + var yRegEx = /\{y\}/g; + var dashYRegEx = /\{-y\}/g; + return ( + /** + * @param {import("./tilecoord.js").TileCoord} tileCoord Tile Coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {import("./proj/Projection.js").default} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + return template.replace(zRegEx, tileCoord[0].toString()) + .replace(xRegEx, tileCoord[1].toString()) + .replace(yRegEx, function() { + var y = -tileCoord[2] - 1; + return y.toString(); + }) + .replace(dashYRegEx, function() { + var z = tileCoord[0]; + var range = tileGrid.getFullTileRange(z); + Object(asserts["a" /* assert */])(range, 55); // The {-y} placeholder requires a tile grid with extent + var y = range.getHeight() + tileCoord[2]; + return y.toString(); + }); + } + } + ); +} + + +/** + * @param {Array} templates Templates. + * @param {import("./tilegrid/TileGrid.js").default} tileGrid Tile grid. + * @return {import("./Tile.js").UrlFunction} Tile URL function. + */ +function createFromTemplates(templates, tileGrid) { + var len = templates.length; + var tileUrlFunctions = new Array(len); + for (var i = 0; i < len; ++i) { + tileUrlFunctions[i] = createFromTemplate(templates[i], tileGrid); + } + return createFromTileUrlFunctions(tileUrlFunctions); +} + + +/** + * @param {Array} tileUrlFunctions Tile URL Functions. + * @return {import("./Tile.js").UrlFunction} Tile URL function. + */ +function createFromTileUrlFunctions(tileUrlFunctions) { + if (tileUrlFunctions.length === 1) { + return tileUrlFunctions[0]; + } + return ( + /** + * @param {import("./tilecoord.js").TileCoord} tileCoord Tile Coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {import("./proj/Projection.js").default} projection Projection. + * @return {string|undefined} Tile URL. + */ + function(tileCoord, pixelRatio, projection) { + if (!tileCoord) { + return undefined; + } else { + var h = hash(tileCoord); + var index = Object(math["d" /* modulo */])(h, tileUrlFunctions.length); + return tileUrlFunctions[index](tileCoord, pixelRatio, projection); + } + } + ); +} + + +/** + * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {number} pixelRatio Pixel ratio. + * @param {import("./proj/Projection.js").default} projection Projection. + * @return {string|undefined} Tile URL. + */ +function nullTileUrlFunction(tileCoord, pixelRatio, projection) { + return undefined; +} + + +/** + * @param {string} url URL. + * @return {Array} Array of urls. + */ +function expandUrl(url) { + var urls = []; + var match = /\{([a-z])-([a-z])\}/.exec(url); + if (match) { + // char range + var startCharCode = match[1].charCodeAt(0); + var stopCharCode = match[2].charCodeAt(0); + var charCode; + for (charCode = startCharCode; charCode <= stopCharCode; ++charCode) { + urls.push(url.replace(match[0], String.fromCharCode(charCode))); + } + return urls; + } + match = match = /\{(\d+)-(\d+)\}/.exec(url); + if (match) { + // number range + var stop = parseInt(match[2], 10); + for (var i = parseInt(match[1], 10); i <= stop; i++) { + urls.push(url.replace(match[0], i.toString())); + } + return urls; + } + urls.push(url); + return urls; +} + +//# sourceMappingURL=tileurlfunction.js.map +// EXTERNAL MODULE: ./node_modules/ol/events/Event.js +var Event = __webpack_require__(21); + +// EXTERNAL MODULE: ./node_modules/ol/size.js +var ol_size = __webpack_require__(33); + +// EXTERNAL MODULE: ./node_modules/ol/source/Source.js +var source_Source = __webpack_require__(64); + +// EXTERNAL MODULE: ./node_modules/ol/tilegrid/common.js +var tilegrid_common = __webpack_require__(51); + +// EXTERNAL MODULE: ./node_modules/ol/extent/Corner.js +var Corner = __webpack_require__(53); + +// EXTERNAL MODULE: ./node_modules/ol/proj/Units.js +var Units = __webpack_require__(24); + +// EXTERNAL MODULE: ./node_modules/ol/TileRange.js +var TileRange = __webpack_require__(54); + +// EXTERNAL MODULE: ./node_modules/ol/array.js +var array = __webpack_require__(11); + +// CONCATENATED MODULE: ./node_modules/ol/tilegrid/TileGrid.js +/** + * @module ol/tilegrid/TileGrid + */ + + + + + + + + + + +/** + * @private + * @type {import("../tilecoord.js").TileCoord} + */ +var tmpTileCoord = [0, 0, 0]; + + +/** + * @typedef {Object} Options + * @property {import("../extent.js").Extent} [extent] Extent for the tile grid. No tiles outside this + * extent will be requested by {@link module:ol/source/Tile} sources. When no `origin` or + * `origins` are configured, the `origin` will be set to the top-left corner of the extent. + * @property {number} [minZoom=0] Minimum zoom. + * @property {import("../coordinate.js").Coordinate} [origin] The tile grid origin, i.e. where the `x` + * and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and upwards. If not + * specified, `extent` or `origins` must be provided. + * @property {Array} [origins] Tile grid origins, i.e. where + * the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length + * should match the length of the `resolutions` array, i.e. each resolution can have a different + * origin. Tile coordinates increase left to right and upwards. If not specified, `extent` or + * `origin` must be provided. + * @property {!Array} resolutions Resolutions. The array index of each resolution needs + * to match the zoom level. This means that even if a `minZoom` is configured, the resolutions + * array will have a length of `maxZoom + 1`. + * @property {Array} [sizes] Sizes. + * @property {number|import("../size.js").Size} [tileSize] Tile size. + * Default is `[256, 256]`. + * @property {Array} [tileSizes] Tile sizes. If given, the array length + * should match the length of the `resolutions` array, i.e. each resolution can have a different + * tile size. + */ + + +/** + * @classdesc + * Base class for setting the grid pattern for sources accessing tiled-image + * servers. + * @api + */ +var TileGrid_TileGrid = function TileGrid(options) { + + /** + * @protected + * @type {number} + */ + this.minZoom = options.minZoom !== undefined ? options.minZoom : 0; + + /** + * @private + * @type {!Array} + */ + this.resolutions_ = options.resolutions; + Object(asserts["a" /* assert */])(Object(array["e" /* isSorted */])(this.resolutions_, function(a, b) { + return b - a; + }, true), 17); // `resolutions` must be sorted in descending order + + + // check if we've got a consistent zoom factor and origin + var zoomFactor; + if (!options.origins) { + for (var i = 0, ii = this.resolutions_.length - 1; i < ii; ++i) { + if (!zoomFactor) { + zoomFactor = this.resolutions_[i] / this.resolutions_[i + 1]; + } else { + if (this.resolutions_[i] / this.resolutions_[i + 1] !== zoomFactor) { + zoomFactor = undefined; + break; + } + } + } + } + + + /** + * @private + * @type {number|undefined} + */ + this.zoomFactor_ = zoomFactor; + + + /** + * @protected + * @type {number} + */ + this.maxZoom = this.resolutions_.length - 1; + + /** + * @private + * @type {import("../coordinate.js").Coordinate} + */ + this.origin_ = options.origin !== undefined ? options.origin : null; + + /** + * @private + * @type {Array} + */ + this.origins_ = null; + if (options.origins !== undefined) { + this.origins_ = options.origins; + Object(asserts["a" /* assert */])(this.origins_.length == this.resolutions_.length, + 20); // Number of `origins` and `resolutions` must be equal + } + + var extent = options.extent; + + if (extent !== undefined && + !this.origin_ && !this.origins_) { + this.origin_ = Object(ol_extent["C" /* getTopLeft */])(extent); + } + + Object(asserts["a" /* assert */])( + (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_), + 18); // Either `origin` or `origins` must be configured, never both + + /** + * @private + * @type {Array} + */ + this.tileSizes_ = null; + if (options.tileSizes !== undefined) { + this.tileSizes_ = options.tileSizes; + Object(asserts["a" /* assert */])(this.tileSizes_.length == this.resolutions_.length, + 19); // Number of `tileSizes` and `resolutions` must be equal + } + + /** + * @private + * @type {number|import("../size.js").Size} + */ + this.tileSize_ = options.tileSize !== undefined ? + options.tileSize : + !this.tileSizes_ ? tilegrid_common["b" /* DEFAULT_TILE_SIZE */] : null; + Object(asserts["a" /* assert */])( + (!this.tileSize_ && this.tileSizes_) || + (this.tileSize_ && !this.tileSizes_), + 22); // Either `tileSize` or `tileSizes` must be configured, never both + + /** + * @private + * @type {import("../extent.js").Extent} + */ + this.extent_ = extent !== undefined ? extent : null; + + + /** + * @private + * @type {Array} + */ + this.fullTileRanges_ = null; + + /** + * @private + * @type {import("../size.js").Size} + */ + this.tmpSize_ = [0, 0]; + + if (options.sizes !== undefined) { + this.fullTileRanges_ = options.sizes.map(function(size, z) { + var tileRange = new TileRange["b" /* default */]( + Math.min(0, size[0]), Math.max(size[0] - 1, -1), + Math.min(0, size[1]), Math.max(size[1] - 1, -1)); + return tileRange; + }, this); + } else if (extent) { + this.calculateTileRanges_(extent); + } + +}; + +/** + * Call a function with each tile coordinate for a given extent and zoom level. + * + * @param {import("../extent.js").Extent} extent Extent. + * @param {number} zoom Integer zoom level. + * @param {function(import("../tilecoord.js").TileCoord)} callback Function called with each tile coordinate. + * @api + */ +TileGrid_TileGrid.prototype.forEachTileCoord = function forEachTileCoord (extent, zoom, callback) { + var tileRange = this.getTileRangeForExtentAndZ(extent, zoom); + for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) { + for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) { + callback([zoom, i, j]); + } + } +}; + +/** + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {function(this: T, number, import("../TileRange.js").default): boolean} callback Callback. + * @param {T=} opt_this The object to use as `this` in `callback`. + * @param {import("../TileRange.js").default=} opt_tileRange Temporary import("../TileRange.js").default object. + * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. + * @return {boolean} Callback succeeded. + * @template T + */ +TileGrid_TileGrid.prototype.forEachTileCoordParentTileRange = function forEachTileCoordParentTileRange (tileCoord, callback, opt_this, opt_tileRange, opt_extent) { + var tileRange, x, y; + var tileCoordExtent = null; + var z = tileCoord[0] - 1; + if (this.zoomFactor_ === 2) { + x = tileCoord[1]; + y = tileCoord[2]; + } else { + tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); + } + while (z >= this.minZoom) { + if (this.zoomFactor_ === 2) { + x = Math.floor(x / 2); + y = Math.floor(y / 2); + tileRange = Object(TileRange["a" /* createOrUpdate */])(x, x, y, y, opt_tileRange); + } else { + tileRange = this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange); + } + if (callback.call(opt_this, z, tileRange)) { + return true; + } + --z; + } + return false; +}; + +/** + * Get the extent for this tile grid, if it was configured. + * @return {import("../extent.js").Extent} Extent. + */ +TileGrid_TileGrid.prototype.getExtent = function getExtent () { + return this.extent_; +}; + +/** + * Get the maximum zoom level for the grid. + * @return {number} Max zoom. + * @api + */ +TileGrid_TileGrid.prototype.getMaxZoom = function getMaxZoom () { + return this.maxZoom; +}; + +/** + * Get the minimum zoom level for the grid. + * @return {number} Min zoom. + * @api + */ +TileGrid_TileGrid.prototype.getMinZoom = function getMinZoom () { + return this.minZoom; +}; + +/** + * Get the origin for the grid at the given zoom level. + * @param {number} z Integer zoom level. + * @return {import("../coordinate.js").Coordinate} Origin. + * @api + */ +TileGrid_TileGrid.prototype.getOrigin = function getOrigin (z) { + if (this.origin_) { + return this.origin_; + } else { + return this.origins_[z]; + } +}; + +/** + * Get the resolution for the given zoom level. + * @param {number} z Integer zoom level. + * @return {number} Resolution. + * @api + */ +TileGrid_TileGrid.prototype.getResolution = function getResolution (z) { + return this.resolutions_[z]; +}; + +/** + * Get the list of resolutions for the tile grid. + * @return {Array} Resolutions. + * @api + */ +TileGrid_TileGrid.prototype.getResolutions = function getResolutions () { + return this.resolutions_; +}; + +/** + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {import("../TileRange.js").default=} opt_tileRange Temporary import("../TileRange.js").default object. + * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. + * @return {import("../TileRange.js").default} Tile range. + */ +TileGrid_TileGrid.prototype.getTileCoordChildTileRange = function getTileCoordChildTileRange (tileCoord, opt_tileRange, opt_extent) { + if (tileCoord[0] < this.maxZoom) { + if (this.zoomFactor_ === 2) { + var minX = tileCoord[1] * 2; + var minY = tileCoord[2] * 2; + return Object(TileRange["a" /* createOrUpdate */])(minX, minX + 1, minY, minY + 1, opt_tileRange); + } + var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent); + return this.getTileRangeForExtentAndZ( + tileCoordExtent, tileCoord[0] + 1, opt_tileRange); + } + return null; +}; + +/** + * Get the extent for a tile range. + * @param {number} z Integer zoom level. + * @param {import("../TileRange.js").default} tileRange Tile range. + * @param {import("../extent.js").Extent=} opt_extent Temporary import("../extent.js").Extent object. + * @return {import("../extent.js").Extent} Extent. + */ +TileGrid_TileGrid.prototype.getTileRangeExtent = function getTileRangeExtent (z, tileRange, opt_extent) { + var origin = this.getOrigin(z); + var resolution = this.getResolution(z); + var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); + var minX = origin[0] + tileRange.minX * tileSize[0] * resolution; + var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resolution; + var minY = origin[1] + tileRange.minY * tileSize[1] * resolution; + var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resolution; + return Object(ol_extent["k" /* createOrUpdate */])(minX, minY, maxX, maxY, opt_extent); +}; + +/** + * Get a tile range for the given extent and integer zoom level. + * @param {import("../extent.js").Extent} extent Extent. + * @param {number} z Integer zoom level. + * @param {import("../TileRange.js").default=} opt_tileRange Temporary tile range object. + * @return {import("../TileRange.js").default} Tile range. + */ +TileGrid_TileGrid.prototype.getTileRangeForExtentAndZ = function getTileRangeForExtentAndZ (extent, z, opt_tileRange) { + var tileCoord = tmpTileCoord; + this.getTileCoordForXYAndZ_(extent[0], extent[1], z, false, tileCoord); + var minX = tileCoord[1]; + var minY = tileCoord[2]; + this.getTileCoordForXYAndZ_(extent[2], extent[3], z, true, tileCoord); + return Object(TileRange["a" /* createOrUpdate */])(minX, tileCoord[1], minY, tileCoord[2], opt_tileRange); +}; + +/** + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @return {import("../coordinate.js").Coordinate} Tile center. + */ +TileGrid_TileGrid.prototype.getTileCoordCenter = function getTileCoordCenter (tileCoord) { + var origin = this.getOrigin(tileCoord[0]); + var resolution = this.getResolution(tileCoord[0]); + var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(tileCoord[0]), this.tmpSize_); + return [ + origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resolution, + origin[1] + (tileCoord[2] + 0.5) * tileSize[1] * resolution + ]; +}; + +/** + * Get the extent of a tile coordinate. + * + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {import("../extent.js").Extent=} opt_extent Temporary extent object. + * @return {import("../extent.js").Extent} Extent. + * @api + */ +TileGrid_TileGrid.prototype.getTileCoordExtent = function getTileCoordExtent (tileCoord, opt_extent) { + var origin = this.getOrigin(tileCoord[0]); + var resolution = this.getResolution(tileCoord[0]); + var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(tileCoord[0]), this.tmpSize_); + var minX = origin[0] + tileCoord[1] * tileSize[0] * resolution; + var minY = origin[1] + tileCoord[2] * tileSize[1] * resolution; + var maxX = minX + tileSize[0] * resolution; + var maxY = minY + tileSize[1] * resolution; + return Object(ol_extent["k" /* createOrUpdate */])(minX, minY, maxX, maxY, opt_extent); +}; + +/** + * Get the tile coordinate for the given map coordinate and resolution.This + * method considers that coordinates that intersect tile boundaries should be + * assigned the higher tile coordinate. + * + * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. + * @param {number} resolution Resolution. + * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Destination import("../tilecoord.js").TileCoord object. + * @return {import("../tilecoord.js").TileCoord} Tile coordinate. + * @api + */ +TileGrid_TileGrid.prototype.getTileCoordForCoordAndResolution = function getTileCoordForCoordAndResolution (coordinate, resolution, opt_tileCoord) { + return this.getTileCoordForXYAndResolution_( + coordinate[0], coordinate[1], resolution, false, opt_tileCoord); +}; + +/** + * Note that this method should not be called for resolutions that correspond + * to an integer zoom level.Instead call the `getTileCoordForXYAndZ_` method. + * @param {number} x X. + * @param {number} y Y. + * @param {number} resolution Resolution (for a non-integer zoom level). + * @param {boolean} reverseIntersectionPolicy Instead of letting edge + * intersections go to the higher tile coordinate, let edge intersections + * go to the lower tile coordinate. + * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Temporary import("../tilecoord.js").TileCoord object. + * @return {import("../tilecoord.js").TileCoord} Tile coordinate. + * @private + */ +TileGrid_TileGrid.prototype.getTileCoordForXYAndResolution_ = function getTileCoordForXYAndResolution_ (x, y, resolution, reverseIntersectionPolicy, opt_tileCoord) { + var z = this.getZForResolution(resolution); + var scale = resolution / this.getResolution(z); + var origin = this.getOrigin(z); + var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); + + var adjustX = reverseIntersectionPolicy ? 0.5 : 0; + var adjustY = reverseIntersectionPolicy ? 0 : 0.5; + var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX); + var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY); + var tileCoordX = scale * xFromOrigin / tileSize[0]; + var tileCoordY = scale * yFromOrigin / tileSize[1]; + + if (reverseIntersectionPolicy) { + tileCoordX = Math.ceil(tileCoordX) - 1; + tileCoordY = Math.ceil(tileCoordY) - 1; + } else { + tileCoordX = Math.floor(tileCoordX); + tileCoordY = Math.floor(tileCoordY); + } + + return createOrUpdate(z, tileCoordX, tileCoordY, opt_tileCoord); +}; + +/** + * Although there is repetition between this method and `getTileCoordForXYAndResolution_`, + * they should have separate implementations.This method is for integer zoom + * levels.The other method should only be called for resolutions corresponding + * to non-integer zoom levels. + * @param {number} x Map x coordinate. + * @param {number} y Map y coordinate. + * @param {number} z Integer zoom level. + * @param {boolean} reverseIntersectionPolicy Instead of letting edge + * intersections go to the higher tile coordinate, let edge intersections + * go to the lower tile coordinate. + * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Temporary import("../tilecoord.js").TileCoord object. + * @return {import("../tilecoord.js").TileCoord} Tile coordinate. + * @private + */ +TileGrid_TileGrid.prototype.getTileCoordForXYAndZ_ = function getTileCoordForXYAndZ_ (x, y, z, reverseIntersectionPolicy, opt_tileCoord) { + var origin = this.getOrigin(z); + var resolution = this.getResolution(z); + var tileSize = Object(ol_size["c" /* toSize */])(this.getTileSize(z), this.tmpSize_); + + var adjustX = reverseIntersectionPolicy ? 0.5 : 0; + var adjustY = reverseIntersectionPolicy ? 0 : 0.5; + var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX); + var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY); + var tileCoordX = xFromOrigin / tileSize[0]; + var tileCoordY = yFromOrigin / tileSize[1]; + + if (reverseIntersectionPolicy) { + tileCoordX = Math.ceil(tileCoordX) - 1; + tileCoordY = Math.ceil(tileCoordY) - 1; + } else { + tileCoordX = Math.floor(tileCoordX); + tileCoordY = Math.floor(tileCoordY); + } + + return createOrUpdate(z, tileCoordX, tileCoordY, opt_tileCoord); +}; + +/** + * Get a tile coordinate given a map coordinate and zoom level. + * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. + * @param {number} z Zoom level. + * @param {import("../tilecoord.js").TileCoord=} opt_tileCoord Destination import("../tilecoord.js").TileCoord object. + * @return {import("../tilecoord.js").TileCoord} Tile coordinate. + * @api + */ +TileGrid_TileGrid.prototype.getTileCoordForCoordAndZ = function getTileCoordForCoordAndZ (coordinate, z, opt_tileCoord) { + return this.getTileCoordForXYAndZ_( + coordinate[0], coordinate[1], z, false, opt_tileCoord); +}; + +/** + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @return {number} Tile resolution. + */ +TileGrid_TileGrid.prototype.getTileCoordResolution = function getTileCoordResolution (tileCoord) { + return this.resolutions_[tileCoord[0]]; +}; + +/** + * Get the tile size for a zoom level. The type of the return value matches the + * `tileSize` or `tileSizes` that the tile grid was configured with. To always + * get an `import("../size.js").Size`, run the result through `import("../size.js").Size.toSize()`. + * @param {number} z Z. + * @return {number|import("../size.js").Size} Tile size. + * @api + */ +TileGrid_TileGrid.prototype.getTileSize = function getTileSize (z) { + if (this.tileSize_) { + return this.tileSize_; + } else { + return this.tileSizes_[z]; + } +}; + +/** + * @param {number} z Zoom level. + * @return {import("../TileRange.js").default} Extent tile range for the specified zoom level. + */ +TileGrid_TileGrid.prototype.getFullTileRange = function getFullTileRange (z) { + if (!this.fullTileRanges_) { + return null; + } else { + return this.fullTileRanges_[z]; + } +}; + +/** + * @param {number} resolution Resolution. + * @param {number=} opt_direction If 0, the nearest resolution will be used. + * If 1, the nearest lower resolution will be used. If -1, the nearest + * higher resolution will be used. Default is 0. + * @return {number} Z. + * @api + */ +TileGrid_TileGrid.prototype.getZForResolution = function getZForResolution (resolution, opt_direction) { + var z = Object(array["f" /* linearFindNearest */])(this.resolutions_, resolution, opt_direction || 0); + return Object(math["a" /* clamp */])(z, this.minZoom, this.maxZoom); +}; + +/** + * @param {!import("../extent.js").Extent} extent Extent for this tile grid. + * @private + */ +TileGrid_TileGrid.prototype.calculateTileRanges_ = function calculateTileRanges_ (extent) { + var length = this.resolutions_.length; + var fullTileRanges = new Array(length); + for (var z = this.minZoom; z < length; ++z) { + fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z); + } + this.fullTileRanges_ = fullTileRanges; +}; + + +/* harmony default export */ var tilegrid_TileGrid = (TileGrid_TileGrid); + +//# sourceMappingURL=TileGrid.js.map +// CONCATENATED MODULE: ./node_modules/ol/tilegrid.js +/** + * @module ol/tilegrid + */ + + + + + + + + + +/** + * @param {import("./proj/Projection.js").default} projection Projection. + * @return {!TileGrid} Default tile grid for the + * passed projection. + */ +function getForProjection(projection) { + var tileGrid = projection.getDefaultTileGrid(); + if (!tileGrid) { + tileGrid = createForProjection(projection); + projection.setDefaultTileGrid(tileGrid); + } + return tileGrid; +} + + +/** + * @param {TileGrid} tileGrid Tile grid. + * @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {import("./proj/Projection.js").default} projection Projection. + * @return {import("./tilecoord.js").TileCoord} Tile coordinate. + */ +function wrapX(tileGrid, tileCoord, projection) { + var z = tileCoord[0]; + var center = tileGrid.getTileCoordCenter(tileCoord); + var projectionExtent = extentFromProjection(projection); + if (!Object(ol_extent["f" /* containsCoordinate */])(projectionExtent, center)) { + var worldWidth = Object(ol_extent["E" /* getWidth */])(projectionExtent); + var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth); + center[0] += worldWidth * worldsAway; + return tileGrid.getTileCoordForCoordAndZ(center, z); + } else { + return tileCoord; + } +} + + +/** + * @param {import("./extent.js").Extent} extent Extent. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * DEFAULT_MAX_ZOOM). + * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses + * DEFAULT_TILE_SIZE). + * @param {Corner=} opt_corner Extent corner (default is `'top-left'`). + * @return {!TileGrid} TileGrid instance. + */ +function createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner) { + var corner = opt_corner !== undefined ? opt_corner : Corner["a" /* default */].TOP_LEFT; + + var resolutions = resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize); + + return new tilegrid_TileGrid({ + extent: extent, + origin: Object(ol_extent["y" /* getCorner */])(extent, corner), + resolutions: resolutions, + tileSize: opt_tileSize + }); +} + + +/** + * @typedef {Object} XYZOptions + * @property {import("./extent.js").Extent} [extent] Extent for the tile grid. The origin for an XYZ tile grid is the + * top-left corner of the extent. The zero level of the grid is defined by the resolution at which one tile fits in the + * provided extent. If not provided, the extent of the EPSG:3857 projection is used. + * @property {number} [maxZoom] Maximum zoom. The default is `42`. This determines the number of levels + * in the grid set. For example, a `maxZoom` of 21 means there are 22 levels in the grid set. + * @property {number} [minZoom=0] Minimum zoom. + * @property {number|import("./size.js").Size} [tileSize=[256, 256]] Tile size in pixels. + */ + + +/** + * Creates a tile grid with a standard XYZ tiling scheme. + * @param {XYZOptions=} opt_options Tile grid options. + * @return {!TileGrid} Tile grid instance. + * @api + */ +function createXYZ(opt_options) { + /** @type {XYZOptions} */ + var xyzOptions = opt_options || {}; + + var extent = xyzOptions.extent || Object(ol_proj["e" /* get */])('EPSG:3857').getExtent(); + + /** @type {import("./tilegrid/TileGrid.js").Options} */ + var gridOptions = { + extent: extent, + minZoom: xyzOptions.minZoom, + tileSize: xyzOptions.tileSize, + resolutions: resolutionsFromExtent( + extent, + xyzOptions.maxZoom, + xyzOptions.tileSize + ) + }; + return new tilegrid_TileGrid(gridOptions); +} + + +/** + * Create a resolutions array from an extent. A zoom factor of 2 is assumed. + * @param {import("./extent.js").Extent} extent Extent. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * DEFAULT_MAX_ZOOM). + * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses + * DEFAULT_TILE_SIZE). + * @return {!Array} Resolutions array. + */ +function resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize) { + var maxZoom = opt_maxZoom !== undefined ? + opt_maxZoom : tilegrid_common["a" /* DEFAULT_MAX_ZOOM */]; + + var height = Object(ol_extent["A" /* getHeight */])(extent); + var width = Object(ol_extent["E" /* getWidth */])(extent); + + var tileSize = Object(ol_size["c" /* toSize */])(opt_tileSize !== undefined ? + opt_tileSize : tilegrid_common["b" /* DEFAULT_TILE_SIZE */]); + var maxResolution = Math.max( + width / tileSize[0], height / tileSize[1]); + + var length = maxZoom + 1; + var resolutions = new Array(length); + for (var z = 0; z < length; ++z) { + resolutions[z] = maxResolution / Math.pow(2, z); + } + return resolutions; +} + + +/** + * @param {import("./proj.js").ProjectionLike} projection Projection. + * @param {number=} opt_maxZoom Maximum zoom level (default is + * DEFAULT_MAX_ZOOM). + * @param {number|import("./size.js").Size=} opt_tileSize Tile size (default uses + * DEFAULT_TILE_SIZE). + * @param {Corner=} opt_corner Extent corner (default is `'top-left'`). + * @return {!TileGrid} TileGrid instance. + */ +function createForProjection(projection, opt_maxZoom, opt_tileSize, opt_corner) { + var extent = extentFromProjection(projection); + return createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner); +} + + +/** + * Generate a tile grid extent from a projection. If the projection has an + * extent, it is used. If not, a global extent is assumed. + * @param {import("./proj.js").ProjectionLike} projection Projection. + * @return {import("./extent.js").Extent} Extent. + */ +function extentFromProjection(projection) { + projection = Object(ol_proj["e" /* get */])(projection); + var extent = projection.getExtent(); + if (!extent) { + var half = 180 * ol_proj["a" /* METERS_PER_UNIT */][Units["b" /* default */].DEGREES] / projection.getMetersPerUnit(); + extent = Object(ol_extent["k" /* createOrUpdate */])(-half, -half, half, half); + } + return extent; +} + +//# sourceMappingURL=tilegrid.js.map +// CONCATENATED MODULE: ./node_modules/ol/source/Tile.js +/** + * @module ol/source/Tile + */ + + + + + + + + + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] + * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. + * @property {number} [cacheSize] + * @property {boolean} [opaque] + * @property {number} [tilePixelRatio] + * @property {import("../proj.js").ProjectionLike} [projection] + * @property {import("./State.js").default} [state] + * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] + * @property {boolean} [wrapX=true] + * @property {number} [transition] + * @property {string} [key] + */ + + +/** + * @classdesc + * Abstract base class; normally only used for creating subclasses and not + * instantiated in apps. + * Base class for sources providing images divided into a tile grid. + * @abstract + * @api + */ +var Tile_TileSource = /*@__PURE__*/(function (Source) { + function TileSource(options) { + + Source.call(this, { + attributions: options.attributions, + attributionsCollapsible: options.attributionsCollapsible, + projection: options.projection, + state: options.state, + wrapX: options.wrapX + }); + + /** + * @private + * @type {boolean} + */ + this.opaque_ = options.opaque !== undefined ? options.opaque : false; + + /** + * @private + * @type {number} + */ + this.tilePixelRatio_ = options.tilePixelRatio !== undefined ? + options.tilePixelRatio : 1; + + /** + * @protected + * @type {import("../tilegrid/TileGrid.js").default} + */ + this.tileGrid = options.tileGrid !== undefined ? options.tileGrid : null; + + /** + * @protected + * @type {import("../TileCache.js").default} + */ + this.tileCache = new ol_TileCache(options.cacheSize); + + /** + * @protected + * @type {import("../size.js").Size} + */ + this.tmpSize = [0, 0]; + + /** + * @private + * @type {string} + */ + this.key_ = options.key || ''; + + /** + * @protected + * @type {import("../Tile.js").Options} + */ + this.tileOptions = {transition: options.transition}; + + } + + if ( Source ) TileSource.__proto__ = Source; + TileSource.prototype = Object.create( Source && Source.prototype ); + TileSource.prototype.constructor = TileSource; + + /** + * @return {boolean} Can expire cache. + */ + TileSource.prototype.canExpireCache = function canExpireCache () { + return this.tileCache.canExpireCache(); + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @param {!Object} usedTiles Used tiles. + */ + TileSource.prototype.expireCache = function expireCache (projection, usedTiles) { + var tileCache = this.getTileCacheForProjection(projection); + if (tileCache) { + tileCache.expireCache(usedTiles); + } + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @param {number} z Zoom level. + * @param {import("../TileRange.js").default} tileRange Tile range. + * @param {function(import("../Tile.js").default):(boolean|void)} callback Called with each + * loaded tile. If the callback returns `false`, the tile will not be + * considered loaded. + * @return {boolean} The tile range is fully covered with loaded tiles. + */ + TileSource.prototype.forEachLoadedTile = function forEachLoadedTile (projection, z, tileRange, callback) { + var tileCache = this.getTileCacheForProjection(projection); + if (!tileCache) { + return false; + } + + var covered = true; + var tile, tileCoordKey, loaded; + for (var x = tileRange.minX; x <= tileRange.maxX; ++x) { + for (var y = tileRange.minY; y <= tileRange.maxY; ++y) { + tileCoordKey = getKeyZXY(z, x, y); + loaded = false; + if (tileCache.containsKey(tileCoordKey)) { + tile = /** @type {!import("../Tile.js").default} */ (tileCache.get(tileCoordKey)); + loaded = tile.getState() === TileState["a" /* default */].LOADED; + if (loaded) { + loaded = (callback(tile) !== false); + } + } + if (!loaded) { + covered = false; + } + } + } + return covered; + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {number} Gutter. + */ + TileSource.prototype.getGutterForProjection = function getGutterForProjection (projection) { + return 0; + }; + + /** + * Return the key to be used for all tiles in the source. + * @return {string} The key for all tiles. + * @protected + */ + TileSource.prototype.getKey = function getKey () { + return this.key_; + }; + + /** + * Set the value to be used as the key for all tiles in the source. + * @param {string} key The key for tiles. + * @protected + */ + TileSource.prototype.setKey = function setKey (key) { + if (this.key_ !== key) { + this.key_ = key; + this.changed(); + } + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {boolean} Opaque. + */ + TileSource.prototype.getOpaque = function getOpaque (projection) { + return this.opaque_; + }; + + /** + * @inheritDoc + */ + TileSource.prototype.getResolutions = function getResolutions () { + return this.tileGrid.getResolutions(); + }; + + /** + * @abstract + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {number} pixelRatio Pixel ratio. + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {!import("../Tile.js").default} Tile. + */ + TileSource.prototype.getTile = function getTile (z, x, y, pixelRatio, projection) { + return Object(util["b" /* abstract */])(); + }; + + /** + * Return the tile grid of the tile source. + * @return {import("../tilegrid/TileGrid.js").default} Tile grid. + * @api + */ + TileSource.prototype.getTileGrid = function getTileGrid () { + return this.tileGrid; + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {!import("../tilegrid/TileGrid.js").default} Tile grid. + */ + TileSource.prototype.getTileGridForProjection = function getTileGridForProjection$1 (projection) { + if (!this.tileGrid) { + return getForProjection(projection); + } else { + return this.tileGrid; + } + }; + + /** + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {import("../TileCache.js").default} Tile cache. + * @protected + */ + TileSource.prototype.getTileCacheForProjection = function getTileCacheForProjection (projection) { + var thisProj = this.getProjection(); + if (thisProj && !Object(ol_proj["c" /* equivalent */])(thisProj, projection)) { + return null; + } else { + return this.tileCache; + } + }; + + /** + * Get the tile pixel ratio for this source. Subclasses may override this + * method, which is meant to return a supported pixel ratio that matches the + * provided `pixelRatio` as close as possible. + * @param {number} pixelRatio Pixel ratio. + * @return {number} Tile pixel ratio. + */ + TileSource.prototype.getTilePixelRatio = function getTilePixelRatio (pixelRatio) { + return this.tilePixelRatio_; + }; + + /** + * @param {number} z Z. + * @param {number} pixelRatio Pixel ratio. + * @param {import("../proj/Projection.js").default} projection Projection. + * @return {import("../size.js").Size} Tile size. + */ + TileSource.prototype.getTilePixelSize = function getTilePixelSize (z, pixelRatio, projection) { + var tileGrid = this.getTileGridForProjection(projection); + var tilePixelRatio = this.getTilePixelRatio(pixelRatio); + var tileSize = Object(ol_size["c" /* toSize */])(tileGrid.getTileSize(z), this.tmpSize); + if (tilePixelRatio == 1) { + return tileSize; + } else { + return Object(ol_size["b" /* scale */])(tileSize, tilePixelRatio, this.tmpSize); + } + }; + + /** + * Returns a tile coordinate wrapped around the x-axis. When the tile coordinate + * is outside the resolution and extent range of the tile grid, `null` will be + * returned. + * @param {import("../tilecoord.js").TileCoord} tileCoord Tile coordinate. + * @param {import("../proj/Projection.js").default=} opt_projection Projection. + * @return {import("../tilecoord.js").TileCoord} Tile coordinate to be passed to the tileUrlFunction or + * null if no tile URL should be created for the passed `tileCoord`. + */ + TileSource.prototype.getTileCoordForTileUrlFunction = function getTileCoordForTileUrlFunction (tileCoord, opt_projection) { + var projection = opt_projection !== undefined ? + opt_projection : this.getProjection(); + var tileGrid = this.getTileGridForProjection(projection); + if (this.getWrapX() && projection.isGlobal()) { + tileCoord = wrapX(tileGrid, tileCoord, projection); + } + return withinExtentAndZ(tileCoord, tileGrid) ? tileCoord : null; + }; + + /** + * @inheritDoc + */ + TileSource.prototype.refresh = function refresh () { + this.tileCache.clear(); + this.changed(); + }; + + /** + * Marks a tile coord as being used, without triggering a load. + * @abstract + * @param {number} z Tile coordinate z. + * @param {number} x Tile coordinate x. + * @param {number} y Tile coordinate y. + * @param {import("../proj/Projection.js").default} projection Projection. + */ + TileSource.prototype.useTile = function useTile (z, x, y, projection) {}; + + return TileSource; +}(source_Source["a" /* default */])); + + +/** + * @classdesc + * Events emitted by {@link module:ol/source/Tile~TileSource} instances are instances of this + * type. + */ +var TileSourceEvent = /*@__PURE__*/(function (Event) { + function TileSourceEvent(type, tile) { + + Event.call(this, type); + + /** + * The tile related to the event. + * @type {import("../Tile.js").default} + * @api + */ + this.tile = tile; + + } + + if ( Event ) TileSourceEvent.__proto__ = Event; + TileSourceEvent.prototype = Object.create( Event && Event.prototype ); + TileSourceEvent.prototype.constructor = TileSourceEvent; + + return TileSourceEvent; +}(Event["a" /* default */])); + +/* harmony default export */ var source_Tile = (Tile_TileSource); + +//# sourceMappingURL=Tile.js.map +// CONCATENATED MODULE: ./node_modules/ol/source/TileEventType.js +/** + * @module ol/source/TileEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ var TileEventType = ({ + + /** + * Triggered when a tile starts loading. + * @event module:ol/source/Tile.TileSourceEvent#tileloadstart + * @api + */ + TILELOADSTART: 'tileloadstart', + + /** + * Triggered when a tile finishes loading, either when its data is loaded, + * or when loading was aborted because the tile is no longer needed. + * @event module:ol/source/Tile.TileSourceEvent#tileloadend + * @api + */ + TILELOADEND: 'tileloadend', + + /** + * Triggered if tile loading results in an error. + * @event module:ol/source/Tile.TileSourceEvent#tileloaderror + * @api + */ + TILELOADERROR: 'tileloaderror' + +}); + +//# sourceMappingURL=TileEventType.js.map +// CONCATENATED MODULE: ./node_modules/ol/source/UrlTile.js +/** + * @module ol/source/UrlTile + */ + + + + + + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] + * @property {boolean} [attributionsCollapsible=true] Attributions are collapsible. + * @property {number} [cacheSize] + * @property {boolean} [opaque] + * @property {import("../proj.js").ProjectionLike} [projection] + * @property {import("./State.js").default} [state] + * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] + * @property {import("../Tile.js").LoadFunction} tileLoadFunction + * @property {number} [tilePixelRatio] + * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] + * @property {string} [url] + * @property {Array} [urls] + * @property {boolean} [wrapX=true] + * @property {number} [transition] + * @property {string} [key] + */ + + +/** + * @classdesc + * Base class for sources providing tiles divided into a tile grid over http. + * + * @fires import("./Tile.js").TileSourceEvent + */ +var UrlTile_UrlTile = /*@__PURE__*/(function (TileSource) { + function UrlTile(options) { + + TileSource.call(this, { + attributions: options.attributions, + cacheSize: options.cacheSize, + opaque: options.opaque, + projection: options.projection, + state: options.state, + tileGrid: options.tileGrid, + tilePixelRatio: options.tilePixelRatio, + wrapX: options.wrapX, + transition: options.transition, + key: options.key, + attributionsCollapsible: options.attributionsCollapsible + }); + + /** + * @private + * @type {boolean} + */ + this.generateTileUrlFunction_ = !options.tileUrlFunction; + + /** + * @protected + * @type {import("../Tile.js").LoadFunction} + */ + this.tileLoadFunction = options.tileLoadFunction; + + /** + * @protected + * @type {import("../Tile.js").UrlFunction} + */ + this.tileUrlFunction = options.tileUrlFunction ? options.tileUrlFunction.bind(this) : nullTileUrlFunction; + + /** + * @protected + * @type {!Array|null} + */ + this.urls = null; + + if (options.urls) { + this.setUrls(options.urls); + } else if (options.url) { + this.setUrl(options.url); + } + + if (options.tileUrlFunction) { + this.setTileUrlFunction(options.tileUrlFunction, this.key_); + } + + /** + * @private + * @type {!Object} + */ + this.tileLoadingKeys_ = {}; + + } + + if ( TileSource ) UrlTile.__proto__ = TileSource; + UrlTile.prototype = Object.create( TileSource && TileSource.prototype ); + UrlTile.prototype.constructor = UrlTile; + + /** + * Return the tile load function of the source. + * @return {import("../Tile.js").LoadFunction} TileLoadFunction + * @api + */ + UrlTile.prototype.getTileLoadFunction = function getTileLoadFunction () { + return this.tileLoadFunction; + }; + + /** + * Return the tile URL function of the source. + * @return {import("../Tile.js").UrlFunction} TileUrlFunction + * @api + */ + UrlTile.prototype.getTileUrlFunction = function getTileUrlFunction () { + return this.tileUrlFunction; + }; + + /** + * Return the URLs used for this source. + * When a tileUrlFunction is used instead of url or urls, + * null will be returned. + * @return {!Array|null} URLs. + * @api + */ + UrlTile.prototype.getUrls = function getUrls () { + return this.urls; + }; + + /** + * Handle tile change events. + * @param {import("../events/Event.js").default} event Event. + * @protected + */ + UrlTile.prototype.handleTileChange = function handleTileChange (event) { + var tile = /** @type {import("../Tile.js").default} */ (event.target); + var uid = Object(util["c" /* getUid */])(tile); + var tileState = tile.getState(); + var type; + if (tileState == TileState["a" /* default */].LOADING) { + this.tileLoadingKeys_[uid] = true; + type = TileEventType.TILELOADSTART; + } else if (uid in this.tileLoadingKeys_) { + delete this.tileLoadingKeys_[uid]; + type = tileState == TileState["a" /* default */].ERROR ? TileEventType.TILELOADERROR : + (tileState == TileState["a" /* default */].LOADED || tileState == TileState["a" /* default */].ABORT) ? + TileEventType.TILELOADEND : undefined; + } + if (type != undefined) { + this.dispatchEvent(new TileSourceEvent(type, tile)); + } + }; + + /** + * Set the tile load function of the source. + * @param {import("../Tile.js").LoadFunction} tileLoadFunction Tile load function. + * @api + */ + UrlTile.prototype.setTileLoadFunction = function setTileLoadFunction (tileLoadFunction) { + this.tileCache.clear(); + this.tileLoadFunction = tileLoadFunction; + this.changed(); + }; + + /** + * Set the tile URL function of the source. + * @param {import("../Tile.js").UrlFunction} tileUrlFunction Tile URL function. + * @param {string=} key Optional new tile key for the source. + * @api + */ + UrlTile.prototype.setTileUrlFunction = function setTileUrlFunction (tileUrlFunction, key) { + this.tileUrlFunction = tileUrlFunction; + this.tileCache.pruneExceptNewestZ(); + if (typeof key !== 'undefined') { + this.setKey(key); + } else { + this.changed(); + } + }; + + /** + * Set the URL to use for requests. + * @param {string} url URL. + * @api + */ + UrlTile.prototype.setUrl = function setUrl (url) { + var urls = this.urls = expandUrl(url); + this.setUrls(urls); + }; + + /** + * Set the URLs to use for requests. + * @param {Array} urls URLs. + * @api + */ + UrlTile.prototype.setUrls = function setUrls (urls) { + this.urls = urls; + var key = urls.join('\n'); + if (this.generateTileUrlFunction_) { + this.setTileUrlFunction(createFromTemplates(urls, this.tileGrid), key); + } else { + this.setKey(key); + } + }; + + /** + * @inheritDoc + */ + UrlTile.prototype.useTile = function useTile (z, x, y) { + var tileCoordKey = getKeyZXY(z, x, y); + if (this.tileCache.containsKey(tileCoordKey)) { + this.tileCache.get(tileCoordKey); + } + }; + + return UrlTile; +}(source_Tile)); + + +/* harmony default export */ var source_UrlTile = (UrlTile_UrlTile); + +//# sourceMappingURL=UrlTile.js.map // CONCATENATED MODULE: ./node_modules/ol/source/TileImage.js /** * @module ol/source/TileImage @@ -19094,7 +18683,7 @@ var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { } else { var projKey = Object(util["c" /* getUid */])(projection); if (!(projKey in this.tileGridForProjection)) { - this.tileGridForProjection[projKey] = Object(ol_tilegrid["d" /* getForProjection */])(projection); + this.tileGridForProjection[projKey] = getForProjection(projection); } return ( /** @type {!import("../tilegrid/TileGrid.js").default} */ (this.tileGridForProjection[projKey]) @@ -19114,7 +18703,7 @@ var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { } else { var projKey = Object(util["c" /* getUid */])(projection); if (!(projKey in this.tileCacheForProjection)) { - this.tileCacheForProjection[projKey] = new TileCache["a" /* default */](this.tileCache.highWaterMark); + this.tileCacheForProjection[projKey] = new ol_TileCache(this.tileCache.highWaterMark); } return this.tileCacheForProjection[projKey]; } @@ -19161,7 +18750,7 @@ var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { var cache = this.getTileCacheForProjection(projection); var tileCoord = [z, x, y]; var tile; - var tileCoordKey = Object(tilecoord["c" /* getKey */])(tileCoord); + var tileCoordKey = getKey(tileCoord); if (cache.containsKey(tileCoordKey)) { tile = /** @type {!import("../Tile.js").default} */ (cache.get(tileCoordKey)); } @@ -19207,7 +18796,7 @@ var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { */ TileImage.prototype.getTileInternal = function getTileInternal (z, x, y, pixelRatio, projection) { var tile = null; - var tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); + var tileCoordKey = getKeyZXY(z, x, y); var key = this.getKey(); if (!this.tileCache.containsKey(tileCoordKey)) { tile = this.createTile_(z, x, y, pixelRatio, projection, key); @@ -19277,7 +18866,7 @@ var TileImage_TileImage = /*@__PURE__*/(function (UrlTile) { }; return TileImage; -}(source_UrlTile["a" /* default */])); +}(source_UrlTile)); /** @@ -19364,8 +18953,8 @@ var XYZ_XYZ = /*@__PURE__*/(function (TileImage) { options.projection : 'EPSG:3857'; var tileGrid = options.tileGrid !== undefined ? options.tileGrid : - Object(ol_tilegrid["b" /* createXYZ */])({ - extent: Object(ol_tilegrid["c" /* extentFromProjection */])(projection), + createXYZ({ + extent: extentFromProjection(projection), maxZoom: options.maxZoom, minZoom: options.minZoom, tileSize: options.tileSize @@ -19403,28 +18992,28 @@ var XYZ_XYZ = /*@__PURE__*/(function (TileImage) { //# sourceMappingURL=XYZ.js.map /***/ }), -/* 81 */ +/* 74 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // EXTERNAL MODULE: ./node_modules/ol/Collection.js -var Collection = __webpack_require__(33); +var Collection = __webpack_require__(27); // EXTERNAL MODULE: ./node_modules/ol/array.js var array = __webpack_require__(11); // EXTERNAL MODULE: ./node_modules/ol/functions.js -var functions = __webpack_require__(15); +var functions = __webpack_require__(14); // EXTERNAL MODULE: ./node_modules/ol/MapEventType.js -var MapEventType = __webpack_require__(61); +var MapEventType = __webpack_require__(57); // EXTERNAL MODULE: ./node_modules/ol/Object.js var ol_Object = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); +var dom = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/events.js var events = __webpack_require__(2); @@ -19589,13 +19178,13 @@ var Control_Control = /*@__PURE__*/(function (BaseObject) { //# sourceMappingURL=Control.js.map // EXTERNAL MODULE: ./node_modules/ol/css.js -var css = __webpack_require__(24); +var css = __webpack_require__(25); // EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); +var EventType = __webpack_require__(4); // EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js -var Layer = __webpack_require__(41); +var Layer = __webpack_require__(40); // CONCATENATED MODULE: ./node_modules/ol/control/Attribution.js /** @@ -19940,7 +19529,7 @@ function render(mapEvent) { //# sourceMappingURL=Attribution.js.map // EXTERNAL MODULE: ./node_modules/ol/easing.js -var easing = __webpack_require__(21); +var easing = __webpack_require__(22); // CONCATENATED MODULE: ./node_modules/ol/control/Rotate.js /** @@ -20339,12 +19928,12 @@ function defaults(opt_options) { //# sourceMappingURL=util.js.map /***/ }), -/* 82 */ +/* 75 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35); -/* harmony import */ var _TextPlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); +/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34); +/* harmony import */ var _TextPlacement_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62); /** * @module ol/style/Text */ @@ -20849,148 +20438,12 @@ Text.prototype.setPadding = function setPadding (padding) { //# sourceMappingURL=Text.js.map /***/ }), -/* 83 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); -/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); -/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); -/** - * @module ol/layer/Tile - */ - - - - - - -/** - * @typedef {Object} Options - * @property {number} [opacity=1] Opacity (0, 1). - * @property {boolean} [visible=true] Visibility. - * @property {import("../extent.js").Extent} [extent] The bounding extent for layer rendering. The layer will not be - * rendered outside of this extent. - * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers - * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed - * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` - * method was used. - * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be - * visible. - * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will - * be visible. - * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0` - * means no preloading. - * @property {import("../source/Tile.js").default} [source] Source for this layer. - * @property {import("../PluggableMap.js").default} [map] Sets the layer as overlay on a map. The map will not manage - * this layer in its layers collection, and the layer will be rendered on top. This is useful for - * temporary layers. The standard way to add a layer to a map and have it managed by the map is to - * use {@link module:ol/Map#addLayer}. - * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error. - */ - -/** - * @classdesc - * For layer sources that provide pre-rendered, tiled images in grids that are - * organized by zoom levels for specific resolutions. - * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject} - * property on the layer object; for example, setting `title: 'My Title'` in the - * options means that `title` is observable, and has get/set accessors. - * - * @api - */ -var TileLayer = /*@__PURE__*/(function (Layer) { - function TileLayer(opt_options) { - var options = opt_options ? opt_options : {}; - - var baseOptions = Object(_obj_js__WEBPACK_IMPORTED_MODULE_3__[/* assign */ "a"])({}, options); - - delete baseOptions.preload; - delete baseOptions.useInterimTilesOnError; - Layer.call(this, baseOptions); - - this.setPreload(options.preload !== undefined ? options.preload : 0); - this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined ? - options.useInterimTilesOnError : true); - - /** - * The layer type. - * @protected - * @type {import("../LayerType.js").default} - */ - this.type = _LayerType_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].TILE; - - } - - if ( Layer ) TileLayer.__proto__ = Layer; - TileLayer.prototype = Object.create( Layer && Layer.prototype ); - TileLayer.prototype.constructor = TileLayer; - - /** - * Return the level as number to which we will preload tiles up to. - * @return {number} The level to preload tiles up to. - * @observable - * @api - */ - TileLayer.prototype.getPreload = function getPreload () { - return /** @type {number} */ (this.get(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].PRELOAD)); - }; - - /** - * Set the level as number to which we will preload tiles up to. - * @param {number} preload The level to preload tiles up to. - * @observable - * @api - */ - TileLayer.prototype.setPreload = function setPreload (preload) { - this.set(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].PRELOAD, preload); - }; - - /** - * Whether we use interim tiles on error. - * @return {boolean} Use interim tiles on error. - * @observable - * @api - */ - TileLayer.prototype.getUseInterimTilesOnError = function getUseInterimTilesOnError () { - return /** @type {boolean} */ (this.get(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].USE_INTERIM_TILES_ON_ERROR)); - }; - - /** - * Set whether we use interim tiles on error. - * @param {boolean} useInterimTilesOnError Use interim tiles on error. - * @observable - * @api - */ - TileLayer.prototype.setUseInterimTilesOnError = function setUseInterimTilesOnError (useInterimTilesOnError) { - this.set(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); - }; - - return TileLayer; -}(_Layer_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); - - -/** - * Return the associated {@link module:ol/source/Tile tilesource} of the layer. - * @function - * @return {import("../source/Tile.js").default} Source. - * @api - */ -TileLayer.prototype.getSource; - - -/* harmony default export */ __webpack_exports__["a"] = (TileLayer); - -//# sourceMappingURL=Tile.js.map - -/***/ }), -/* 84 */ +/* 76 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* unused harmony export ATTRIBUTION */ -/* harmony import */ var _XYZ_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80); +/* harmony import */ var _XYZ_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(73); /** * @module ol/source/OSM */ @@ -21084,18 +20537,17 @@ var OSM = /*@__PURE__*/(function (XYZ) { //# sourceMappingURL=OSM.js.map /***/ }), -/* 85 */ +/* 77 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27); -/* harmony import */ var _asserts_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _TileProperty_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); -/* harmony import */ var _Vector_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79); -/* harmony import */ var _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(42); -/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9); +/* harmony import */ var _LayerType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29); +/* harmony import */ var _Layer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40); +/* harmony import */ var _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(70); +/* harmony import */ var _obj_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); +/* harmony import */ var _style_Style_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(46); /** - * @module ol/layer/VectorTile + * @module ol/layer/Vector */ @@ -21104,7 +20556,6 @@ var OSM = /*@__PURE__*/(function (XYZ) { - /** * @typedef {Object} Options * @property {number} [opacity=1] Opacity (0, 1). @@ -21122,153 +20573,246 @@ var OSM = /*@__PURE__*/(function (XYZ) { * @property {import("../render.js").OrderFunction} [renderOrder] Render order. Function to be used when sorting * features before rendering. By default features are drawn in the order that they are created. Use * `null` to avoid the sort, but get an undefined draw order. - * @property {number} [renderBuffer=100] The buffer in pixels around the tile extent used by the - * renderer when getting features from the vector tile for the rendering or hit-detection. - * Recommended value: Vector tiles are usually generated with a buffer, so this value should match - * the largest possible buffer of the used tiles. It should be at least the size of the largest - * point symbol or line width. - * @property {import("./VectorTileRenderType.js").default|string} [renderMode='hybrid'] Render mode for vector tiles: - * * `'image'`: Vector tiles are rendered as images. Great performance, but point symbols and texts - * are always rotated with the view and pixels are scaled during zoom animations. - * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels are scaled during zoom - * animations. Point symbols and texts are accurately rendered as vectors and can stay upright on - * rotated views. - * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering even during - * animations, but slower performance than the other options. - * - * When `declutter` is set to `true`, `'hybrid'` will be used instead of `'image'`. - * @property {import("../source/VectorTile.js").default} [source] Source. + * @property {number} [renderBuffer=100] The buffer in pixels around the viewport extent used by the + * renderer when getting features from the vector source for the rendering or hit-detection. + * Recommended value: the size of the largest symbol, line width or label. + * @property {import("./VectorRenderType.js").default|string} [renderMode='vector'] Render mode for vector layers: + * * `'image'`: Vector layers are rendered as images. Great performance, but point symbols and + * texts are always rotated with the view and pixels are scaled during zoom animations. + * * `'vector'`: Vector layers are rendered as vectors. Most accurate rendering even during + * animations, but slower performance. + * @property {import("../source/Vector.js").default} [source] Source. * @property {import("../PluggableMap.js").default} [map] Sets the layer as overlay on a map. The map will not manage * this layer in its layers collection, and the layer will be rendered on top. This is useful for * temporary layers. The standard way to add a layer to a map and have it managed by the map is to * use {@link module:ol/Map#addLayer}. * @property {boolean} [declutter=false] Declutter images and text. Decluttering is applied to all * image and text styles, and the priority is defined by the z-index of the style. Lower z-index - * means higher priority. When set to `true`, a `renderMode` of `'image'` will be overridden with - * `'hybrid'`. + * means higher priority. * @property {import("../style/Style.js").StyleLike} [style] Layer style. See * {@link module:ol/style} for default style which will be used if this is not defined. - * @property {boolean} [updateWhileAnimating=false] When set to `true`, feature batches will be - * recreated during animations. This means that no vectors will be shown clipped, but the setting - * will have a performance impact for large amounts of vector data. When set to `false`, batches - * will be recreated when no animation is active. - * @property {boolean} [updateWhileInteracting=false] When set to `true`, feature batches will be - * recreated during interactions. See also `updateWhileAnimating`. - * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0` - * means no preloading. - * @property {import("../render.js").OrderFunction} [renderOrder] Render order. Function to be used when sorting - * features before rendering. By default features are drawn in the order that they are created. - * @property {import("../style/Style.js").StyleLike} [style] Layer style. See - * {@link module:ol/style} for default style which will be used if this is not defined. - * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error. + * @property {boolean} [updateWhileAnimating=false] When set to `true` and `renderMode` + * is `vector`, feature batches will be recreated during animations. This means that no + * vectors will be shown clipped, but the setting will have a performance impact for large + * amounts of vector data. When set to `false`, batches will be recreated when no animation + * is active. + * @property {boolean} [updateWhileInteracting=false] When set to `true` and `renderMode` + * is `vector`, feature batches will be recreated during interactions. See also + * `updateWhileAnimating`. */ +/** + * @enum {string} + * @private + */ +var Property = { + RENDER_ORDER: 'renderOrder' +}; + + /** * @classdesc - * Layer for vector tile data that is rendered client-side. + * Vector data that is rendered client-side. * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject} * property on the layer object; for example, setting `title: 'My Title'` in the * options means that `title` is observable, and has get/set accessors. * - * @param {Options=} opt_options Options. * @api */ -var VectorTileLayer = /*@__PURE__*/(function (VectorLayer) { - function VectorTileLayer(opt_options) { - var options = opt_options ? opt_options : {}; +var VectorLayer = /*@__PURE__*/(function (Layer) { + function VectorLayer(opt_options) { + var options = opt_options ? + opt_options : /** @type {Options} */ ({}); - var renderMode = options.renderMode || _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].HYBRID; - Object(_asserts_js__WEBPACK_IMPORTED_MODULE_1__[/* assert */ "a"])(renderMode == undefined || - renderMode == _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].IMAGE || - renderMode == _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].HYBRID || - renderMode == _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].VECTOR, - 28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'` - if (options.declutter && renderMode == _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].IMAGE) { - renderMode = _VectorTileRenderType_js__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].HYBRID; - } - options.renderMode = renderMode; + var baseOptions = Object(_obj_js__WEBPACK_IMPORTED_MODULE_3__[/* assign */ "a"])({}, options); - var baseOptions = /** @type {Object} */ (Object(_obj_js__WEBPACK_IMPORTED_MODULE_5__[/* assign */ "a"])({}, options)); - delete baseOptions.preload; - delete baseOptions.useInterimTilesOnError; + delete baseOptions.style; + delete baseOptions.renderBuffer; + delete baseOptions.updateWhileAnimating; + delete baseOptions.updateWhileInteracting; + Layer.call(this, baseOptions); - VectorLayer.call(/** @type {import("./Vector.js").Options} */ this, (baseOptions)); + /** + * @private + * @type {boolean} + */ + this.declutter_ = options.declutter !== undefined ? options.declutter : false; - this.setPreload(options.preload ? options.preload : 0); - this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined ? - options.useInterimTilesOnError : true); + /** + * @type {number} + * @private + */ + this.renderBuffer_ = options.renderBuffer !== undefined ? + options.renderBuffer : 100; + + /** + * User provided style. + * @type {import("../style/Style.js").StyleLike} + * @private + */ + this.style_ = null; + + /** + * Style function for use within the library. + * @type {import("../style/Style.js").StyleFunction|undefined} + * @private + */ + this.styleFunction_ = undefined; + + this.setStyle(options.style); + + /** + * @type {boolean} + * @private + */ + this.updateWhileAnimating_ = options.updateWhileAnimating !== undefined ? + options.updateWhileAnimating : false; + + /** + * @type {boolean} + * @private + */ + this.updateWhileInteracting_ = options.updateWhileInteracting !== undefined ? + options.updateWhileInteracting : false; + + /** + * @private + * @type {import("./VectorTileRenderType.js").default|string} + */ + this.renderMode_ = options.renderMode || _VectorRenderType_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].VECTOR; /** * The layer type. * @protected * @type {import("../LayerType.js").default} */ - this.type = _LayerType_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].VECTOR_TILE; + this.type = _LayerType_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].VECTOR; } - if ( VectorLayer ) VectorTileLayer.__proto__ = VectorLayer; - VectorTileLayer.prototype = Object.create( VectorLayer && VectorLayer.prototype ); - VectorTileLayer.prototype.constructor = VectorTileLayer; + if ( Layer ) VectorLayer.__proto__ = Layer; + VectorLayer.prototype = Object.create( Layer && Layer.prototype ); + VectorLayer.prototype.constructor = VectorLayer; /** - * Return the level as number to which we will preload tiles up to. - * @return {number} The level to preload tiles up to. - * @observable - * @api + * @return {boolean} Declutter. */ - VectorTileLayer.prototype.getPreload = function getPreload () { - return /** @type {number} */ (this.get(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].PRELOAD)); + VectorLayer.prototype.getDeclutter = function getDeclutter () { + return this.declutter_; }; /** - * Whether we use interim tiles on error. - * @return {boolean} Use interim tiles on error. - * @observable - * @api + * @param {boolean} declutter Declutter. */ - VectorTileLayer.prototype.getUseInterimTilesOnError = function getUseInterimTilesOnError () { - return /** @type {boolean} */ (this.get(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].USE_INTERIM_TILES_ON_ERROR)); + VectorLayer.prototype.setDeclutter = function setDeclutter (declutter) { + this.declutter_ = declutter; }; /** - * Set the level as number to which we will preload tiles up to. - * @param {number} preload The level to preload tiles up to. - * @observable - * @api + * @return {number|undefined} Render buffer. */ - VectorTileLayer.prototype.setPreload = function setPreload (preload) { - this.set(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].PRELOAD, preload); + VectorLayer.prototype.getRenderBuffer = function getRenderBuffer () { + return this.renderBuffer_; }; /** - * Set whether we use interim tiles on error. - * @param {boolean} useInterimTilesOnError Use interim tiles on error. - * @observable - * @api + * @return {function(import("../Feature.js").default, import("../Feature.js").default): number|null|undefined} Render + * order. */ - VectorTileLayer.prototype.setUseInterimTilesOnError = function setUseInterimTilesOnError (useInterimTilesOnError) { - this.set(_TileProperty_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); + VectorLayer.prototype.getRenderOrder = function getRenderOrder () { + return ( + /** @type {import("../render.js").OrderFunction|null|undefined} */ (this.get(Property.RENDER_ORDER)) + ); }; - return VectorTileLayer; -}(_Vector_js__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])); + /** + * Get the style for features. This returns whatever was passed to the `style` + * option at construction or to the `setStyle` method. + * @return {import("../style/Style.js").StyleLike} + * Layer style. + * @api + */ + VectorLayer.prototype.getStyle = function getStyle () { + return this.style_; + }; + + /** + * Get the style function. + * @return {import("../style/Style.js").StyleFunction|undefined} Layer style function. + * @api + */ + VectorLayer.prototype.getStyleFunction = function getStyleFunction () { + return this.styleFunction_; + }; + + /** + * @return {boolean} Whether the rendered layer should be updated while + * animating. + */ + VectorLayer.prototype.getUpdateWhileAnimating = function getUpdateWhileAnimating () { + return this.updateWhileAnimating_; + }; + + /** + * @return {boolean} Whether the rendered layer should be updated while + * interacting. + */ + VectorLayer.prototype.getUpdateWhileInteracting = function getUpdateWhileInteracting () { + return this.updateWhileInteracting_; + }; + + /** + * @param {import("../render.js").OrderFunction|null|undefined} renderOrder + * Render order. + */ + VectorLayer.prototype.setRenderOrder = function setRenderOrder (renderOrder) { + this.set(Property.RENDER_ORDER, renderOrder); + }; + + /** + * Set the style for features. This can be a single style object, an array + * of styles, or a function that takes a feature and resolution and returns + * an array of styles. If it is `undefined` the default style is used. If + * it is `null` the layer has no style (a `null` style), so only features + * that have their own styles will be rendered in the layer. See + * {@link module:ol/style} for information on the default style. + * @param {import("../style/Style.js").default|Array|import("../style/Style.js").StyleFunction|null|undefined} style Layer style. + * @api + */ + VectorLayer.prototype.setStyle = function setStyle (style) { + this.style_ = style !== undefined ? style : _style_Style_js__WEBPACK_IMPORTED_MODULE_4__[/* createDefaultStyle */ "a"]; + this.styleFunction_ = style === null ? + undefined : Object(_style_Style_js__WEBPACK_IMPORTED_MODULE_4__[/* toFunction */ "c"])(this.style_); + this.changed(); + }; + + /** + * @return {import("./VectorRenderType.js").default|string} The render mode. + */ + VectorLayer.prototype.getRenderMode = function getRenderMode () { + return this.renderMode_; + }; + + return VectorLayer; +}(_Layer_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])); /** - * Return the associated {@link module:ol/source/VectorTile vectortilesource} of the layer. + * Return the associated {@link module:ol/source/Vector vectorsource} of the layer. * @function - * @return {import("../source/VectorTile.js").default} Source. + * @return {import("../source/Vector.js").default} Source. * @api */ -VectorTileLayer.prototype.getSource; -/* harmony default export */ __webpack_exports__["a"] = (VectorTileLayer); +VectorLayer.prototype.getSource; -//# sourceMappingURL=VectorTile.js.map + +/* harmony default export */ __webpack_exports__["a"] = (VectorLayer); + +//# sourceMappingURL=Vector.js.map /***/ }), -/* 86 */ +/* 78 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -21277,13 +20821,13 @@ VectorTileLayer.prototype.getSource; var util = __webpack_require__(1); // EXTERNAL MODULE: ./node_modules/ol/Collection.js -var Collection = __webpack_require__(33); +var Collection = __webpack_require__(27); // EXTERNAL MODULE: ./node_modules/ol/CollectionEventType.js -var CollectionEventType = __webpack_require__(30); +var CollectionEventType = __webpack_require__(26); // EXTERNAL MODULE: ./node_modules/ol/events/Event.js -var Event = __webpack_require__(25); +var Event = __webpack_require__(21); // CONCATENATED MODULE: ./node_modules/ol/MapEvent.js /** @@ -21413,7 +20957,7 @@ var MapBrowserEvent = /*@__PURE__*/(function (MapEvent) { var has = __webpack_require__(17); // EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); +var EventType = __webpack_require__(4); // CONCATENATED MODULE: ./node_modules/ol/MapBrowserEventType.js /** @@ -21507,7 +21051,7 @@ var MapBrowserPointerEvent = /*@__PURE__*/(function (MapBrowserEvent) { var ol_events = __webpack_require__(2); // EXTERNAL MODULE: ./node_modules/ol/events/Target.js -var Target = __webpack_require__(37); +var Target = __webpack_require__(36); // CONCATENATED MODULE: ./node_modules/ol/pointer/EventType.js /** @@ -23619,7 +23163,7 @@ var MapBrowserEventHandler_MapBrowserEventHandler = /*@__PURE__*/(function (Even //# sourceMappingURL=MapBrowserEventHandler.js.map // EXTERNAL MODULE: ./node_modules/ol/MapEventType.js -var MapEventType = __webpack_require__(61); +var MapEventType = __webpack_require__(57); // CONCATENATED MODULE: ./node_modules/ol/MapProperty.js /** @@ -23638,16 +23182,16 @@ var MapEventType = __webpack_require__(61); //# sourceMappingURL=MapProperty.js.map // EXTERNAL MODULE: ./node_modules/ol/render/EventType.js -var render_EventType = __webpack_require__(31); +var render_EventType = __webpack_require__(30); // EXTERNAL MODULE: ./node_modules/ol/Object.js var ol_Object = __webpack_require__(16); // EXTERNAL MODULE: ./node_modules/ol/ObjectEventType.js -var ObjectEventType = __webpack_require__(54); +var ObjectEventType = __webpack_require__(42); // EXTERNAL MODULE: ./node_modules/ol/TileState.js -var TileState = __webpack_require__(3); +var TileState = __webpack_require__(7); // EXTERNAL MODULE: ./node_modules/ol/asserts.js var asserts = __webpack_require__(10); @@ -24065,25 +23609,25 @@ var TileQueue_TileQueue = /*@__PURE__*/(function (PriorityQueue) { //# sourceMappingURL=TileQueue.js.map // EXTERNAL MODULE: ./node_modules/ol/View.js + 3 modules -var View = __webpack_require__(76); +var View = __webpack_require__(71); // EXTERNAL MODULE: ./node_modules/ol/ViewHint.js var ViewHint = __webpack_require__(12); // EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); +var dom = __webpack_require__(15); // EXTERNAL MODULE: ./node_modules/ol/extent.js var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/functions.js -var functions = __webpack_require__(15); +var functions = __webpack_require__(14); // EXTERNAL MODULE: ./node_modules/ol/layer/Base.js -var Base = __webpack_require__(72); +var Base = __webpack_require__(69); // EXTERNAL MODULE: ./node_modules/ol/source/State.js -var State = __webpack_require__(43); +var State = __webpack_require__(37); // CONCATENATED MODULE: ./node_modules/ol/layer/Group.js /** @@ -24331,7 +23875,7 @@ var Group_LayerGroup = /*@__PURE__*/(function (BaseLayer) { //# sourceMappingURL=Group.js.map // EXTERNAL MODULE: ./node_modules/ol/size.js -var ol_size = __webpack_require__(28); +var ol_size = __webpack_require__(33); // EXTERNAL MODULE: ./node_modules/ol/transform.js var ol_transform = __webpack_require__(8); @@ -25784,7 +25328,7 @@ function getLoading(layers) { //# sourceMappingURL=PluggableMap.js.map // EXTERNAL MODULE: ./node_modules/ol/control/util.js + 4 modules -var control_util = __webpack_require__(81); +var control_util = __webpack_require__(74); // CONCATENATED MODULE: ./node_modules/ol/Kinetic.js /** @@ -25909,7 +25453,7 @@ Kinetic.prototype.getAngle = function getAngle () { //# sourceMappingURL=Kinetic.js.map // EXTERNAL MODULE: ./node_modules/ol/easing.js -var easing = __webpack_require__(21); +var easing = __webpack_require__(22); // CONCATENATED MODULE: ./node_modules/ol/interaction/Property.js /** @@ -25925,7 +25469,7 @@ var easing = __webpack_require__(21); //# sourceMappingURL=Property.js.map // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/interaction/Interaction.js /** @@ -26259,7 +25803,7 @@ function DoubleClickZoom_handleEvent(mapBrowserEvent) { //# sourceMappingURL=DoubleClickZoom.js.map // EXTERNAL MODULE: ./node_modules/ol/coordinate.js + 1 modules -var ol_coordinate = __webpack_require__(40); +var ol_coordinate = __webpack_require__(39); // CONCATENATED MODULE: ./node_modules/ol/events/condition.js /** @@ -26924,7 +26468,7 @@ var DragPan_DragPan = /*@__PURE__*/(function (PointerInteraction) { //# sourceMappingURL=DragPan.js.map // EXTERNAL MODULE: ./node_modules/ol/rotationconstraint.js -var rotationconstraint = __webpack_require__(47); +var rotationconstraint = __webpack_require__(45); // CONCATENATED MODULE: ./node_modules/ol/interaction/DragRotate.js /** @@ -27058,10 +26602,10 @@ var DragRotate_DragRotate = /*@__PURE__*/(function (PointerInteraction) { //# sourceMappingURL=DragRotate.js.map // EXTERNAL MODULE: ./node_modules/ol/Disposable.js -var ol_Disposable = __webpack_require__(60); +var ol_Disposable = __webpack_require__(55); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(57); +var Polygon = __webpack_require__(52); // CONCATENATED MODULE: ./node_modules/ol/render/Box.js /** @@ -28619,7 +28163,7 @@ function defaults(opt_options) { //# sourceMappingURL=interaction.js.map // EXTERNAL MODULE: ./node_modules/ol/reproj/common.js -var common = __webpack_require__(34); +var common = __webpack_require__(32); // CONCATENATED MODULE: ./node_modules/ol/ImageBase.js /** @@ -28827,16 +28371,16 @@ var ImageCanvas_ImageCanvas = /*@__PURE__*/(function (ImageBase) { //# sourceMappingURL=ImageCanvas.js.map // EXTERNAL MODULE: ./node_modules/ol/LayerType.js -var LayerType = __webpack_require__(27); +var LayerType = __webpack_require__(29); // EXTERNAL MODULE: ./node_modules/ol/layer/VectorRenderType.js -var VectorRenderType = __webpack_require__(73); +var VectorRenderType = __webpack_require__(70); // EXTERNAL MODULE: ./node_modules/ol/css.js -var css = __webpack_require__(24); +var css = __webpack_require__(25); // EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js -var Layer = __webpack_require__(41); +var Layer = __webpack_require__(40); // CONCATENATED MODULE: ./node_modules/ol/render/Event.js /** @@ -28893,19 +28437,19 @@ var RenderEvent = /*@__PURE__*/(function (Event) { //# sourceMappingURL=Event.js.map // EXTERNAL MODULE: ./node_modules/ol/render/canvas.js -var render_canvas = __webpack_require__(4); +var render_canvas = __webpack_require__(3); // EXTERNAL MODULE: ./node_modules/ol/colorlike.js -var colorlike = __webpack_require__(32); +var colorlike = __webpack_require__(31); // EXTERNAL MODULE: ./node_modules/ol/geom/GeometryType.js -var GeometryType = __webpack_require__(6); +var GeometryType = __webpack_require__(5); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var SimpleGeometry = __webpack_require__(44); +var SimpleGeometry = __webpack_require__(41); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/transform.js -var flat_transform = __webpack_require__(29); +var flat_transform = __webpack_require__(28); // CONCATENATED MODULE: ./node_modules/ol/render/VectorContext.js /** @@ -30652,7 +30196,7 @@ var Map_CanvasMapRenderer = /*@__PURE__*/(function (MapRenderer) { //# sourceMappingURL=Map.js.map // EXTERNAL MODULE: ./node_modules/ol/Observable.js -var ol_Observable = __webpack_require__(67); +var ol_Observable = __webpack_require__(63); // CONCATENATED MODULE: ./node_modules/ol/renderer/Layer.js /** @@ -31450,7 +30994,7 @@ ImageLayer_CanvasImageLayerRenderer['create'] = function(mapRenderer, layer) { //# sourceMappingURL=ImageLayer.js.map // EXTERNAL MODULE: ./node_modules/ol/TileRange.js -var TileRange = __webpack_require__(59); +var TileRange = __webpack_require__(54); // CONCATENATED MODULE: ./node_modules/ol/renderer/canvas/TileLayer.js /** @@ -31858,7 +31402,7 @@ TileLayer_CanvasTileLayerRenderer.prototype.getLayer; //# sourceMappingURL=TileLayer.js.map // EXTERNAL MODULE: ./node_modules/rbush/index.js -var rbush = __webpack_require__(74); +var rbush = __webpack_require__(56); var rbush_default = /*#__PURE__*/__webpack_require__.n(rbush); // CONCATENATED MODULE: ./node_modules/ol/render/ReplayGroup.js @@ -31915,13 +31459,13 @@ ReplayGroup_ReplayGroup.prototype.addDeclutter = function addDeclutter (group) { //# sourceMappingURL=ReplayType.js.map // EXTERNAL MODULE: ./node_modules/ol/extent/Relationship.js -var Relationship = __webpack_require__(22); +var Relationship = __webpack_require__(23); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(45); +var inflate = __webpack_require__(43); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/length.js -var flat_length = __webpack_require__(71); +var flat_length = __webpack_require__(68); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/textpath.js /** @@ -33526,7 +33070,7 @@ var LineStringReplay_CanvasLineStringReplay = /*@__PURE__*/(function (CanvasRepl //# sourceMappingURL=LineStringReplay.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(53); +var simplify = __webpack_require__(49); // CONCATENATED MODULE: ./node_modules/ol/render/canvas/PolygonReplay.js /** @@ -33796,7 +33340,7 @@ function matchingChunk(maxAngle, flatCoordinates, offset, end, stride) { //# sourceMappingURL=straightchunk.js.map // EXTERNAL MODULE: ./node_modules/ol/style/TextPlacement.js -var TextPlacement = __webpack_require__(65); +var TextPlacement = __webpack_require__(62); // CONCATENATED MODULE: ./node_modules/ol/render/canvas/TextReplay.js /** @@ -35604,14 +35148,36 @@ VectorLayer_CanvasVectorLayerRenderer['create'] = function(mapRenderer, layer) { /* harmony default export */ var VectorLayer = (VectorLayer_CanvasVectorLayerRenderer); //# sourceMappingURL=VectorLayer.js.map -// EXTERNAL MODULE: ./node_modules/ol/layer/VectorTileRenderType.js -var VectorTileRenderType = __webpack_require__(42); +// CONCATENATED MODULE: ./node_modules/ol/layer/VectorTileRenderType.js +/** + * @module ol/layer/VectorTileRenderType + */ +/** + * @enum {string} + * Render mode for vector tiles: + * * `'image'`: Vector tiles are rendered as images. Great performance, but + * point symbols and texts are always rotated with the view and pixels are + * scaled during zoom animations. + * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels + * are scaled during zoom animations. Point symbols and texts are accurately + * rendered as vectors and can stay upright on rotated views. + * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering + * even during animations, but slower performance than the other options. + * @api + */ +/* harmony default export */ var VectorTileRenderType = ({ + IMAGE: 'image', + HYBRID: 'hybrid', + VECTOR: 'vector' +}); + +//# sourceMappingURL=VectorTileRenderType.js.map // EXTERNAL MODULE: ./node_modules/ol/proj.js + 5 modules var proj = __webpack_require__(13); // EXTERNAL MODULE: ./node_modules/ol/proj/Units.js -var Units = __webpack_require__(23); +var Units = __webpack_require__(24); // CONCATENATED MODULE: ./node_modules/ol/renderer/canvas/VectorTileLayer.js /** @@ -35695,9 +35261,9 @@ var VectorTileLayer_CanvasVectorTileLayerRenderer = /*@__PURE__*/(function (Canv var renderMode = layer.getRenderMode(); // Use lower resolution for pure vector rendering. Closest resolution otherwise. - this.zDirection = renderMode === VectorTileRenderType["a" /* default */].VECTOR ? 1 : 0; + this.zDirection = renderMode === VectorTileRenderType.VECTOR ? 1 : 0; - if (renderMode !== VectorTileRenderType["a" /* default */].VECTOR) { + if (renderMode !== VectorTileRenderType.VECTOR) { this.context = Object(dom["a" /* createCanvasContext2D */])(); } @@ -35944,7 +35510,7 @@ var VectorTileLayer_CanvasVectorTileLayerRenderer = /*@__PURE__*/(function (Canv CanvasVectorTileLayerRenderer.prototype.postCompose = function postCompose (context, frameState, layerState) { var layer = /** @type {import("../../layer/Vector.js").default} */ (this.getLayer()); var renderMode = layer.getRenderMode(); - if (renderMode != VectorTileRenderType["a" /* default */].IMAGE) { + if (renderMode != VectorTileRenderType.IMAGE) { var declutterReplays = layer.getDeclutter() ? {} : null; var source = /** @type {import("../../source/VectorTile.js").default} */ (layer.getSource()); var replayTypes = VECTOR_REPLAYS[renderMode]; @@ -36223,7 +35789,7 @@ var Map_Map = /*@__PURE__*/(function (PluggableMap) { //# sourceMappingURL=Map.js.map /***/ }), -/* 87 */ +/* 79 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -36238,7 +35804,7 @@ var asserts = __webpack_require__(10); var events = __webpack_require__(2); // EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); +var EventType = __webpack_require__(4); // EXTERNAL MODULE: ./node_modules/ol/Object.js var ol_Object = __webpack_require__(16); @@ -36831,7 +36397,7 @@ function transformWithOptions(geometry, write, opt_options) { //# sourceMappingURL=Feature.js.map // EXTERNAL MODULE: ./node_modules/ol/format/FormatType.js -var FormatType = __webpack_require__(55); +var FormatType = __webpack_require__(50); // CONCATENATED MODULE: ./node_modules/ol/xml.js /** @@ -37612,22 +37178,22 @@ var GeometryLayout = __webpack_require__(18); var ol_extent = __webpack_require__(0); // EXTERNAL MODULE: ./node_modules/ol/geom/GeometryType.js -var GeometryType = __webpack_require__(6); +var GeometryType = __webpack_require__(5); // EXTERNAL MODULE: ./node_modules/ol/geom/SimpleGeometry.js + 1 modules -var geom_SimpleGeometry = __webpack_require__(44); +var geom_SimpleGeometry = __webpack_require__(41); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/closest.js -var closest = __webpack_require__(50); +var closest = __webpack_require__(47); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/deflate.js -var deflate = __webpack_require__(52); +var deflate = __webpack_require__(48); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/inflate.js -var inflate = __webpack_require__(45); +var inflate = __webpack_require__(43); // EXTERNAL MODULE: ./node_modules/ol/math.js -var math = __webpack_require__(7); +var math = __webpack_require__(6); // CONCATENATED MODULE: ./node_modules/ol/geom/flat/interpolate.js /** @@ -37810,16 +37376,16 @@ function lineStringsCoordinateAtM( //# sourceMappingURL=interpolate.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/flat/intersectsextent.js -var intersectsextent = __webpack_require__(69); +var intersectsextent = __webpack_require__(66); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/length.js -var flat_length = __webpack_require__(71); +var flat_length = __webpack_require__(68); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/segments.js -var segments = __webpack_require__(70); +var segments = __webpack_require__(67); // EXTERNAL MODULE: ./node_modules/ol/geom/flat/simplify.js -var simplify = __webpack_require__(53); +var simplify = __webpack_require__(49); // CONCATENATED MODULE: ./node_modules/ol/geom/LineString.js /** @@ -38068,10 +37634,10 @@ var LineString_LineString = /*@__PURE__*/(function (SimpleGeometry) { //# sourceMappingURL=LineString.js.map // EXTERNAL MODULE: ./node_modules/ol/geom/Point.js -var Point = __webpack_require__(68); +var Point = __webpack_require__(65); // EXTERNAL MODULE: ./node_modules/ol/geom/Polygon.js + 5 modules -var Polygon = __webpack_require__(57); +var Polygon = __webpack_require__(52); // CONCATENATED MODULE: ./node_modules/ol/format/OSMXML.js /** @@ -38265,37 +37831,46 @@ function readTag(node, objectStack) { //# sourceMappingURL=OSMXML.js.map /***/ }), -/* 88 */ +/* 80 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// EXTERNAL MODULE: ./node_modules/ol/TileState.js -var TileState = __webpack_require__(3); - // EXTERNAL MODULE: ./node_modules/ol/util.js var util = __webpack_require__(1); -// EXTERNAL MODULE: ./node_modules/ol/Tile.js -var ol_Tile = __webpack_require__(51); +// EXTERNAL MODULE: ./node_modules/ol/Collection.js +var Collection = __webpack_require__(27); -// EXTERNAL MODULE: ./node_modules/ol/dom.js -var dom = __webpack_require__(14); +// EXTERNAL MODULE: ./node_modules/ol/CollectionEventType.js +var CollectionEventType = __webpack_require__(26); + +// EXTERNAL MODULE: ./node_modules/ol/ObjectEventType.js +var ObjectEventType = __webpack_require__(42); + +// EXTERNAL MODULE: ./node_modules/ol/array.js +var array = __webpack_require__(11); + +// EXTERNAL MODULE: ./node_modules/ol/asserts.js +var asserts = __webpack_require__(10); // EXTERNAL MODULE: ./node_modules/ol/events.js var events = __webpack_require__(2); +// EXTERNAL MODULE: ./node_modules/ol/events/Event.js +var Event = __webpack_require__(21); + +// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js +var EventType = __webpack_require__(4); + // EXTERNAL MODULE: ./node_modules/ol/extent.js var ol_extent = __webpack_require__(0); -// EXTERNAL MODULE: ./node_modules/ol/events/EventType.js -var EventType = __webpack_require__(5); - // EXTERNAL MODULE: ./node_modules/ol/functions.js -var functions = __webpack_require__(15); +var functions = __webpack_require__(14); // EXTERNAL MODULE: ./node_modules/ol/format/FormatType.js -var FormatType = __webpack_require__(55); +var FormatType = __webpack_require__(50); // CONCATENATED MODULE: ./node_modules/ol/featureloader.js /** @@ -38431,574 +38006,305 @@ function featureloader_xhr(url, format) { } //# sourceMappingURL=featureloader.js.map -// CONCATENATED MODULE: ./node_modules/ol/VectorImageTile.js +// EXTERNAL MODULE: ./node_modules/ol/loadingstrategy.js +var loadingstrategy = __webpack_require__(58); + +// EXTERNAL MODULE: ./node_modules/ol/obj.js +var ol_obj = __webpack_require__(9); + +// EXTERNAL MODULE: ./node_modules/ol/source/Source.js +var source_Source = __webpack_require__(64); + +// EXTERNAL MODULE: ./node_modules/ol/source/State.js +var State = __webpack_require__(37); + +// CONCATENATED MODULE: ./node_modules/ol/source/VectorEventType.js /** - * @module ol/VectorImageTile + * @module ol/source/VectorEventType + */ + +/** + * @enum {string} + */ +/* harmony default export */ var VectorEventType = ({ + /** + * Triggered when a feature is added to the source. + * @event ol/source/Vector.VectorSourceEvent#addfeature + * @api + */ + ADDFEATURE: 'addfeature', + + /** + * Triggered when a feature is updated. + * @event ol/source/Vector.VectorSourceEvent#changefeature + * @api + */ + CHANGEFEATURE: 'changefeature', + + /** + * Triggered when the clear method is called on the source. + * @event ol/source/Vector.VectorSourceEvent#clear + * @api + */ + CLEAR: 'clear', + + /** + * Triggered when a feature is removed from the source. + * See {@link module:ol/source/Vector#clear source.clear()} for exceptions. + * @event ol/source/Vector.VectorSourceEvent#removefeature + * @api + */ + REMOVEFEATURE: 'removefeature' +}); + +//# sourceMappingURL=VectorEventType.js.map +// EXTERNAL MODULE: ./node_modules/rbush/index.js +var rbush = __webpack_require__(56); +var rbush_default = /*#__PURE__*/__webpack_require__.n(rbush); + +// CONCATENATED MODULE: ./node_modules/ol/structs/RBush.js +/** + * @module ol/structs/RBush */ - - - - - - /** - * @typedef {Object} ReplayState - * @property {boolean} dirty - * @property {null|import("./render.js").OrderFunction} renderedRenderOrder - * @property {number} renderedTileRevision - * @property {number} renderedRevision + * @typedef {Object} Entry + * @property {number} minX + * @property {number} minY + * @property {number} maxX + * @property {number} maxY + * @property {Object} [value] */ - -var VectorImageTile_VectorImageTile = /*@__PURE__*/(function (Tile) { - function VectorImageTile(tileCoord, state, sourceRevision, format, tileLoadFunction, - urlTileCoord, tileUrlFunction, sourceTileGrid, tileGrid, sourceTiles, - pixelRatio, projection, tileClass, handleTileChange, zoom) { - - Tile.call(this, tileCoord, state, {transition: 0}); - - /** - * @private - * @type {!Object} - */ - this.context_ = {}; - - /** - * @private - * @type {import("./featureloader.js").FeatureLoader} - */ - this.loader_; - - /** - * @private - * @type {!Object} - */ - this.replayState_ = {}; - - /** - * @private - * @type {Object} - */ - this.sourceTiles_ = sourceTiles; - - /** - * Keys of source tiles used by this tile. Use with {@link #getTile}. - * @type {Array} - */ - this.tileKeys = []; - - /** - * @type {import("./extent.js").Extent} - */ - this.extent = null; - - /** - * @type {number} - */ - this.sourceRevision_ = sourceRevision; - - /** - * @type {import("./tilecoord.js").TileCoord} - */ - this.wrappedTileCoord = urlTileCoord; - - /** - * @type {Array} - */ - this.loadListenerKeys_ = []; - - /** - * @type {Array} - */ - this.sourceTileListenerKeys_ = []; - - if (urlTileCoord) { - var extent = this.extent = tileGrid.getTileCoordExtent(urlTileCoord); - var resolution = tileGrid.getResolution(zoom); - var sourceZ = sourceTileGrid.getZForResolution(resolution); - var useLoadedOnly = zoom != tileCoord[0]; - var loadCount = 0; - sourceTileGrid.forEachTileCoord(extent, sourceZ, function(sourceTileCoord) { - var sharedExtent = Object(ol_extent["B" /* getIntersection */])(extent, - sourceTileGrid.getTileCoordExtent(sourceTileCoord)); - var sourceExtent = sourceTileGrid.getExtent(); - if (sourceExtent) { - sharedExtent = Object(ol_extent["B" /* getIntersection */])(sharedExtent, sourceExtent, sharedExtent); - } - if (Object(ol_extent["E" /* getWidth */])(sharedExtent) / resolution >= 0.5 && - Object(ol_extent["A" /* getHeight */])(sharedExtent) / resolution >= 0.5) { - // only include source tile if overlap is at least 1 pixel - ++loadCount; - var sourceTileKey = sourceTileCoord.toString(); - var sourceTile = sourceTiles[sourceTileKey]; - if (!sourceTile && !useLoadedOnly) { - var tileUrl = tileUrlFunction(sourceTileCoord, pixelRatio, projection); - sourceTile = sourceTiles[sourceTileKey] = new tileClass(sourceTileCoord, - tileUrl == undefined ? TileState["a" /* default */].EMPTY : TileState["a" /* default */].IDLE, - tileUrl == undefined ? '' : tileUrl, - format, tileLoadFunction); - this.sourceTileListenerKeys_.push( - Object(events["a" /* listen */])(sourceTile, EventType["a" /* default */].CHANGE, handleTileChange)); - } - if (sourceTile && (!useLoadedOnly || sourceTile.getState() == TileState["a" /* default */].LOADED)) { - sourceTile.consumers++; - this.tileKeys.push(sourceTileKey); - } - } - }.bind(this)); - - if (useLoadedOnly && loadCount == this.tileKeys.length) { - this.finishLoading_(); - } - - if (zoom <= tileCoord[0] && this.state != TileState["a" /* default */].LOADED) { - while (zoom > tileGrid.getMinZoom()) { - var tile = new VectorImageTile(tileCoord, state, sourceRevision, - format, tileLoadFunction, urlTileCoord, tileUrlFunction, - sourceTileGrid, tileGrid, sourceTiles, pixelRatio, projection, - tileClass, functions["c" /* VOID */], --zoom); - if (tile.state == TileState["a" /* default */].LOADED) { - this.interimTile = tile; - break; - } - } - } - } - - } - - if ( Tile ) VectorImageTile.__proto__ = Tile; - VectorImageTile.prototype = Object.create( Tile && Tile.prototype ); - VectorImageTile.prototype.constructor = VectorImageTile; - - /** - * @inheritDoc - */ - VectorImageTile.prototype.disposeInternal = function disposeInternal () { - this.state = TileState["a" /* default */].ABORT; - this.changed(); - if (this.interimTile) { - this.interimTile.dispose(); - } - - for (var i = 0, ii = this.tileKeys.length; i < ii; ++i) { - var sourceTileKey = this.tileKeys[i]; - var sourceTile = this.getTile(sourceTileKey); - sourceTile.consumers--; - if (sourceTile.consumers == 0) { - delete this.sourceTiles_[sourceTileKey]; - sourceTile.dispose(); - } - } - this.tileKeys.length = 0; - this.sourceTiles_ = null; - this.loadListenerKeys_.forEach(events["e" /* unlistenByKey */]); - this.loadListenerKeys_.length = 0; - this.sourceTileListenerKeys_.forEach(events["e" /* unlistenByKey */]); - this.sourceTileListenerKeys_.length = 0; - Tile.prototype.disposeInternal.call(this); - }; - - /** - * @param {import("./layer/Layer.js").default} layer Layer. - * @return {CanvasRenderingContext2D} The rendering context. - */ - VectorImageTile.prototype.getContext = function getContext (layer) { - var key = Object(util["c" /* getUid */])(layer); - if (!(key in this.context_)) { - this.context_[key] = Object(dom["a" /* createCanvasContext2D */])(); - } - return this.context_[key]; - }; - - /** - * Get the Canvas for this tile. - * @param {import("./layer/Layer.js").default} layer Layer. - * @return {HTMLCanvasElement} Canvas. - */ - VectorImageTile.prototype.getImage = function getImage (layer) { - return this.getReplayState(layer).renderedTileRevision == -1 ? - null : this.getContext(layer).canvas; - }; - - /** - * @param {import("./layer/Layer.js").default} layer Layer. - * @return {ReplayState} The replay state. - */ - VectorImageTile.prototype.getReplayState = function getReplayState (layer) { - var key = Object(util["c" /* getUid */])(layer); - if (!(key in this.replayState_)) { - this.replayState_[key] = { - dirty: false, - renderedRenderOrder: null, - renderedRevision: -1, - renderedTileRevision: -1 - }; - } - return this.replayState_[key]; - }; - - /** - * @inheritDoc - */ - VectorImageTile.prototype.getKey = function getKey () { - return this.tileKeys.join('/') + '-' + this.sourceRevision_; - }; - - /** - * @param {string} tileKey Key (tileCoord) of the source tile. - * @return {import("./VectorTile.js").default} Source tile. - */ - VectorImageTile.prototype.getTile = function getTile (tileKey) { - return this.sourceTiles_[tileKey]; - }; - - /** - * @inheritDoc - */ - VectorImageTile.prototype.load = function load () { - // Source tiles with LOADED state - we just count them because once they are - // loaded, we're no longer listening to state changes. - var leftToLoad = 0; - // Source tiles with ERROR state - we track them because they can still have - // an ERROR state after another load attempt. - var errorSourceTiles = {}; - - if (this.state == TileState["a" /* default */].IDLE) { - this.setState(TileState["a" /* default */].LOADING); - } - if (this.state == TileState["a" /* default */].LOADING) { - this.tileKeys.forEach(function(sourceTileKey) { - var sourceTile = this.getTile(sourceTileKey); - if (sourceTile.state == TileState["a" /* default */].IDLE) { - sourceTile.setLoader(this.loader_); - sourceTile.load(); - } - if (sourceTile.state == TileState["a" /* default */].LOADING) { - var key = Object(events["a" /* listen */])(sourceTile, EventType["a" /* default */].CHANGE, function(e) { - var state = sourceTile.getState(); - if (state == TileState["a" /* default */].LOADED || - state == TileState["a" /* default */].ERROR) { - var uid = Object(util["c" /* getUid */])(sourceTile); - if (state == TileState["a" /* default */].ERROR) { - errorSourceTiles[uid] = true; - } else { - --leftToLoad; - delete errorSourceTiles[uid]; - } - if (leftToLoad - Object.keys(errorSourceTiles).length == 0) { - this.finishLoading_(); - } - } - }.bind(this)); - this.loadListenerKeys_.push(key); - ++leftToLoad; - } - }.bind(this)); - } - if (leftToLoad - Object.keys(errorSourceTiles).length == 0) { - setTimeout(this.finishLoading_.bind(this), 0); - } - }; +/** + * @classdesc + * Wrapper around the RBush by Vladimir Agafonkin. + * See https://github.com/mourner/rbush. + * + * @template T + */ +var RBush_RBush = function RBush(opt_maxEntries) { /** * @private */ - VectorImageTile.prototype.finishLoading_ = function finishLoading_ () { - var loaded = this.tileKeys.length; - var empty = 0; - for (var i = loaded - 1; i >= 0; --i) { - var state = this.getTile(this.tileKeys[i]).getState(); - if (state != TileState["a" /* default */].LOADED) { - --loaded; - } - if (state == TileState["a" /* default */].EMPTY) { - ++empty; - } - } - if (loaded == this.tileKeys.length) { - this.loadListenerKeys_.forEach(events["e" /* unlistenByKey */]); - this.loadListenerKeys_.length = 0; - this.setState(TileState["a" /* default */].LOADED); - } else { - this.setState(empty == this.tileKeys.length ? TileState["a" /* default */].EMPTY : TileState["a" /* default */].ERROR); - } + this.rbush_ = rbush_default()(opt_maxEntries, undefined); + + /** + * A mapping between the objects added to this rbush wrapper + * and the objects that are actually added to the internal rbush. + * @private + * @type {Object} + */ + this.items_ = {}; + +}; + +/** + * Insert a value into the RBush. + * @param {import("../extent.js").Extent} extent Extent. + * @param {T} value Value. + */ +RBush_RBush.prototype.insert = function insert (extent, value) { + /** @type {Entry} */ + var item = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3], + value: value }; - return VectorImageTile; -}(ol_Tile["a" /* default */])); - - -/* harmony default export */ var ol_VectorImageTile = (VectorImageTile_VectorImageTile); - -/** - * Sets the loader for a tile. - * @param {import("./VectorTile.js").default} tile Vector tile. - * @param {string} url URL. - */ -function defaultLoadFunction(tile, url) { - var loader = loadFeaturesXhr(url, tile.getFormat(), tile.onLoad.bind(tile), tile.onError.bind(tile)); - tile.setLoader(loader); -} - -//# sourceMappingURL=VectorImageTile.js.map -// CONCATENATED MODULE: ./node_modules/ol/VectorTile.js -/** - * @module ol/VectorTile - */ - - + this.rbush_.insert(item); + this.items_[Object(util["c" /* getUid */])(value)] = item; +}; /** - * @const - * @type {import("./extent.js").Extent} + * Bulk-insert values into the RBush. + * @param {Array} extents Extents. + * @param {Array} values Values. */ -var DEFAULT_EXTENT = [0, 0, 4096, 4096]; - - -var VectorTile_VectorTile = /*@__PURE__*/(function (Tile) { - function VectorTile(tileCoord, state, src, format, tileLoadFunction, opt_options) { - - Tile.call(this, tileCoord, state, opt_options); - - /** - * @type {number} - */ - this.consumers = 0; - - /** - * @private - * @type {import("./extent.js").Extent} - */ - this.extent_ = null; - - /** - * @private - * @type {import("./format/Feature.js").default} - */ - this.format_ = format; - - /** - * @private - * @type {Array} - */ - this.features_ = null; - - /** - * @private - * @type {import("./featureloader.js").FeatureLoader} - */ - this.loader_; - - /** - * Data projection - * @private - * @type {import("./proj/Projection.js").default} - */ - this.projection_ = null; - - /** - * @private - * @type {Object} - */ - this.replayGroups_ = {}; - - /** - * @private - * @type {import("./Tile.js").LoadFunction} - */ - this.tileLoadFunction_ = tileLoadFunction; - - /** - * @private - * @type {string} - */ - this.url_ = src; +RBush_RBush.prototype.load = function load (extents, values) { + var items = new Array(values.length); + for (var i = 0, l = values.length; i < l; i++) { + var extent = extents[i]; + var value = values[i]; + /** @type {Entry} */ + var item = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3], + value: value + }; + items[i] = item; + this.items_[Object(util["c" /* getUid */])(value)] = item; } + this.rbush_.load(items); +}; - if ( Tile ) VectorTile.__proto__ = Tile; - VectorTile.prototype = Object.create( Tile && Tile.prototype ); - VectorTile.prototype.constructor = VectorTile; - /** - * @inheritDoc - */ - VectorTile.prototype.disposeInternal = function disposeInternal () { - this.features_ = null; - this.replayGroups_ = {}; - this.state = TileState["a" /* default */].ABORT; - this.changed(); - Tile.prototype.disposeInternal.call(this); - }; - - /** - * Gets the extent of the vector tile. - * @return {import("./extent.js").Extent} The extent. - * @api - */ - VectorTile.prototype.getExtent = function getExtent () { - return this.extent_ || DEFAULT_EXTENT; - }; - - /** - * Get the feature format assigned for reading this tile's features. - * @return {import("./format/Feature.js").default} Feature format. - * @api - */ - VectorTile.prototype.getFormat = function getFormat () { - return this.format_; - }; - - /** - * Get the features for this tile. Geometries will be in the projection returned - * by {@link module:ol/VectorTile~VectorTile#getProjection}. - * @return {Array} Features. - * @api - */ - VectorTile.prototype.getFeatures = function getFeatures () { - return this.features_; - }; - - /** - * @inheritDoc - */ - VectorTile.prototype.getKey = function getKey () { - return this.url_; - }; - - /** - * Get the feature projection of features returned by - * {@link module:ol/VectorTile~VectorTile#getFeatures}. - * @return {import("./proj/Projection.js").default} Feature projection. - * @api - */ - VectorTile.prototype.getProjection = function getProjection () { - return this.projection_; - }; - - /** - * @param {import("./layer/Layer.js").default} layer Layer. - * @param {string} key Key. - * @return {import("./render/ReplayGroup.js").default} Replay group. - */ - VectorTile.prototype.getReplayGroup = function getReplayGroup (layer, key) { - return this.replayGroups_[Object(util["c" /* getUid */])(layer) + ',' + key]; - }; - - /** - * @inheritDoc - */ - VectorTile.prototype.load = function load () { - if (this.state == TileState["a" /* default */].IDLE) { - this.setState(TileState["a" /* default */].LOADING); - this.tileLoadFunction_(this, this.url_); - this.loader_(null, NaN, null); - } - }; - - /** - * Handler for successful tile load. - * @param {Array} features The loaded features. - * @param {import("./proj/Projection.js").default} dataProjection Data projection. - * @param {import("./extent.js").Extent} extent Extent. - */ - VectorTile.prototype.onLoad = function onLoad (features, dataProjection, extent) { - this.setProjection(dataProjection); - this.setFeatures(features); - this.setExtent(extent); - }; - - /** - * Handler for tile load errors. - */ - VectorTile.prototype.onError = function onError () { - this.setState(TileState["a" /* default */].ERROR); - }; - - /** - * Function for use in an {@link module:ol/source/VectorTile~VectorTile}'s - * `tileLoadFunction`. Sets the extent of the vector tile. This is only required - * for tiles in projections with `tile-pixels` as units. The extent should be - * set to `[0, 0, tilePixelSize, tilePixelSize]`, where `tilePixelSize` is - * calculated by multiplying the tile size with the tile pixel ratio. For - * sources using {@link module:ol/format/MVT~MVT} as feature format, the - * {@link module:ol/format/MVT~MVT#getLastExtent} method will return the correct - * extent. The default is `[0, 0, 4096, 4096]`. - * @param {import("./extent.js").Extent} extent The extent. - * @api - */ - VectorTile.prototype.setExtent = function setExtent (extent) { - this.extent_ = extent; - }; - - /** - * Function for use in an {@link module:ol/source/VectorTile~VectorTile}'s `tileLoadFunction`. - * Sets the features for the tile. - * @param {Array} features Features. - * @api - */ - VectorTile.prototype.setFeatures = function setFeatures (features) { - this.features_ = features; - this.setState(TileState["a" /* default */].LOADED); - }; - - /** - * Function for use in an {@link module:ol/source/VectorTile~VectorTile}'s `tileLoadFunction`. - * Sets the projection of the features that were added with - * {@link module:ol/VectorTile~VectorTile#setFeatures}. - * @param {import("./proj/Projection.js").default} projection Feature projection. - * @api - */ - VectorTile.prototype.setProjection = function setProjection (projection) { - this.projection_ = projection; - }; - - /** - * @param {import("./layer/Layer.js").default} layer Layer. - * @param {string} key Key. - * @param {import("./render/ReplayGroup.js").default} replayGroup Replay group. - */ - VectorTile.prototype.setReplayGroup = function setReplayGroup (layer, key, replayGroup) { - this.replayGroups_[Object(util["c" /* getUid */])(layer) + ',' + key] = replayGroup; - }; - - /** - * Set the feature loader for reading this tile's features. - * @param {import("./featureloader.js").FeatureLoader} loader Feature loader. - * @api - */ - VectorTile.prototype.setLoader = function setLoader (loader) { - this.loader_ = loader; - }; - - return VectorTile; -}(ol_Tile["a" /* default */])); - -/* harmony default export */ var ol_VectorTile = (VectorTile_VectorTile); - -//# sourceMappingURL=VectorTile.js.map -// EXTERNAL MODULE: ./node_modules/ol/size.js -var size = __webpack_require__(28); - -// EXTERNAL MODULE: ./node_modules/ol/source/UrlTile.js + 4 modules -var source_UrlTile = __webpack_require__(75); - -// EXTERNAL MODULE: ./node_modules/ol/tilecoord.js -var tilecoord = __webpack_require__(26); - -// EXTERNAL MODULE: ./node_modules/ol/tilegrid.js + 1 modules -var tilegrid = __webpack_require__(39); - -// CONCATENATED MODULE: ./node_modules/ol/source/VectorTile.js /** - * @module ol/source/VectorTile + * Remove a value from the RBush. + * @param {T} value Value. + * @return {boolean} Removed. + */ +RBush_RBush.prototype.remove = function remove (value) { + var uid = Object(util["c" /* getUid */])(value); + + // get the object in which the value was wrapped when adding to the + // internal rbush. then use that object to do the removal. + var item = this.items_[uid]; + delete this.items_[uid]; + return this.rbush_.remove(item) !== null; +}; + + +/** + * Update the extent of a value in the RBush. + * @param {import("../extent.js").Extent} extent Extent. + * @param {T} value Value. + */ +RBush_RBush.prototype.update = function update (extent, value) { + var item = this.items_[Object(util["c" /* getUid */])(value)]; + var bbox = [item.minX, item.minY, item.maxX, item.maxY]; + if (!Object(ol_extent["p" /* equals */])(bbox, extent)) { + this.remove(value); + this.insert(extent, value); + } +}; + + +/** + * Return all values in the RBush. + * @return {Array} All. + */ +RBush_RBush.prototype.getAll = function getAll () { + var items = this.rbush_.all(); + return items.map(function(item) { + return item.value; + }); +}; + + +/** + * Return all values in the given extent. + * @param {import("../extent.js").Extent} extent Extent. + * @return {Array} All in extent. + */ +RBush_RBush.prototype.getInExtent = function getInExtent (extent) { + /** @type {Entry} */ + var bbox = { + minX: extent[0], + minY: extent[1], + maxX: extent[2], + maxY: extent[3] + }; + var items = this.rbush_.search(bbox); + return items.map(function(item) { + return item.value; + }); +}; + + +/** + * Calls a callback function with each value in the tree. + * If the callback returns a truthy value, this value is returned without + * checking the rest of the tree. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @return {*} Callback return value. + * @template S + */ +RBush_RBush.prototype.forEach = function forEach (callback, opt_this) { + return this.forEach_(this.getAll(), callback, opt_this); +}; + + +/** + * Calls a callback function with each value in the provided extent. + * @param {import("../extent.js").Extent} extent Extent. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @return {*} Callback return value. + * @template S + */ +RBush_RBush.prototype.forEachInExtent = function forEachInExtent (extent, callback, opt_this) { + return this.forEach_(this.getInExtent(extent), callback, opt_this); +}; + + +/** + * @param {Array} values Values. + * @param {function(this: S, T): *} callback Callback. + * @param {S=} opt_this The object to use as `this` in `callback`. + * @private + * @return {*} Callback return value. + * @template S + */ +RBush_RBush.prototype.forEach_ = function forEach_ (values, callback, opt_this) { + var result; + for (var i = 0, l = values.length; i < l; i++) { + result = callback.call(opt_this, values[i]); + if (result) { + return result; + } + } + return result; +}; + + +/** + * @return {boolean} Is empty. + */ +RBush_RBush.prototype.isEmpty = function isEmpty$1 () { + return Object(ol_obj["d" /* isEmpty */])(this.items_); +}; + + +/** + * Remove all values from the RBush. + */ +RBush_RBush.prototype.clear = function clear () { + this.rbush_.clear(); + this.items_ = {}; +}; + + +/** + * @param {import("../extent.js").Extent=} opt_extent Extent. + * @return {import("../extent.js").Extent} Extent. + */ +RBush_RBush.prototype.getExtent = function getExtent (opt_extent) { + var data = this.rbush_.toJSON(); + return Object(ol_extent["k" /* createOrUpdate */])(data.minX, data.minY, data.maxX, data.maxY, opt_extent); +}; + + +/** + * @param {RBush} rbush R-Tree. + */ +RBush_RBush.prototype.concat = function concat (rbush) { + this.rbush_.load(rbush.rbush_.all()); + for (var i in rbush.items_) { + this.items_[i] = rbush.items_[i]; + } +}; + + +/* harmony default export */ var structs_RBush = (RBush_RBush); + +//# sourceMappingURL=RBush.js.map +// CONCATENATED MODULE: ./node_modules/ol/source/Vector.js +/* unused harmony export VectorSourceEvent */ +/** + * @module ol/source/Vector */ @@ -39009,107 +38315,176 @@ var tilegrid = __webpack_require__(39); + + + + + + + + + + + /** - * @typedef {Object} Options - * @property {import("./Source.js").AttributionLike} [attributions] Attributions. - * @property {number} [cacheSize=128] Cache size. - * @property {import("../extent.js").Extent} [extent] - * @property {import("../format/Feature.js").default} [format] Feature format for tiles. Used and required by the default. - * @property {boolean} [overlaps=true] This source may have overlapping geometries. Setting this - * to `false` (e.g. for sources with polygons that represent administrative - * boundaries or TopoJSON sources) allows the renderer to optimise fill and - * stroke operations. - * @property {import("../proj.js").ProjectionLike} projection Projection. - * @property {import("./State.js").default} [state] Source state. - * @property {typeof import("../VectorTile.js").default} [tileClass] Class used to instantiate image tiles. - * Default is {@link module:ol/VectorTile}. - * @property {number} [maxZoom=22] Optional max zoom level. - * @property {number} [minZoom] Optional min zoom level. - * @property {number|import("../size.js").Size} [tileSize=512] Optional tile size. - * @property {import("../tilegrid/TileGrid.js").default} [tileGrid] Tile grid. - * @property {import("../Tile.js").LoadFunction} [tileLoadFunction] - * Optional function to load a tile given a URL. Could look like this: - * ```js - * function(tile, url) { - * tile.setLoader(function() { - * var data = // ... fetch data - * var format = tile.getFormat(); - * tile.setProjection(format.readProjection(data)); - * tile.setFeatures(format.readFeatures(data, { - * // featureProjection is not required for ol/format/MVT - * featureProjection: map.getView().getProjection() - * })); - * // the line below is only required for ol/format/MVT - * tile.setExtent(format.getLastExtent()); - * } - * }); - * ``` - * @property {import("../Tile.js").UrlFunction} [tileUrlFunction] Optional function to get tile URL given a tile coordinate and the projection. - * @property {string} [url] URL template. Must include `{x}`, `{y}` or `{-y}`, and `{z}` placeholders. - * A `{?-?}` template pattern, for example `subdomain{a-f}.domain.com`, may be - * used instead of defining each one separately in the `urls` option. - * @property {number} [transition] A duration for tile opacity - * transitions in milliseconds. A duration of 0 disables the opacity transition. - * @property {Array} [urls] An array of URL templates. - * @property {boolean} [wrapX=true] Whether to wrap the world horizontally. - * When set to `false`, only one world - * will be rendered. When set to `true`, tiles will be wrapped horizontally to - * render multiple worlds. + * A function that takes an {@link module:ol/extent~Extent} and a resolution as arguments, and + * returns an array of {@link module:ol/extent~Extent} with the extents to load. Usually this + * is one of the standard {@link module:ol/loadingstrategy} strategies. + * + * @typedef {function(import("../extent.js").Extent, number): Array} LoadingStrategy + * @api */ /** * @classdesc - * Class for layer sources providing vector data divided into a tile grid, to be - * used with {@link module:ol/layer/VectorTile~VectorTile}. Although this source receives tiles - * with vector features from the server, it is not meant for feature editing. - * Features are optimized for rendering, their geometries are clipped at or near - * tile boundaries and simplified for a view resolution. See - * {@link module:ol/source/Vector} for vector sources that are suitable for feature - * editing. + * Events emitted by {@link module:ol/source/Vector} instances are instances of this + * type. + */ +var VectorSourceEvent = /*@__PURE__*/(function (Event) { + function VectorSourceEvent(type, opt_feature) { + + Event.call(this, type); + + /** + * The feature being added or removed. + * @type {import("../Feature.js").default|undefined} + * @api + */ + this.feature = opt_feature; + + } + + if ( Event ) VectorSourceEvent.__proto__ = Event; + VectorSourceEvent.prototype = Object.create( Event && Event.prototype ); + VectorSourceEvent.prototype.constructor = VectorSourceEvent; + + return VectorSourceEvent; +}(Event["a" /* default */])); + + +/** + * @typedef {Object} Options + * @property {import("./Source.js").AttributionLike} [attributions] Attributions. + * @property {Array|Collection} [features] + * Features. If provided as {@link module:ol/Collection}, the features in the source + * and the collection will stay in sync. + * @property {import("../format/Feature.js").default} [format] The feature format used by the XHR + * feature loader when `url` is set. Required if `url` is set, otherwise ignored. + * @property {import("../featureloader.js").FeatureLoader} [loader] + * The loader function used to load features, from a remote source for example. + * If this is not set and `url` is set, the source will create and use an XHR + * feature loader. * - * @fires import("./Tile.js").TileSourceEvent + * Example: + * + * ```js + * import {Vector} from 'ol/source'; + * import {GeoJSON} from 'ol/format'; + * import {bbox} from 'ol/loadingstrategy'; + * + * var vectorSource = new Vector({ + * format: new GeoJSON(), + * loader: function(extent, resolution, projection) { + * var proj = projection.getCode(); + * var url = 'https://ahocevar.com/geoserver/wfs?service=WFS&' + + * 'version=1.1.0&request=GetFeature&typename=osm:water_areas&' + + * 'outputFormat=application/json&srsname=' + proj + '&' + + * 'bbox=' + extent.join(',') + ',' + proj; + * var xhr = new XMLHttpRequest(); + * xhr.open('GET', url); + * var onError = function() { + * vectorSource.removeLoadedExtent(extent); + * } + * xhr.onerror = onError; + * xhr.onload = function() { + * if (xhr.status == 200) { + * vectorSource.addFeatures( + * vectorSource.getFormat().readFeatures(xhr.responseText)); + * } else { + * onError(); + * } + * } + * xhr.send(); + * }, + * strategy: bbox + * }); + * ``` + * @property {boolean} [overlaps=true] This source may have overlapping geometries. + * Setting this to `false` (e.g. for sources with polygons that represent administrative + * boundaries or TopoJSON sources) allows the renderer to optimise fill and + * stroke operations. + * @property {LoadingStrategy} [strategy] The loading strategy to use. + * By default an {@link module:ol/loadingstrategy~all} + * strategy is used, a one-off strategy which loads all features at once. + * @property {string|import("../featureloader.js").FeatureUrlFunction} [url] + * Setting this option instructs the source to load features using an XHR loader + * (see {@link module:ol/featureloader~xhr}). Use a `string` and an + * {@link module:ol/loadingstrategy~all} for a one-off download of all features from + * the given URL. Use a {@link module:ol/featureloader~FeatureUrlFunction} to generate the url with + * other loading strategies. + * Requires `format` to be set as well. + * When default XHR feature loader is provided, the features will + * be transformed from the data projection to the view projection + * during parsing. If your remote data source does not advertise its projection + * properly, this transformation will be incorrect. For some formats, the + * default projection (usually EPSG:4326) can be overridden by setting the + * dataProjection constructor option on the format. + * Note that if a source contains non-feature data, such as a GeoJSON geometry + * or a KML NetworkLink, these will be ignored. Use a custom loader to load these. + * @property {boolean} [useSpatialIndex=true] + * By default, an RTree is used as spatial index. When features are removed and + * added frequently, and the total number of features is low, setting this to + * `false` may improve performance. + * + * Note that + * {@link module:ol/source/Vector~VectorSource#getFeaturesInExtent}, + * {@link module:ol/source/Vector~VectorSource#getClosestFeatureToCoordinate} and + * {@link module:ol/source/Vector~VectorSource#getExtent} cannot be used when `useSpatialIndex` is + * set to `false`, and {@link module:ol/source/Vector~VectorSource#forEachFeatureInExtent} will loop + * through all features. + * + * When set to `false`, the features will be maintained in an + * {@link module:ol/Collection}, which can be retrieved through + * {@link module:ol/source/Vector~VectorSource#getFeaturesCollection}. + * @property {boolean} [wrapX=true] Wrap the world horizontally. For vector editing across the + * -180° and 180° meridians to work properly, this should be set to `false`. The + * resulting geometry coordinates will then exceed the world bounds. + */ + + +/** + * @classdesc + * Provides a source of features for vector layers. Vector features provided + * by this source are suitable for editing. See {@link module:ol/source/VectorTile~VectorTile} for + * vector data that is optimized for rendering. + * + * @fires ol/source/Vector.VectorSourceEvent * @api */ -var source_VectorTile_VectorTile = /*@__PURE__*/(function (UrlTile) { - function VectorTile(options) { - var projection = options.projection || 'EPSG:3857'; +var Vector_VectorSource = /*@__PURE__*/(function (Source) { + function VectorSource(opt_options) { - var extent = options.extent || Object(tilegrid["c" /* extentFromProjection */])(projection); + var options = opt_options || {}; - var tileGrid = options.tileGrid || Object(tilegrid["b" /* createXYZ */])({ - extent: extent, - maxZoom: options.maxZoom || 22, - minZoom: options.minZoom, - tileSize: options.tileSize || 512 - }); - - UrlTile.call(this, { + Source.call(this, { attributions: options.attributions, - cacheSize: options.cacheSize !== undefined ? options.cacheSize : 128, - opaque: false, - projection: projection, - state: options.state, - tileGrid: tileGrid, - tileLoadFunction: options.tileLoadFunction ? options.tileLoadFunction : defaultLoadFunction, - tileUrlFunction: options.tileUrlFunction, - url: options.url, - urls: options.urls, - wrapX: options.wrapX === undefined ? true : options.wrapX, - transition: options.transition + projection: undefined, + state: State["a" /* default */].READY, + wrapX: options.wrapX !== undefined ? options.wrapX : true }); /** * @private - * @type {import("../format/Feature.js").default} + * @type {import("../featureloader.js").FeatureLoader} */ - this.format_ = options.format ? options.format : null; + this.loader_ = functions["c" /* VOID */]; /** - * @private - * @type {Object} - */ - this.sourceTiles_ = {}; + * @private + * @type {import("../format/Feature.js").default|undefined} + */ + this.format_ = options.format; /** * @private @@ -39118,147 +38493,1012 @@ var source_VectorTile_VectorTile = /*@__PURE__*/(function (UrlTile) { this.overlaps_ = options.overlaps == undefined ? true : options.overlaps; /** - * @protected - * @type {typeof import("../VectorTile.js").default} + * @private + * @type {string|import("../featureloader.js").FeatureUrlFunction|undefined} */ - this.tileClass = options.tileClass ? options.tileClass : ol_VectorTile; + this.url_ = options.url; + + if (options.loader !== undefined) { + this.loader_ = options.loader; + } else if (this.url_ !== undefined) { + Object(asserts["a" /* assert */])(this.format_, 7); // `format` must be set when `url` is set + // create a XHR feature loader for "url" and "format" + this.loader_ = featureloader_xhr(this.url_, /** @type {import("../format/Feature.js").default} */ (this.format_)); + } /** * @private - * @type {Object} + * @type {LoadingStrategy} */ - this.tileGrids_ = {}; + this.strategy_ = options.strategy !== undefined ? options.strategy : loadingstrategy["a" /* all */]; + + var useSpatialIndex = + options.useSpatialIndex !== undefined ? options.useSpatialIndex : true; + + /** + * @private + * @type {RBush} + */ + this.featuresRtree_ = useSpatialIndex ? new structs_RBush() : null; + + /** + * @private + * @type {RBush<{extent: import("../extent.js").Extent}>} + */ + this.loadedExtentsRtree_ = new structs_RBush(); + + /** + * @private + * @type {!Object} + */ + this.nullGeometryFeatures_ = {}; + + /** + * A lookup of features by id (the return from feature.getId()). + * @private + * @type {!Object} + */ + this.idIndex_ = {}; + + /** + * A lookup of features without id (keyed by getUid(feature)). + * @private + * @type {!Object} + */ + this.undefIdIndex_ = {}; + + /** + * @private + * @type {Object>} + */ + this.featureChangeKeys_ = {}; + + /** + * @private + * @type {Collection} + */ + this.featuresCollection_ = null; + + var collection, features; + if (Array.isArray(options.features)) { + features = options.features; + } else if (options.features) { + collection = options.features; + features = collection.getArray(); + } + if (!useSpatialIndex && collection === undefined) { + collection = new Collection["a" /* default */](features); + } + if (features !== undefined) { + this.addFeaturesInternal(features); + } + if (collection !== undefined) { + this.bindFeaturesCollection_(collection); + } } - if ( UrlTile ) VectorTile.__proto__ = UrlTile; - VectorTile.prototype = Object.create( UrlTile && UrlTile.prototype ); - VectorTile.prototype.constructor = VectorTile; + if ( Source ) VectorSource.__proto__ = Source; + VectorSource.prototype = Object.create( Source && Source.prototype ); + VectorSource.prototype.constructor = VectorSource; + + /** + * Add a single feature to the source. If you want to add a batch of features + * at once, call {@link module:ol/source/Vector~VectorSource#addFeatures #addFeatures()} + * instead. A feature will not be added to the source if feature with + * the same id is already there. The reason for this behavior is to avoid + * feature duplication when using bbox or tile loading strategies. + * @param {import("../Feature.js").default} feature Feature to add. + * @api + */ + VectorSource.prototype.addFeature = function addFeature (feature) { + this.addFeatureInternal(feature); + this.changed(); + }; + + + /** + * Add a feature without firing a `change` event. + * @param {import("../Feature.js").default} feature Feature. + * @protected + */ + VectorSource.prototype.addFeatureInternal = function addFeatureInternal (feature) { + var featureKey = Object(util["c" /* getUid */])(feature); + + if (!this.addToIndex_(featureKey, feature)) { + return; + } + + this.setupChangeEvents_(featureKey, feature); + + var geometry = feature.getGeometry(); + if (geometry) { + var extent = geometry.getExtent(); + if (this.featuresRtree_) { + this.featuresRtree_.insert(extent, feature); + } + } else { + this.nullGeometryFeatures_[featureKey] = feature; + } + + this.dispatchEvent( + new VectorSourceEvent(VectorEventType.ADDFEATURE, feature)); + }; + + + /** + * @param {string} featureKey Unique identifier for the feature. + * @param {import("../Feature.js").default} feature The feature. + * @private + */ + VectorSource.prototype.setupChangeEvents_ = function setupChangeEvents_ (featureKey, feature) { + this.featureChangeKeys_[featureKey] = [ + Object(events["a" /* listen */])(feature, EventType["a" /* default */].CHANGE, + this.handleFeatureChange_, this), + Object(events["a" /* listen */])(feature, ObjectEventType["a" /* default */].PROPERTYCHANGE, + this.handleFeatureChange_, this) + ]; + }; + + + /** + * @param {string} featureKey Unique identifier for the feature. + * @param {import("../Feature.js").default} feature The feature. + * @return {boolean} The feature is "valid", in the sense that it is also a + * candidate for insertion into the Rtree. + * @private + */ + VectorSource.prototype.addToIndex_ = function addToIndex_ (featureKey, feature) { + var valid = true; + var id = feature.getId(); + if (id !== undefined) { + if (!(id.toString() in this.idIndex_)) { + this.idIndex_[id.toString()] = feature; + } else { + valid = false; + } + } else { + Object(asserts["a" /* assert */])(!(featureKey in this.undefIdIndex_), + 30); // The passed `feature` was already added to the source + this.undefIdIndex_[featureKey] = feature; + } + return valid; + }; + + + /** + * Add a batch of features to the source. + * @param {Array} features Features to add. + * @api + */ + VectorSource.prototype.addFeatures = function addFeatures (features) { + this.addFeaturesInternal(features); + this.changed(); + }; + + + /** + * Add features without firing a `change` event. + * @param {Array} features Features. + * @protected + */ + VectorSource.prototype.addFeaturesInternal = function addFeaturesInternal (features) { + var extents = []; + var newFeatures = []; + var geometryFeatures = []; + + for (var i = 0, length = features.length; i < length; i++) { + var feature = features[i]; + var featureKey = Object(util["c" /* getUid */])(feature); + if (this.addToIndex_(featureKey, feature)) { + newFeatures.push(feature); + } + } + + for (var i$1 = 0, length$1 = newFeatures.length; i$1 < length$1; i$1++) { + var feature$1 = newFeatures[i$1]; + var featureKey$1 = Object(util["c" /* getUid */])(feature$1); + this.setupChangeEvents_(featureKey$1, feature$1); + + var geometry = feature$1.getGeometry(); + if (geometry) { + var extent = geometry.getExtent(); + extents.push(extent); + geometryFeatures.push(feature$1); + } else { + this.nullGeometryFeatures_[featureKey$1] = feature$1; + } + } + if (this.featuresRtree_) { + this.featuresRtree_.load(extents, geometryFeatures); + } + + for (var i$2 = 0, length$2 = newFeatures.length; i$2 < length$2; i$2++) { + this.dispatchEvent(new VectorSourceEvent(VectorEventType.ADDFEATURE, newFeatures[i$2])); + } + }; + + + /** + * @param {!Collection} collection Collection. + * @private + */ + VectorSource.prototype.bindFeaturesCollection_ = function bindFeaturesCollection_ (collection) { + var modifyingCollection = false; + Object(events["a" /* listen */])(this, VectorEventType.ADDFEATURE, + /** + * @param {VectorSourceEvent} evt The vector source event + */ + function(evt) { + if (!modifyingCollection) { + modifyingCollection = true; + collection.push(evt.feature); + modifyingCollection = false; + } + }); + Object(events["a" /* listen */])(this, VectorEventType.REMOVEFEATURE, + /** + * @param {VectorSourceEvent} evt The vector source event + */ + function(evt) { + if (!modifyingCollection) { + modifyingCollection = true; + collection.remove(evt.feature); + modifyingCollection = false; + } + }); + Object(events["a" /* listen */])(collection, CollectionEventType["a" /* default */].ADD, + /** + * @param {import("../Collection.js").CollectionEvent} evt The collection event + */ + function(evt) { + if (!modifyingCollection) { + modifyingCollection = true; + this.addFeature(/** @type {import("../Feature.js").default} */ (evt.element)); + modifyingCollection = false; + } + }, this); + Object(events["a" /* listen */])(collection, CollectionEventType["a" /* default */].REMOVE, + /** + * @param {import("../Collection.js").CollectionEvent} evt The collection event + */ + function(evt) { + if (!modifyingCollection) { + modifyingCollection = true; + this.removeFeature(/** @type {import("../Feature.js").default} */ (evt.element)); + modifyingCollection = false; + } + }, this); + this.featuresCollection_ = collection; + }; + + + /** + * Remove all features from the source. + * @param {boolean=} opt_fast Skip dispatching of {@link module:ol/source/Vector.VectorSourceEvent#removefeature} events. + * @api + */ + VectorSource.prototype.clear = function clear (opt_fast) { + if (opt_fast) { + for (var featureId in this.featureChangeKeys_) { + var keys = this.featureChangeKeys_[featureId]; + keys.forEach(events["e" /* unlistenByKey */]); + } + if (!this.featuresCollection_) { + this.featureChangeKeys_ = {}; + this.idIndex_ = {}; + this.undefIdIndex_ = {}; + } + } else { + if (this.featuresRtree_) { + this.featuresRtree_.forEach(this.removeFeatureInternal, this); + for (var id in this.nullGeometryFeatures_) { + this.removeFeatureInternal(this.nullGeometryFeatures_[id]); + } + } + } + if (this.featuresCollection_) { + this.featuresCollection_.clear(); + } + + if (this.featuresRtree_) { + this.featuresRtree_.clear(); + } + this.loadedExtentsRtree_.clear(); + this.nullGeometryFeatures_ = {}; + + var clearEvent = new VectorSourceEvent(VectorEventType.CLEAR); + this.dispatchEvent(clearEvent); + this.changed(); + }; + + + /** + * Iterate through all features on the source, calling the provided callback + * with each one. If the callback returns any "truthy" value, iteration will + * stop and the function will return the same value. + * Note: this function only iterate through the feature that have a defined geometry. + * + * @param {function(import("../Feature.js").default): T} callback Called with each feature + * on the source. Return a truthy value to stop iteration. + * @return {T|undefined} The return value from the last call to the callback. + * @template T + * @api + */ + VectorSource.prototype.forEachFeature = function forEachFeature (callback) { + if (this.featuresRtree_) { + return this.featuresRtree_.forEach(callback); + } else if (this.featuresCollection_) { + this.featuresCollection_.forEach(callback); + } + }; + + + /** + * Iterate through all features whose geometries contain the provided + * coordinate, calling the callback with each feature. If the callback returns + * a "truthy" value, iteration will stop and the function will return the same + * value. + * + * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. + * @param {function(import("../Feature.js").default): T} callback Called with each feature + * whose goemetry contains the provided coordinate. + * @return {T|undefined} The return value from the last call to the callback. + * @template T + */ + VectorSource.prototype.forEachFeatureAtCoordinateDirect = function forEachFeatureAtCoordinateDirect (coordinate, callback) { + var extent = [coordinate[0], coordinate[1], coordinate[0], coordinate[1]]; + return this.forEachFeatureInExtent(extent, function(feature) { + var geometry = feature.getGeometry(); + if (geometry.intersectsCoordinate(coordinate)) { + return callback(feature); + } else { + return undefined; + } + }); + }; + + + /** + * Iterate through all features whose bounding box intersects the provided + * extent (note that the feature's geometry may not intersect the extent), + * calling the callback with each feature. If the callback returns a "truthy" + * value, iteration will stop and the function will return the same value. + * + * If you are interested in features whose geometry intersects an extent, call + * the {@link module:ol/source/Vector~VectorSource#forEachFeatureIntersectingExtent #forEachFeatureIntersectingExtent()} method instead. + * + * When `useSpatialIndex` is set to false, this method will loop through all + * features, equivalent to {@link module:ol/source/Vector~VectorSource#forEachFeature #forEachFeature()}. + * + * @param {import("../extent.js").Extent} extent Extent. + * @param {function(import("../Feature.js").default): T} callback Called with each feature + * whose bounding box intersects the provided extent. + * @return {T|undefined} The return value from the last call to the callback. + * @template T + * @api + */ + VectorSource.prototype.forEachFeatureInExtent = function forEachFeatureInExtent (extent, callback) { + if (this.featuresRtree_) { + return this.featuresRtree_.forEachInExtent(extent, callback); + } else if (this.featuresCollection_) { + this.featuresCollection_.forEach(callback); + } + }; + + + /** + * Iterate through all features whose geometry intersects the provided extent, + * calling the callback with each feature. If the callback returns a "truthy" + * value, iteration will stop and the function will return the same value. + * + * If you only want to test for bounding box intersection, call the + * {@link module:ol/source/Vector~VectorSource#forEachFeatureInExtent #forEachFeatureInExtent()} method instead. + * + * @param {import("../extent.js").Extent} extent Extent. + * @param {function(import("../Feature.js").default): T} callback Called with each feature + * whose geometry intersects the provided extent. + * @return {T|undefined} The return value from the last call to the callback. + * @template T + * @api + */ + VectorSource.prototype.forEachFeatureIntersectingExtent = function forEachFeatureIntersectingExtent (extent, callback) { + return this.forEachFeatureInExtent(extent, + /** + * @param {import("../Feature.js").default} feature Feature. + * @return {T|undefined} The return value from the last call to the callback. + */ + function(feature) { + var geometry = feature.getGeometry(); + if (geometry.intersectsExtent(extent)) { + var result = callback(feature); + if (result) { + return result; + } + } + }); + }; + + + /** + * Get the features collection associated with this source. Will be `null` + * unless the source was configured with `useSpatialIndex` set to `false`, or + * with an {@link module:ol/Collection} as `features`. + * @return {Collection} The collection of features. + * @api + */ + VectorSource.prototype.getFeaturesCollection = function getFeaturesCollection () { + return this.featuresCollection_; + }; + + + /** + * Get all features on the source in random order. + * @return {Array} Features. + * @api + */ + VectorSource.prototype.getFeatures = function getFeatures () { + var features; + if (this.featuresCollection_) { + features = this.featuresCollection_.getArray(); + } else if (this.featuresRtree_) { + features = this.featuresRtree_.getAll(); + if (!Object(ol_obj["d" /* isEmpty */])(this.nullGeometryFeatures_)) { + Object(array["c" /* extend */])(features, Object(ol_obj["c" /* getValues */])(this.nullGeometryFeatures_)); + } + } + return ( + /** @type {Array} */ (features) + ); + }; + + + /** + * Get all features whose geometry intersects the provided coordinate. + * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. + * @return {Array} Features. + * @api + */ + VectorSource.prototype.getFeaturesAtCoordinate = function getFeaturesAtCoordinate (coordinate) { + var features = []; + this.forEachFeatureAtCoordinateDirect(coordinate, function(feature) { + features.push(feature); + }); + return features; + }; + + + /** + * Get all features in the provided extent. Note that this returns an array of + * all features intersecting the given extent in random order (so it may include + * features whose geometries do not intersect the extent). + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {import("../extent.js").Extent} extent Extent. + * @return {Array} Features. + * @api + */ + VectorSource.prototype.getFeaturesInExtent = function getFeaturesInExtent (extent) { + return this.featuresRtree_.getInExtent(extent); + }; + + + /** + * Get the closest feature to the provided coordinate. + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. + * @param {function(import("../Feature.js").default):boolean=} opt_filter Feature filter function. + * The filter function will receive one argument, the {@link module:ol/Feature feature} + * and it should return a boolean value. By default, no filtering is made. + * @return {import("../Feature.js").default} Closest feature. + * @api + */ + VectorSource.prototype.getClosestFeatureToCoordinate = function getClosestFeatureToCoordinate (coordinate, opt_filter) { + // Find the closest feature using branch and bound. We start searching an + // infinite extent, and find the distance from the first feature found. This + // becomes the closest feature. We then compute a smaller extent which any + // closer feature must intersect. We continue searching with this smaller + // extent, trying to find a closer feature. Every time we find a closer + // feature, we update the extent being searched so that any even closer + // feature must intersect it. We continue until we run out of features. + var x = coordinate[0]; + var y = coordinate[1]; + var closestFeature = null; + var closestPoint = [NaN, NaN]; + var minSquaredDistance = Infinity; + var extent = [-Infinity, -Infinity, Infinity, Infinity]; + var filter = opt_filter ? opt_filter : functions["b" /* TRUE */]; + this.featuresRtree_.forEachInExtent(extent, + /** + * @param {import("../Feature.js").default} feature Feature. + */ + function(feature) { + if (filter(feature)) { + var geometry = feature.getGeometry(); + var previousMinSquaredDistance = minSquaredDistance; + minSquaredDistance = geometry.closestPointXY( + x, y, closestPoint, minSquaredDistance); + if (minSquaredDistance < previousMinSquaredDistance) { + closestFeature = feature; + // This is sneaky. Reduce the extent that it is currently being + // searched while the R-Tree traversal using this same extent object + // is still in progress. This is safe because the new extent is + // strictly contained by the old extent. + var minDistance = Math.sqrt(minSquaredDistance); + extent[0] = x - minDistance; + extent[1] = y - minDistance; + extent[2] = x + minDistance; + extent[3] = y + minDistance; + } + } + }); + return closestFeature; + }; + + + /** + * Get the extent of the features currently in the source. + * + * This method is not available when the source is configured with + * `useSpatialIndex` set to `false`. + * @param {import("../extent.js").Extent=} opt_extent Destination extent. If provided, no new extent + * will be created. Instead, that extent's coordinates will be overwritten. + * @return {import("../extent.js").Extent} Extent. + * @api + */ + VectorSource.prototype.getExtent = function getExtent (opt_extent) { + return this.featuresRtree_.getExtent(opt_extent); + }; + + + /** + * Get a feature by its identifier (the value returned by feature.getId()). + * Note that the index treats string and numeric identifiers as the same. So + * `source.getFeatureById(2)` will return a feature with id `'2'` or `2`. + * + * @param {string|number} id Feature identifier. + * @return {import("../Feature.js").default} The feature (or `null` if not found). + * @api + */ + VectorSource.prototype.getFeatureById = function getFeatureById (id) { + var feature = this.idIndex_[id.toString()]; + return feature !== undefined ? feature : null; + }; + + + /** + * Get the format associated with this source. + * + * @return {import("../format/Feature.js").default|undefined} The feature format. + * @api + */ + VectorSource.prototype.getFormat = function getFormat () { + return this.format_; + }; + /** * @return {boolean} The source can have overlapping geometries. */ - VectorTile.prototype.getOverlaps = function getOverlaps () { + VectorSource.prototype.getOverlaps = function getOverlaps () { return this.overlaps_; }; + /** - * clear {@link module:ol/TileCache~TileCache} and delete all source tiles + * Get the url associated with this source. + * + * @return {string|import("../featureloader.js").FeatureUrlFunction|undefined} The url. * @api */ - VectorTile.prototype.clear = function clear () { - this.tileCache.clear(); - this.sourceTiles_ = {}; + VectorSource.prototype.getUrl = function getUrl () { + return this.url_; }; + /** - * @inheritDoc + * @param {Event} event Event. + * @private */ - VectorTile.prototype.getTile = function getTile (z, x, y, pixelRatio, projection) { - var tileCoordKey = Object(tilecoord["d" /* getKeyZXY */])(z, x, y); - if (this.tileCache.containsKey(tileCoordKey)) { - return ( - /** @type {!import("../Tile.js").default} */ (this.tileCache.get(tileCoordKey)) - ); + VectorSource.prototype.handleFeatureChange_ = function handleFeatureChange_ (event) { + var feature = /** @type {import("../Feature.js").default} */ (event.target); + var featureKey = Object(util["c" /* getUid */])(feature); + var geometry = feature.getGeometry(); + if (!geometry) { + if (!(featureKey in this.nullGeometryFeatures_)) { + if (this.featuresRtree_) { + this.featuresRtree_.remove(feature); + } + this.nullGeometryFeatures_[featureKey] = feature; + } } else { - var tileCoord = [z, x, y]; - var urlTileCoord = this.getTileCoordForTileUrlFunction( - tileCoord, projection); - var tile = new ol_VectorImageTile( - tileCoord, - urlTileCoord !== null ? TileState["a" /* default */].IDLE : TileState["a" /* default */].EMPTY, - this.getRevision(), - this.format_, this.tileLoadFunction, urlTileCoord, this.tileUrlFunction, - this.tileGrid, this.getTileGridForProjection(projection), - this.sourceTiles_, pixelRatio, projection, this.tileClass, - this.handleTileChange.bind(this), tileCoord[0]); + var extent = geometry.getExtent(); + if (featureKey in this.nullGeometryFeatures_) { + delete this.nullGeometryFeatures_[featureKey]; + if (this.featuresRtree_) { + this.featuresRtree_.insert(extent, feature); + } + } else { + if (this.featuresRtree_) { + this.featuresRtree_.update(extent, feature); + } + } + } + var id = feature.getId(); + if (id !== undefined) { + var sid = id.toString(); + if (featureKey in this.undefIdIndex_) { + delete this.undefIdIndex_[featureKey]; + this.idIndex_[sid] = feature; + } else { + if (this.idIndex_[sid] !== feature) { + this.removeFromIdIndex_(feature); + this.idIndex_[sid] = feature; + } + } + } else { + if (!(featureKey in this.undefIdIndex_)) { + this.removeFromIdIndex_(feature); + this.undefIdIndex_[featureKey] = feature; + } + } + this.changed(); + this.dispatchEvent(new VectorSourceEvent( + VectorEventType.CHANGEFEATURE, feature)); + }; - this.tileCache.set(tileCoordKey, tile); - return tile; + /** + * Returns true if the feature is contained within the source. + * @param {import("../Feature.js").default} feature Feature. + * @return {boolean} Has feature. + * @api + */ + VectorSource.prototype.hasFeature = function hasFeature (feature) { + var id = feature.getId(); + if (id !== undefined) { + return id in this.idIndex_; + } else { + return Object(util["c" /* getUid */])(feature) in this.undefIdIndex_; + } + }; + + /** + * @return {boolean} Is empty. + */ + VectorSource.prototype.isEmpty = function isEmpty$1 () { + return this.featuresRtree_.isEmpty() && Object(ol_obj["d" /* isEmpty */])(this.nullGeometryFeatures_); + }; + + + /** + * @param {import("../extent.js").Extent} extent Extent. + * @param {number} resolution Resolution. + * @param {import("../proj/Projection.js").default} projection Projection. + */ + VectorSource.prototype.loadFeatures = function loadFeatures (extent, resolution, projection) { + var this$1 = this; + + var loadedExtentsRtree = this.loadedExtentsRtree_; + var extentsToLoad = this.strategy_(extent, resolution); + this.loading = false; + var loop = function ( i, ii ) { + var extentToLoad = extentsToLoad[i]; + var alreadyLoaded = loadedExtentsRtree.forEachInExtent(extentToLoad, + /** + * @param {{extent: import("../extent.js").Extent}} object Object. + * @return {boolean} Contains. + */ + function(object) { + return Object(ol_extent["g" /* containsExtent */])(object.extent, extentToLoad); + }); + if (!alreadyLoaded) { + this$1.loader_.call(this$1, extentToLoad, resolution, projection); + loadedExtentsRtree.insert(extentToLoad, {extent: extentToLoad.slice()}); + this$1.loading = this$1.loader_ !== functions["c" /* VOID */]; + } + }; + + for (var i = 0, ii = extentsToLoad.length; i < ii; ++i) loop( i, ii ); + }; + + + /** + * Remove an extent from the list of loaded extents. + * @param {import("../extent.js").Extent} extent Extent. + * @api + */ + VectorSource.prototype.removeLoadedExtent = function removeLoadedExtent (extent) { + var loadedExtentsRtree = this.loadedExtentsRtree_; + var obj; + loadedExtentsRtree.forEachInExtent(extent, function(object) { + if (Object(ol_extent["p" /* equals */])(object.extent, extent)) { + obj = object; + return true; + } + }); + if (obj) { + loadedExtentsRtree.remove(obj); } }; /** - * @inheritDoc + * Remove a single feature from the source. If you want to remove all features + * at once, use the {@link module:ol/source/Vector~VectorSource#clear #clear()} method + * instead. + * @param {import("../Feature.js").default} feature Feature to remove. + * @api */ - VectorTile.prototype.getTileGridForProjection = function getTileGridForProjection (projection) { - var code = projection.getCode(); - var tileGrid = this.tileGrids_[code]; - if (!tileGrid) { - // A tile grid that matches the tile size of the source tile grid is more - // likely to have 1:1 relationships between source tiles and rendered tiles. - var sourceTileGrid = this.tileGrid; - tileGrid = this.tileGrids_[code] = Object(tilegrid["a" /* createForProjection */])(projection, undefined, - sourceTileGrid ? sourceTileGrid.getTileSize(sourceTileGrid.getMinZoom()) : undefined); + VectorSource.prototype.removeFeature = function removeFeature (feature) { + var featureKey = Object(util["c" /* getUid */])(feature); + if (featureKey in this.nullGeometryFeatures_) { + delete this.nullGeometryFeatures_[featureKey]; + } else { + if (this.featuresRtree_) { + this.featuresRtree_.remove(feature); + } } - return tileGrid; + this.removeFeatureInternal(feature); + this.changed(); }; /** - * @inheritDoc + * Remove feature without firing a `change` event. + * @param {import("../Feature.js").default} feature Feature. + * @protected */ - VectorTile.prototype.getTilePixelRatio = function getTilePixelRatio (pixelRatio) { - return pixelRatio; + VectorSource.prototype.removeFeatureInternal = function removeFeatureInternal (feature) { + var featureKey = Object(util["c" /* getUid */])(feature); + this.featureChangeKeys_[featureKey].forEach(events["e" /* unlistenByKey */]); + delete this.featureChangeKeys_[featureKey]; + var id = feature.getId(); + if (id !== undefined) { + delete this.idIndex_[id.toString()]; + } else { + delete this.undefIdIndex_[featureKey]; + } + this.dispatchEvent(new VectorSourceEvent( + VectorEventType.REMOVEFEATURE, feature)); }; /** - * @inheritDoc + * Remove a feature from the id index. Called internally when the feature id + * may have changed. + * @param {import("../Feature.js").default} feature The feature. + * @return {boolean} Removed the feature from the index. + * @private */ - VectorTile.prototype.getTilePixelSize = function getTilePixelSize (z, pixelRatio, projection) { - var tileGrid = this.getTileGridForProjection(projection); - var tileSize = Object(size["c" /* toSize */])(tileGrid.getTileSize(z), this.tmpSize); - return [Math.round(tileSize[0] * pixelRatio), Math.round(tileSize[1] * pixelRatio)]; + VectorSource.prototype.removeFromIdIndex_ = function removeFromIdIndex_ (feature) { + var removed = false; + for (var id in this.idIndex_) { + if (this.idIndex_[id] === feature) { + delete this.idIndex_[id]; + removed = true; + break; + } + } + return removed; }; - return VectorTile; -}(source_UrlTile["a" /* default */])); + + /** + * Set the new loader of the source. The next loadFeatures call will use the + * new loader. + * @param {import("../featureloader.js").FeatureLoader} loader The loader to set. + * @api + */ + VectorSource.prototype.setLoader = function setLoader (loader) { + this.loader_ = loader; + }; + + return VectorSource; +}(source_Source["a" /* default */])); -/* harmony default export */ var source_VectorTile = __webpack_exports__["a"] = (source_VectorTile_VectorTile); +/* harmony default export */ var Vector = __webpack_exports__["a"] = (Vector_VectorSource); -//# sourceMappingURL=VectorTile.js.map +//# sourceMappingURL=Vector.js.map /***/ }), +/* 81 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// EXTERNAL MODULE: ./node_modules/ol/LayerType.js +var LayerType = __webpack_require__(29); + +// EXTERNAL MODULE: ./node_modules/ol/layer/Layer.js +var layer_Layer = __webpack_require__(40); + +// CONCATENATED MODULE: ./node_modules/ol/layer/TileProperty.js +/** + * @module ol/layer/TileProperty + */ + +/** + * @enum {string} + */ +/* harmony default export */ var TileProperty = ({ + PRELOAD: 'preload', + USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError' +}); + +//# sourceMappingURL=TileProperty.js.map +// EXTERNAL MODULE: ./node_modules/ol/obj.js +var obj = __webpack_require__(9); + +// CONCATENATED MODULE: ./node_modules/ol/layer/Tile.js +/** + * @module ol/layer/Tile + */ + + + + + + +/** + * @typedef {Object} Options + * @property {number} [opacity=1] Opacity (0, 1). + * @property {boolean} [visible=true] Visibility. + * @property {import("../extent.js").Extent} [extent] The bounding extent for layer rendering. The layer will not be + * rendered outside of this extent. + * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers + * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed + * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()` + * method was used. + * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be + * visible. + * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will + * be visible. + * @property {number} [preload=0] Preload. Load low-resolution tiles up to `preload` levels. `0` + * means no preloading. + * @property {import("../source/Tile.js").default} [source] Source for this layer. + * @property {import("../PluggableMap.js").default} [map] Sets the layer as overlay on a map. The map will not manage + * this layer in its layers collection, and the layer will be rendered on top. This is useful for + * temporary layers. The standard way to add a layer to a map and have it managed by the map is to + * use {@link module:ol/Map#addLayer}. + * @property {boolean} [useInterimTilesOnError=true] Use interim tiles on error. + */ + +/** + * @classdesc + * For layer sources that provide pre-rendered, tiled images in grids that are + * organized by zoom levels for specific resolutions. + * Note that any property set in the options is set as a {@link module:ol/Object~BaseObject} + * property on the layer object; for example, setting `title: 'My Title'` in the + * options means that `title` is observable, and has get/set accessors. + * + * @api + */ +var Tile_TileLayer = /*@__PURE__*/(function (Layer) { + function TileLayer(opt_options) { + var options = opt_options ? opt_options : {}; + + var baseOptions = Object(obj["a" /* assign */])({}, options); + + delete baseOptions.preload; + delete baseOptions.useInterimTilesOnError; + Layer.call(this, baseOptions); + + this.setPreload(options.preload !== undefined ? options.preload : 0); + this.setUseInterimTilesOnError(options.useInterimTilesOnError !== undefined ? + options.useInterimTilesOnError : true); + + /** + * The layer type. + * @protected + * @type {import("../LayerType.js").default} + */ + this.type = LayerType["a" /* default */].TILE; + + } + + if ( Layer ) TileLayer.__proto__ = Layer; + TileLayer.prototype = Object.create( Layer && Layer.prototype ); + TileLayer.prototype.constructor = TileLayer; + + /** + * Return the level as number to which we will preload tiles up to. + * @return {number} The level to preload tiles up to. + * @observable + * @api + */ + TileLayer.prototype.getPreload = function getPreload () { + return /** @type {number} */ (this.get(TileProperty.PRELOAD)); + }; + + /** + * Set the level as number to which we will preload tiles up to. + * @param {number} preload The level to preload tiles up to. + * @observable + * @api + */ + TileLayer.prototype.setPreload = function setPreload (preload) { + this.set(TileProperty.PRELOAD, preload); + }; + + /** + * Whether we use interim tiles on error. + * @return {boolean} Use interim tiles on error. + * @observable + * @api + */ + TileLayer.prototype.getUseInterimTilesOnError = function getUseInterimTilesOnError () { + return /** @type {boolean} */ (this.get(TileProperty.USE_INTERIM_TILES_ON_ERROR)); + }; + + /** + * Set whether we use interim tiles on error. + * @param {boolean} useInterimTilesOnError Use interim tiles on error. + * @observable + * @api + */ + TileLayer.prototype.setUseInterimTilesOnError = function setUseInterimTilesOnError (useInterimTilesOnError) { + this.set(TileProperty.USE_INTERIM_TILES_ON_ERROR, useInterimTilesOnError); + }; + + return TileLayer; +}(layer_Layer["a" /* default */])); + + +/** + * Return the associated {@link module:ol/source/Tile tilesource} of the layer. + * @function + * @return {import("../source/Tile.js").default} Source. + * @api + */ +Tile_TileLayer.prototype.getSource; + + +/* harmony default export */ var Tile = __webpack_exports__["a"] = (Tile_TileLayer); + +//# sourceMappingURL=Tile.js.map + +/***/ }), +/* 82 */, +/* 83 */, +/* 84 */, +/* 85 */, +/* 86 */, +/* 87 */, +/* 88 */, /* 89 */, /* 90 */, -/* 91 */, -/* 92 */, -/* 93 */, -/* 94 */, -/* 95 */, -/* 96 */, -/* 97 */, -/* 98 */ +/* 91 */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(99); -module.exports = __webpack_require__(102); +__webpack_require__(92); +module.exports = __webpack_require__(95); /***/ }), -/* 99 */ +/* 92 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var ol_Map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(86); -/* harmony import */ var ol_View_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76); -/* harmony import */ var ol_control_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81); -/* harmony import */ var ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(78); -/* harmony import */ var ol_layer_Tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(83); -/* harmony import */ var ol_source_OSM_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(84); +/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var ol_Map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); +/* harmony import */ var ol_View_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71); +/* harmony import */ var ol_control_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74); +/* harmony import */ var ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(58); +/* harmony import */ var ol_layer_Tile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(81); +/* harmony import */ var ol_source_OSM_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(76); /* harmony import */ var ol_proj_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(13); -/* harmony import */ var ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(85); -/* harmony import */ var ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(88); -/* harmony import */ var ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(87); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(49); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(36); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(35); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(82); -/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(77); +/* harmony import */ var ol_layer_Vector_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(77); +/* harmony import */ var ol_source_Vector_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(80); +/* harmony import */ var ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(79); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(46); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(35); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(34); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(75); +/* harmony import */ var ol_style_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(72); @@ -39375,28 +39615,9 @@ var styles = { } }; -var vectorSource = new ol_source_VectorTile_js__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"]({ +var vectorSource = new ol_source_Vector_js__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"]({ format: new ol_format_OSMXML_js__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"](), url: 'https://seafile.milliways.info/f/688170149668429f9598/?dl=1', - /*loader: function(extent, resolution, projection) { - var proj = projection.getCode(); - var url = 'https://seafile.milliways.info/f/688170149668429f9598/?dl=1'; - var xhr = new XMLHttpRequest(); - xhr.open('GET', url); - var onError = function(e) { - vectorSource.removeLoadedExtent(extent); - } - xhr.onerror = onError; - xhr.onload = function() { - if (xhr.status == 200) { - vectorSource.addFeatures( - vectorSource.getFormat().readFeatures(xhr.responseText)); - } else { - onError(); - } - } - xhr.send(); - },*/ strategy: ol_loadingstrategy__WEBPACK_IMPORTED_MODULE_3__[/* all */ "a"] }) @@ -39410,7 +39631,7 @@ var map = new ol_Map_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]({ new ol_layer_Tile__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"]({ source: new ol_source_OSM_js__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"]() }), - new ol_layer_VectorTile_js__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"]({ + new ol_layer_Vector_js__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"]({ source: vectorSource, style: function(feature) { for (var key in styles) { @@ -39449,10 +39670,10 @@ module.export= { mapa: map } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(100)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(93)(module))) /***/ }), -/* 100 */ +/* 93 */ /***/ (function(module, exports) { module.exports = function(originalModule) { @@ -39482,7 +39703,7 @@ module.exports = function(originalModule) { /***/ }), -/* 101 */ +/* 94 */ /***/ (function(module, exports, __webpack_require__) { (function (global, factory) { @@ -39550,7 +39771,7 @@ return quickselect; /***/ }), -/* 102 */ +/* 95 */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin diff --git a/dist/main.js.map b/dist/main.js.map index 850b264..680f45e 100644 --- a/dist/main.js.map +++ b/dist/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/ol/extent.js","webpack:///./node_modules/ol/util.js","webpack:///./node_modules/ol/events.js","webpack:///./node_modules/ol/TileState.js","webpack:///./node_modules/ol/render/canvas.js","webpack:///./node_modules/ol/events/EventType.js","webpack:///./node_modules/ol/geom/GeometryType.js","webpack:///./node_modules/ol/math.js","webpack:///./node_modules/ol/transform.js","webpack:///./node_modules/ol/obj.js","webpack:///./node_modules/ol/asserts.js","webpack:///./node_modules/ol/array.js","webpack:///./node_modules/ol/ViewHint.js","webpack:///./node_modules/ol/proj/Projection.js","webpack:///./node_modules/ol/proj/epsg3857.js","webpack:///./node_modules/ol/proj/epsg4326.js","webpack:///./node_modules/ol/proj/projections.js","webpack:///./node_modules/ol/proj/transforms.js","webpack:///./node_modules/ol/proj.js","webpack:///./node_modules/ol/dom.js","webpack:///./node_modules/ol/functions.js","webpack:///./node_modules/ol/Object.js","webpack:///./node_modules/ol/has.js","webpack:///./node_modules/ol/geom/GeometryLayout.js","webpack:///./node_modules/ol/layer/Property.js","webpack:///./node_modules/ol/ImageState.js","webpack:///./node_modules/ol/easing.js","webpack:///./node_modules/ol/extent/Relationship.js","webpack:///./node_modules/ol/proj/Units.js","webpack:///./node_modules/ol/css.js","webpack:///./node_modules/ol/events/Event.js","webpack:///./node_modules/ol/tilecoord.js","webpack:///./node_modules/ol/LayerType.js","webpack:///./node_modules/ol/size.js","webpack:///./node_modules/ol/geom/flat/transform.js","webpack:///./node_modules/ol/CollectionEventType.js","webpack:///./node_modules/ol/render/EventType.js","webpack:///./node_modules/ol/colorlike.js","webpack:///./node_modules/ol/Collection.js","webpack:///./node_modules/ol/reproj/common.js","webpack:///./node_modules/ol/style/Fill.js","webpack:///./node_modules/ol/style/Stroke.js","webpack:///./node_modules/ol/events/Target.js","webpack:///./node_modules/ol/color.js","webpack:///./node_modules/ol/tilegrid/TileGrid.js","webpack:///./node_modules/ol/tilegrid.js","webpack:///./node_modules/ol/string.js","webpack:///./node_modules/ol/coordinate.js","webpack:///./node_modules/ol/layer/Layer.js","webpack:///./node_modules/ol/layer/VectorTileRenderType.js","webpack:///./node_modules/ol/source/State.js","webpack:///./node_modules/ol/geom/Geometry.js","webpack:///./node_modules/ol/geom/SimpleGeometry.js","webpack:///./node_modules/ol/geom/flat/inflate.js","webpack:///./node_modules/ol/geom/flat/contains.js","webpack:///./node_modules/ol/rotationconstraint.js","webpack:///./node_modules/ol/layer/TileProperty.js","webpack:///./node_modules/ol/style/Style.js","webpack:///./node_modules/ol/geom/flat/closest.js","webpack:///./node_modules/ol/Tile.js","webpack:///./node_modules/ol/geom/flat/deflate.js","webpack:///./node_modules/ol/geom/flat/simplify.js","webpack:///./node_modules/ol/ObjectEventType.js","webpack:///./node_modules/ol/format/FormatType.js","webpack:///./node_modules/ol/tilegrid/common.js","webpack:///./node_modules/ol/geom/flat/area.js","webpack:///./node_modules/ol/geom/LinearRing.js","webpack:///./node_modules/ol/geom/flat/interiorpoint.js","webpack:///./node_modules/ol/geom/flat/reverse.js","webpack:///./node_modules/ol/geom/flat/orient.js","webpack:///./node_modules/ol/geom/Polygon.js","webpack:///./node_modules/ol/extent/Corner.js","webpack:///./node_modules/ol/TileRange.js","webpack:///./node_modules/ol/Disposable.js","webpack:///./node_modules/ol/MapEventType.js","webpack:///./node_modules/ol/sphere.js","webpack:///./node_modules/ol/AssertionError.js","webpack:///./node_modules/ol/structs/LRUCache.js","webpack:///./node_modules/ol/style/TextPlacement.js","webpack:///./node_modules/ol/TileCache.js","webpack:///./node_modules/ol/Observable.js","webpack:///./node_modules/ol/geom/Point.js","webpack:///./node_modules/ol/geom/flat/intersectsextent.js","webpack:///./node_modules/ol/geom/flat/segments.js","webpack:///./node_modules/ol/geom/flat/length.js","webpack:///./node_modules/ol/layer/Base.js","webpack:///./node_modules/ol/layer/VectorRenderType.js","webpack:///./node_modules/rbush/index.js","webpack:///./node_modules/ol/tileurlfunction.js","webpack:///./node_modules/ol/source/Source.js","webpack:///./node_modules/ol/source/Tile.js","webpack:///./node_modules/ol/source/TileEventType.js","webpack:///./node_modules/ol/source/UrlTile.js","webpack:///./node_modules/ol/centerconstraint.js","webpack:///./node_modules/ol/resolutionconstraint.js","webpack:///./node_modules/ol/ViewProperty.js","webpack:///./node_modules/ol/View.js","webpack:///./node_modules/ol/style/Image.js","webpack:///./node_modules/ol/style/RegularShape.js","webpack:///./node_modules/ol/style/Circle.js","webpack:///./node_modules/ol/loadingstrategy.js","webpack:///./node_modules/ol/layer/Vector.js","webpack:///./node_modules/ol/ImageTile.js","webpack:///./node_modules/ol/reproj.js","webpack:///./node_modules/ol/reproj/Triangulation.js","webpack:///./node_modules/ol/reproj/Tile.js","webpack:///./node_modules/ol/source/TileImage.js","webpack:///./node_modules/ol/source/XYZ.js","webpack:///./node_modules/ol/control/Control.js","webpack:///./node_modules/ol/control/Attribution.js","webpack:///./node_modules/ol/control/Rotate.js","webpack:///./node_modules/ol/control/Zoom.js","webpack:///./node_modules/ol/control/util.js","webpack:///./node_modules/ol/style/Text.js","webpack:///./node_modules/ol/layer/Tile.js","webpack:///./node_modules/ol/source/OSM.js","webpack:///./node_modules/ol/layer/VectorTile.js","webpack:///./node_modules/ol/MapEvent.js","webpack:///./node_modules/ol/MapBrowserEvent.js","webpack:///./node_modules/ol/MapBrowserEventType.js","webpack:///./node_modules/ol/MapBrowserPointerEvent.js","webpack:///./node_modules/ol/pointer/EventType.js","webpack:///./node_modules/ol/pointer/EventSource.js","webpack:///./node_modules/ol/pointer/MouseSource.js","webpack:///./node_modules/ol/pointer/MsSource.js","webpack:///./node_modules/ol/pointer/NativeSource.js","webpack:///./node_modules/ol/pointer/PointerEvent.js","webpack:///./node_modules/ol/pointer/TouchSource.js","webpack:///./node_modules/ol/pointer/PointerEventHandler.js","webpack:///./node_modules/ol/MapBrowserEventHandler.js","webpack:///./node_modules/ol/MapProperty.js","webpack:///./node_modules/ol/structs/PriorityQueue.js","webpack:///./node_modules/ol/TileQueue.js","webpack:///./node_modules/ol/layer/Group.js","webpack:///./node_modules/ol/PluggableMap.js","webpack:///./node_modules/ol/Kinetic.js","webpack:///./node_modules/ol/interaction/Property.js","webpack:///./node_modules/ol/interaction/Interaction.js","webpack:///./node_modules/ol/interaction/DoubleClickZoom.js","webpack:///./node_modules/ol/events/condition.js","webpack:///./node_modules/ol/interaction/Pointer.js","webpack:///./node_modules/ol/interaction/DragPan.js","webpack:///./node_modules/ol/interaction/DragRotate.js","webpack:///./node_modules/ol/render/Box.js","webpack:///./node_modules/ol/interaction/DragBox.js","webpack:///./node_modules/ol/interaction/DragZoom.js","webpack:///./node_modules/ol/events/KeyCode.js","webpack:///./node_modules/ol/interaction/KeyboardPan.js","webpack:///./node_modules/ol/interaction/KeyboardZoom.js","webpack:///./node_modules/ol/interaction/MouseWheelZoom.js","webpack:///./node_modules/ol/interaction/PinchRotate.js","webpack:///./node_modules/ol/interaction/PinchZoom.js","webpack:///./node_modules/ol/interaction.js","webpack:///./node_modules/ol/ImageBase.js","webpack:///./node_modules/ol/ImageCanvas.js","webpack:///./node_modules/ol/render/Event.js","webpack:///./node_modules/ol/render/VectorContext.js","webpack:///./node_modules/ol/render/canvas/Immediate.js","webpack:///./node_modules/ol/style/IconImageCache.js","webpack:///./node_modules/ol/renderer/Map.js","webpack:///./node_modules/ol/renderer/canvas/Map.js","webpack:///./node_modules/ol/renderer/Layer.js","webpack:///./node_modules/ol/renderer/canvas/Layer.js","webpack:///./node_modules/ol/renderer/canvas/IntermediateCanvas.js","webpack:///./node_modules/ol/renderer/canvas/ImageLayer.js","webpack:///./node_modules/ol/renderer/canvas/TileLayer.js","webpack:///./node_modules/ol/render/ReplayGroup.js","webpack:///./node_modules/ol/render/ReplayType.js","webpack:///./node_modules/ol/geom/flat/textpath.js","webpack:///./node_modules/ol/render/canvas/Instruction.js","webpack:///./node_modules/ol/render/replay.js","webpack:///./node_modules/ol/render/canvas/Replay.js","webpack:///./node_modules/ol/render/canvas/ImageReplay.js","webpack:///./node_modules/ol/render/canvas/LineStringReplay.js","webpack:///./node_modules/ol/render/canvas/PolygonReplay.js","webpack:///./node_modules/ol/geom/flat/straightchunk.js","webpack:///./node_modules/ol/render/canvas/TextReplay.js","webpack:///./node_modules/ol/render/canvas/ReplayGroup.js","webpack:///./node_modules/ol/renderer/vector.js","webpack:///./node_modules/ol/renderer/canvas/VectorLayer.js","webpack:///./node_modules/ol/renderer/canvas/VectorTileLayer.js","webpack:///./node_modules/ol/Map.js","webpack:///./node_modules/ol/Feature.js","webpack:///./node_modules/ol/format/Feature.js","webpack:///./node_modules/ol/xml.js","webpack:///./node_modules/ol/format/XMLFeature.js","webpack:///./node_modules/ol/geom/flat/interpolate.js","webpack:///./node_modules/ol/geom/LineString.js","webpack:///./node_modules/ol/format/OSMXML.js","webpack:///./node_modules/ol/featureloader.js","webpack:///./node_modules/ol/VectorImageTile.js","webpack:///./node_modules/ol/VectorTile.js","webpack:///./node_modules/ol/source/VectorTile.js","webpack:///./src/app.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/quickselect/quickselect.js","webpack:///./src/app.scss?cb69"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACI;AACY;;;AAGpD;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;AAEA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,aAAa;AACzB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,uEAAY;AACjC;AACA,kCAAkC,uEAAY;AAC9C,GAAG;AACH,kCAAkC,uEAAY;AAC9C;AACA;AACA,kCAAkC,uEAAY;AAC9C,GAAG;AACH,kCAAkC,uEAAY;AAC9C;AACA,uBAAuB,uEAAY;AACnC,mBAAmB,uEAAY;AAC/B;AACA;AACA;;;AAGA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,4CAA4C;AACvD,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA,WAAW,mDAAmD;AAC9D,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,4CAA4C;AACvD,YAAY,OAAO;AACnB;AACO;AACP,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,QAAQ,cAAc;AACtB;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,mDAAmD;AAC9D,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,0DAA0D;AACrE,WAAW,GAAG;AACd,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,iBAAiB,iEAAM;AACvB;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG,qBAAqB,iEAAM;AAC9B;AACA,GAAG;AACH,IAAI,kEAAM,YAAY;AACtB;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,yBAAyB;AACpC,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,yBAAyB;AACrC;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,qCAAqC;AAChD,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA,mBAAmB,uEAAY;AAC/B,iBAAiB,uEAAY;AAC7B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uEAAY;AAChC,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;AACA,mCAAmC,uEAAY;AAC/C,qBAAqB,uEAAY;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,sCAAsC;AACjD;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC7xBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA,YAAY,EAAE;AACd;AACO;AACP,oBAAoB,EAAE;AACtB;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP,gC;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC+B;;;AAG/B;AACA,oBAAoB,8CAA8C;AAClE,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,iBAAiB;AAC/B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,iBAAiB;AAC/B,cAAc,6CAA6C;AAC3D,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA,aAAa,sEAAsE;AACnF;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,uBAAuB,iCAAiC;AACxD;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,sBAAsB,qCAAqC;AAC3D,YAAY,oBAAoB;AAChC;AACO;AACP;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,YAAY,2BAA2B;AACvC;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,kCAAkC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD,iBAAiB,qCAAqC;AACtD;AACA,MAAM,6DAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,uBAAuB,qCAAqC;AAC5D;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,6BAA6B,UAAU;AACvC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,qCAAqC;AACpD;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAqC;AACzC;AACA;AACA,SAAS,8BAA8B;AACvC;AACA;AACA;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA,YAAY,UAAU;AACtB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,4CAA4C,8BAA8B;AAC1E;AACA,WAAW,6CAA6C;AACxD,WAAW,OAAO;AAClB,WAAW,iBAAiB;AAC5B,WAAW,QAAQ;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,8BAA8B,KAAK,kCAAkC;AACzE;AACA,WAAW,UAAU;AACrB;AACO;AACP;AACA,eAAe,qCAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6DAAK;AACT;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6CAA6C;AACxD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;ACjRA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACpBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC0C;AACM;AAChB;AACc;AACY;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,mCAAmC;AACjD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wCAAwC;AACzD,aAAa,SAAS;AACtB;;;AAGA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,iBAAiB,yCAAyC;AAC1D,UAAU;AACV;AACA;AACO,qBAAqB,oEAAQ;;;AAGpC;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACA;;;AAGA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,6DAAK;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,uEAAe;AACtC;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA,qBAAqB,6EAAqB;AAC1C;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,0BAA0B;AACtC;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGO,qBAAqB,oEAAe;;;AAG3C;AACA,WAAW,yBAAyB;AACpC,WAAW,yCAAyC;AACpD,WAAW,OAAO;AAClB,WAAW,oDAAoD;AAC/D,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC1XA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;AAEpC;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yBAAyB,KAAK;AAC9B;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,EAAE,kEAAM,YAAY;AACpB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC;AACA,YAAY,cAAc;AAC1B;AACO;AACP;;AAEA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA,qBAAqB,WAAW;AAChC;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA,gC;;;;;;;ACvMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA;AACA,IAAI,0BAA0B;AAC9B,aAAa,eAAe;AAC5B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,gEAAgE;AAC3E,YAAY,gEAAgE;AAC5E;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACO;AACP;AACA,EAAE,kEAAM,gBAAgB;;AAExB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;AAEA,qC;;;;;;;AC/OA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;AC3EA;AAAA;AAAA;AACA;AACA;AACiD;;AAEjD;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB;AACO;AACP;AACA,cAAc,kEAAc;AAC5B;AACA;;AAEA,mC;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;AACpB;;AAEA,KAAK,OAAO;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,OAAO;AACxB;AACA;AACA,SAAS;AACT;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,oBAAoB;AAC/B;AACA;AACO;AACP;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,MAAM;AACjB;AACA,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,aAAa;AACxB,WAAW,qCAAqC;AAChD;AACA,YAAY,WAAW;AACvB;AACO;AACP;AACA;;AAEA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA,iBAAiB,UAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,wBAAwB;AACnC;AACA;AACO;AACP;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc;AACd;AACA;AACA;AACA,GAAG;AACH,aAAa,gBAAgB;AAC7B;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,iC;;;;;;;AC1PA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,oC;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AAC2C;;;AAG3C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD;AACA,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,8EAA8E;AAC9E;AACA,cAAc,8BAA8B;AAC5C,cAAc,+DAA+D;AAC7E;AACA,KAAK,OAAO,2BAA2B,sCAAsC;AAC7E,SAAS,OAAO;AAChB,gBAAgB,wCAAwC;AACxD;;;AAGA;AACA;AACA;AACA,mDAAmD,qBAAqB;AACxE;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA,gBAAgB,yBAAyB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD;AACA;AACA;AACA,IAAI,qBAAU;AACd;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,2BAA2B,6BAA6B;;AAExD;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA,qBAAU;AACV,gCAAgC,gCAAe;AAC/C;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,qBAAU;AACV;AACA;AACA;;AAEA;AACA,YAAY,0CAA0C;AACtD;AACA,qBAAU;AACV;AACA;;AAEA;AACA,WAAW,0CAA0C;AACrD;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA,qBAAU;AACV;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA,WAAW,+DAA+D;AAC1E;AACA;AACA,qBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,yEAAyE;AACrF;AACA;AACA,qBAAU;AACV;AACA;;AAEe,yEAAU,EAAC;;AAE1B,sC;;AC7QA;AACA;AACA;AACgC;AACS;AACV;;;AAG/B;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,IAAI,2BAAkB;AACtB;AACA;AACA;AACA,aAAa,wBAAK;AAClB;AACA;AACA;AACA;AACA,4BAA4B,4BAAI;AAChC;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAU;;;AAGZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;AACP,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO,SAAS,mBAAU;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;ACrJA;AACA;AACA;AACyC;AACV;;;AAG/B;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,eAAM;;;AAGjB;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,eAAM;;;AAGjB;AACA;AACA,UAAU;AACV;AACO,gCAAgC,eAAM;;;AAG7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAkB;AACtB;AACA;AACA;AACA,aAAa,wBAAK;AAClB,cAAc,eAAM;AACpB;AACA;AACA;AACA,mBAAmB,eAAM;AACzB,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAU;;;AAGZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACO,IAAI,oBAAW;AACtB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB,MAAM,2BAAkB;AACxB;;AAEA,oC;;AC/EA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,kCAAkC;AAC9C;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,kCAAkC;AAC7C;AACO;AACP;AACA;;AAEA,uC;;;;;ACtCA;AACA;AACA;AACkC;;;AAGlC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACO,SAAS,gBAAK;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,WAAW,uCAAuC;AAClD;AACO,SAAS,cAAG;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,YAAY,uCAAuC;AACnD;AACO;AACP;AACA;AACA;AACA;AACA,MAAM,8BAAO;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,iDAAiD;AAC7D;AACO,SAAS,cAAG;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA,sC;;AC1EA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAA6C;AACjD,MAAM,gCAAgC;AACtC,IAAI,mCAAmC;AACvC,mBAAmB,6CAA6C;AAChE;AACA;AACA;AACA,2BAA2B,gCAAgC;AAC3D,IAAI,mCAAmC;AACvC;AACA;AACwC;AACG;AACV;AACgE;AAC1B;AACzB;AACS;AACF;AAC+D;;;AAGpH;AACA,oBAAoB,gCAAgC;AACpD;AACA,aAAa,4BAA4B;AACzC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,gEAAgE;AAC7E;AACA;;;AAGyB;;AAEL;;AAEpB;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,cAAc;AAC1B;AACO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACO;AACP,EAAE,GAAe;AACjB,EAAE,cAAgB;AAClB;;;AAGA;AACA,WAAW,kBAAkB;AAC7B;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,eAAe;AAC1B;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACO,SAAS,QAAG;AACnB;AACA,IAAI,GAAe,YAAY,OAAO;AACtC,gBAAgB,WAAW;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2CAA2C;AAC/C,IAAI,iEAAiE;AACrE;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP,eAAe,QAAG;AAClB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iBAAiB,wBAAK,uCAAuC,wBAAK;AAClE;AACA,KAAK;AACL;AACA;AACA;AACA,+DAA+D,QAAG;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qCAAW;AAC7B,mBAAmB,qCAAW;AAC9B;AACA;AACA,QAAQ,gCAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACO;AACP;AACA;AACA;AACA;AACA,QAAQ,cAAgB;AACxB;AACA,KAAK;AACL,GAAG;AACH;;;AAGA;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,kBAAkB;AAC7B;AACA;AACO;AACP;AACA;AACA,MAAM,cAAgB;AACtB,MAAM,cAAgB;AACtB,KAAK;AACL,GAAG;AACH;;;AAGA;AACA;AACA;AACO;AACP,EAAE,KAAiB;AACnB,EAAE,gBAAmB;AACrB;;;AAGA;AACA,WAAW,4BAA4B;AACvC,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA,WAAW,QAAG;AACd,GAAG;AACH,WAAW,QAAG;AACd,GAAG;AACH;AACA,iBAAiB,WAAW;AAC5B;AACA;AACA;;;AAGA;AACA,cAAc,uCAAuC;AACrD;AACA,WAAW,qFAAqF;AAChG;AACA,YAAY,kBAAkB;AAC9B;AACO;AACP;AACA;AACA,eAAe,cAAc;AAC7B,eAAe,eAAe;AAC9B,eAAe,QAAQ;AACvB,gBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,WAAW,qFAAqF;AAChG;AACA,iCAAiC,sCAAsC;AACvE,wBAAwB,sCAAsC;AAC9D,WAAW,qFAAqF;AAChG;AACA,iCAAiC,sCAAsC;AACvE,wBAAwB,sCAAsC;AAC9D;AACA;AACO;AACP,mBAAmB,QAAG;AACtB,iBAAiB,QAAG;AACpB,EAAE,cAAgB;AAClB,EAAE,cAAgB;AAClB;;;AAGA;AACA;AACA,WAAW,qCAAqC;AAChD;AACA,WAAW,gBAAgB;AAC3B;AACA,YAAY,qCAAqC;AACjD;AACA;AACO;AACP,SAAS,cAAS;AAClB;AACA;;;AAGA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,gBAAgB;AAC3B;AACA,YAAY,qCAAqC;AACjD;AACA;AACA;AACO;AACP,eAAe,cAAS;AACxB;AACA;AACA;AACA,gBAAgB,8BAAM;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB;AACA,YAAY,kBAAkB;AAC9B;AACO;AACP;AACA;AACA,sBAAsB,cAAgB;AACtC;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,kBAAkB;AAC9B;AACA;AACO;AACP,yBAAyB,QAAG;AAC5B,8BAA8B,QAAG;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA,QAAQ,qCAAqC;AAC7C,gCAAgC,uCAAuC;AACvE;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,qCAAqC;AACjD;AACA;AACO,SAAS,cAAS;AACzB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,eAAe;AAC1B,WAAW,eAAe;AAC1B,YAAY,6BAA6B;AACzC;AACA;AACO;AACP;AACA,SAAS,2CAAc;AACvB;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,2BAA2B,WAAoB;AAC/C,2BAA2B,oBAAoB;AAC/C;AACA;AACA,0BAA0B,oBAAoB,EAAE,WAAoB,EAAE,YAAY,EAAE,mBAAU;AAC9F;;AAEA;;AAEA,gC;;;;;;;AC/fA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,yBAAyB;AACrC;AACO;AACP,0BAA0B,kBAAkB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;;;AAGA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,WAAW,KAAK;AAChB;AACO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,aAAa,KAAK;AAClB;AACO;AACP;AACA;;AAEA;AACA,WAAW,KAAK;AAChB;AACO;AACP;AACA;AACA;AACA;;AAEA,+B;;;;;;;AClFA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACO;AACP;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACO;AACP;AACA;;AAEA;AACA;AACA;AACA,YAAY,KAAK;AACjB;AACO;;AAEP,qC;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiC;AACkB;AACV;AACH;AACN;;;AAGhC;AACA;AACA,sBAAsB,kCAAkC;AACxD;AACO;AACP;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gEAAK;;;AAGP;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD,IAAI,wBAAwB;AAC5B;AACA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE,kEAAkE,IAAI,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gDAAgD;AACpE;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA,IAAI,+DAAM;;AAEV;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA,WAAW,8DAAM,GAAG;AACpB;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA,gBAAgB,mEAAe;AAC/B;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,8DAAU;;;AAGZ;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGe,mEAAU,EAAC;;AAE1B,kC;;;;;;;AClOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA,2DAA2D,QAAQ;AACnE,UAAU;AACV;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGiC;;AAExC,+B;;;;;;;AC7FA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,0C;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,oC;;;;;;;ACjBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,kC;;;;;;;ACjEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACjBA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACA;AACO;AACP;AACA;AACA;AACA;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;AClCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,+B;;;;;;;ACtFA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAqC;AACzC;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C;AACO;AACP;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C;AACO;AACP;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;ACtEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,UAAU;AACtB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,UAAU;AACrB,WAAW,0CAA0C;AACrD,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;;AC5HA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,MAAM;AACjB,YAAY,KAAK;AACjB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;;AAEA,gC;;;;;;;AC9EA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qC;;;;;;;AC1HA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,+C;;;;;;;ACtBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;;;;;;AChCA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD;AACA;;;AAGA;AACA,WAAW,qCAAqC;AAChD,YAAY,UAAU,kBAAkB,6BAA6B;AACrE;AACA;AACO;AACP;AACA,WAAW,kEAAQ;AACnB,GAAG;AACH;AACA;AACA;;AAEA,qC;;;;;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiD;AACU;AACtB;AACC;;;AAGtC;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sBAAsB,sCAAsC;AAC5D;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gEAAK;;;AAGP;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,cAAc,cAAc;AAC5B;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uEAAmB;AAC7C;;AAEA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,uEAAmB;AAC9D;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uEAAmB;AAC/C;AACA,4BAA4B,uEAAmB;AAC/C,KAAK;AACL,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,EAAE;AACf,aAAa,QAAQ;AACrB;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA,kBAAkB,kEAAc;AAChC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,0DAAU;;;AAGG,mEAAU,EAAC;;AAE1B,sC;;;;;;;AClSA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA;AACA,UAAU;AACV;AACO;;AAEP,kC;;;;;;;AClBA;AAAA;AAAA;AACA;AACA;AACkC;AACG;;;AAGrC;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E,QAAQ,4BAA4B,MAAM,oCAAoC;AAC9E,gBAAgB;AAChB;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,0DAA0D,oCAAoC;AAC9F,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gEAAgE;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kEAAQ,YAAY,mCAAmC;AACtF,OAAO;AACP,yBAAyB,+DAAM;AAC/B;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEe,6DAAI,EAAC;;AAEpB,gC;;;;;;;AC3FA;AAAA;AACA;AACA;AACkC;;;AAGlC;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E,QAAQ,4BAA4B,MAAM,oCAAoC;AAC9E,gBAAgB;AAChB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,gEAAgE;AAC3E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,0BAA0B,+DAAM;AAChC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,+DAAM,EAAC;;AAEtB,kC;;;;;;;AC1RA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC0C;AACD;AACJ;AACN;;;AAG/B;AACA,aAAa,mBAAmB;AAChC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,iDAAiD;AACjD,6CAA6C;AAC7C,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA,8CAA8C,yDAAK;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,0DAAI;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,sEAAW;AACf;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0DAAI;AAC/B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,8DAAU;;;AAGG,+DAAM,EAAC;;AAEtB,kC;;;;;;;AC5KA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACJ;;;AAGhC;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,iCAAiC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,IAAI;;;AAGnE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;;AAGA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,MAAM;AAClB;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB;AACA,YAAY,MAAM;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,8BAA8B;AAC9B,yBAAyB;AACzB,UAAU;AACV;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,oCAAoC;AACvC;AACA;AACA,GAAG,mCAAmC;AACtC;AACA;AACA;AACA,GAAG;AACH,IAAI,kEAAM,YAAY;AACtB;AACA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACO;AACP,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB,aAAa,8DAAK;AAClB;AACA;;;AAGA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClOA;AACA;AACA;AAC8C;AACT;AACgD;AAC7B;AACA;AACvB;AACC;AACwC;;;AAG1E;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,8BAA8B;AAC5C,gCAAgC,4BAA4B;AAC5D;AACA,cAAc,OAAO;AACrB,cAAc,sCAAsC;AACpD;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,iCAAiC;AAC/C;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;;AAEZ;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,EAAE,iCAAM,CAAC,iCAAQ;AACjB;AACA,GAAG,aAAa;;;AAGhB;AACA;AACA;AACA,sDAAsD,QAAQ;AAC9D;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV,UAAU;AACV;;AAEA;;AAEA;AACA;AACA,mBAAmB,uCAAU;AAC7B;;AAEA,EAAE,iCAAM;AACR;AACA,QAAQ;;AAER;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,IAAI,iCAAM;AACV,UAAU;AACV;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,uBAAuB,mCAAiB;AACxC,EAAE,iCAAM;AACR;AACA;AACA,QAAQ;;AAER;AACA;AACA,YAAY;AACZ;AACA;;;AAGA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,0BAA0B,4BAAS;AACnC;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,OAAO;AAClB,WAAW,8CAA8C;AACzD;AACA;AACA,iBAAQ;AACR;AACA,mDAAmD,SAAS;AAC5D,qDAAqD,SAAS;AAC9D;AACA;AACA;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,WAAW,sEAAsE;AACjF,WAAW,GAAG;AACd,WAAW,mCAAmC;AAC9C,WAAW,+BAA+B;AAC1C,YAAY,QAAQ;AACpB;AACA;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2CAAuB;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,sCAAsC;AAClD;AACA;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA;AACA,iBAAQ;AACR;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,WAAW,mCAAmC;AAC9C,WAAW,+BAA+B;AAC1C,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA,aAAa,2CAAuB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,kCAAkC;AAC7C,WAAW,+BAA+B;AAC1C,YAAY,8BAA8B;AAC1C;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA,SAAS,2CAAc;AACvB;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,OAAO;AAClB,WAAW,mCAAmC;AAC9C,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAS,2CAAuB;AAChC;;AAEA;AACA,WAAW,oCAAoC;AAC/C,YAAY,sCAAsC;AAClD;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C,WAAW,+BAA+B;AAC1C,YAAY,8BAA8B;AAC1C;AACA;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;AACvB;AACA;AACA;AACA;AACA,SAAS,2CAAc;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;AACA,iBAAiB,iCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,SAAS,2CAAuB;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA,iBAAiB,iCAAM;;AAEvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,SAAS,2CAAuB;AAChC;;AAEA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,qCAAqC;AAChD,YAAY,oCAAoC;AAChD;AACA;AACA,iBAAQ;AACR;AACA;AACA;;AAEA;AACA,WAAW,oCAAoC;AAC/C,YAAY,OAAO;AACnB;AACA,iBAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,iCAAiC;AAC7C;AACA;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY,kCAAkC;AAC9C;AACA,iBAAQ;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,iBAAQ;AACR,UAAU,0CAAiB;AAC3B,SAAS,6BAAK;AACd;;AAEA;AACA,WAAW,+BAA+B;AAC1C;AACA;AACA,iBAAQ;AACR;AACA;AACA,4BAA4B,YAAY;AACxC;AACA;AACA;AACA;;;AAGe,uEAAQ,EAAC;;AAExB,oC;;ACriBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACyE;AACxC;AAC8D;AACvD;AACwB;AAC5B;AACU;;;AAG9C;AACA,WAAW,uCAAuC;AAClD,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,SAAS;AACpB,WAAW,mCAAmC;AAC9C,WAAW,uCAAuC;AAClD,YAAY,mCAAmC;AAC/C;AACO;AACP;AACA;AACA;AACA,OAAO,+CAAkB;AACzB,qBAAqB,qCAAQ;AAC7B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACO;AACP,uDAAuD,yBAAM;;AAE7D;;AAEA,aAAa,iBAAQ;AACrB;AACA,YAAY,sCAAS;AACrB;AACA;AACA,GAAG;AACH;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,gCAAgC;AAC9C;;;AAGA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,UAAU;AACtB;AACA;AACO;AACP,aAAa,WAAW;AACxB;;AAEA,oCAAoC,2BAAa;;AAEjD,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAQ;AACrB;;;AAGA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,YAAY,eAAe;AAC3B;AACA;AACA;AACA,kBAAkB,kCAAgB;;AAElC,eAAe,sCAAS;AACxB,cAAc,qCAAQ;;AAEtB,iBAAiB,iCAAM;AACvB,mBAAmB,mCAAiB;AACpC;AACA;;AAEA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C,WAAW,QAAQ;AACnB;AACA,WAAW,iCAAiC;AAC5C;AACA,WAAW,QAAQ;AACnB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C,YAAY,6BAA6B;AACzC;AACO;AACP,eAAe,2BAAa;AAC5B;AACA;AACA,qBAAqB,+BAAe,CAAC,wBAAK;AAC1C,aAAa,2CAAc;AAC3B;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AC3KA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB,aAAa,OAAO;AACpB;AACO;AACP;AACA;;AAEA,iBAAiB,oCAAoC;AACrD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kC;;AC3CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiC;AACK;;;AAGtC;AACA;AACA,aAAa,cAAc;AAC3B;AACA;;;AAGA;AACA,4BAA4B,sCAAsC;AAClE,0BAA0B,OAAO;AACjC;AACA,aAAa,yCAAyC;AACtD;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,WAAW;AACvB;AACA;AACA;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,mCAAmC;AAC9C,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA,cAAc,4CAA4C;AAC1D;AACA,MAAM,WAAW;AACjB;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,iBAAiB;AAC7B;AACA;AACO;AACP;AACA;AACA,eAAe,WAAW;AAC1B,gBAAgB,OAAO;AACvB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACO;AACP,0BAA0B,8BAAM;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,SAAS;AACpC,IAAI,SAAS;AACb;AACA;;;AAGA;AACA,yBAAyB,sCAAsC;AAC/D,kDAAkD,EAAE,QAAQ,EAAE;AAC9D;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC,EAAE,EAAE,EAAE;AAC7C;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC,EAAE,EAAE,EAAE;AAC7C;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO,mCAAmC,EAAE,QAAQ,EAAE;AACjE;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,iBAAiB,EAAE;AACnB,iBAAiB,EAAE;AACnB,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,QAAQ;AACpB;AACO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,OAAO;AAClB,YAAY,WAAW;AACvB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;;;AAGA;AACA,WAAW,WAAW;AACtB,WAAW,WAAW;AACtB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,kBAAkB;AAC7B;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP,8BAA8B,EAAE,GAAG,EAAE;AACrC;;AAEA,sC;;;;;;;ACrZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACmD;AACJ;AACb;AACc;AACd;AACQ;AACT;AACoB;AACR;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,sCAAsC;AACpD,qCAAqC,8DAA8D;AACnG;AACA,cAAc,qCAAqC;AACnD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,2CAA2C,6BAA6B;AACxE,SAAS,0CAA0C;AACnD;AACA,IAAI,yCAAyC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,8DAAM,GAAG;AAC/B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iEAAM;AACV,MAAM,6EAAkB,CAAC,4DAAa;AACtC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA,0BAA0B,4DAAa;AACvC;AACA,iBAAiB,sCAAsC;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gEAAW;AAChC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA;AACA,8BAA8B,iEAAM;AACpC,QAAQ,oEAAS;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,wCAAwC;AAC9C;AACA;AACA;AACA;AACA,MAAM,6BAA6B;AACnC,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAa;AACnB;AACA;AACA;AACA,+BAA+B,iEAAM,MAAM,oEAAe;AAC1D,qCAAqC,qCAAqC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,+DAAM;AACjD,OAAO;AACP,2BAA2B,iEAAM,OAAO,oEAAS;AACjD;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA,CAAC,CAAC,wDAAS;;;AAGX;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;;;AAGe,8DAAK,EAAC;;AAErB,iC;;;;;;;AC/OA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,CAAC,EAAC;;AAEF,gD;;;;;;;ACvBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACoC;AACE;AAC8B;AACpB;AACc;AACzB;AACkD;;;AAGvF;AACA,UAAU;AACV;AACA,mBAAmB,sCAAe;;;AAGlC;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;AACZ;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,mBAAmB,wCAAW;;AAE9B;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,UAAU;AACxB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,iDAAiD;AACvD,aAAa,sCAAsC;AACnD,aAAa,uCAAuC;AACpD,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8BAA8B;AAC3C;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,2CAAc;AACzB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,cAAc;AACd;AACA,qBAAqB;AACrB;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA,aAAa,8BAA8B;AAC3C,cAAc,QAAQ;AACtB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,iCAAiC,2CAA2C;AAC5E,aAAa,oCAAoC;AACjD,iCAAiC,2CAA2C;AAC5E,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,eAAe,wCAAwC;AACvD,qBAAqB,2BAAa;AAClC,+CAA+C,wBAAK;AACpD;AACA;AACA;AACA,oBAAoB,sCAAS,oBAAoB,sCAAS;AAC1D,QAAQ,uCAAgB;AACxB;AACA;AACA;AACA,QAAQ,6CAAW;AACnB;AACA,eAAe,oCAAY;AAC3B,OAAO;AACP,MAAM,oCAAY;AAClB;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGG,mEAAQ,EAAC;;AAExB,oC;;;;;;;;AChSA;AAAA;AAAA;AACA;AACA;AACoC;AACsC;AACrC;AACY;AACyB;AAC1C;;AAEhC;AACA;AACA,uBAAuB,mCAAmC;AAC1D;AACA;AACA;AACA;AACA;AACA,IAAI,6BAAc;AAClB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,kBAAkB,iCAAc;;AAEhC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,8DAAiC;AAC5C;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,2CAA2C;AAC5D,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,4BAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,eAAe;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,gBAAgB;AAC7B;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA,KAAK;AACL,qBAAqB,aAAa;AAClC;AACA,wBAAwB,iCAAc;AACtC;AACA;AACA,SAAS;AACT,mCAAmC,MAAM;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wCAAM;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,sCAAS;AACxB;AACA;AACA;AACA;AACA,MAAM,uCAAK;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,2CAAS;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,aAAQ;;;AAGV;AACA,WAAW,OAAO;AAClB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA,aAAa,iCAAc;AAC3B,GAAG;AACH,aAAa,iCAAc;AAC3B,GAAG;AACH,aAAa,iCAAc;AAC3B;AACA;AACA,eAAe,eAAe;AAC9B;AACA;;;AAGA;AACA,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA,gBAAgB,iCAAc;AAC9B;AACA,GAAG,oBAAoB,iCAAc,kBAAkB,iCAAc;AACrE;AACA,GAAG,oBAAoB,iCAAc;AACrC;AACA;AACA,oBAAoB,OAAO;AAC3B;;;AAGA;AACA,WAAW,eAAe;AAC1B,WAAW,oCAAoC;AAC/C,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,6CAAW;AACtB;AACA;AACA;AACA;;AAEe,gHAAc,EAAC;;AAE9B,0C;;;;;;;ACnUA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iDAAiD;AAC5D,YAAY,gDAAgD;AAC5D;AACO;AACP;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,wDAAwD;AACnE,YAAY,uDAAuD;AACnE;AACO;AACP;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,+DAA+D;AAC1E;AACA,YAAY,8DAA8D;AAC1E;AACO;AACP;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACpEA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAC8C;;;AAG9C;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,gBAAgB,wEAAa;AAC7B;AACA,eAAe,yCAAyC;AACxD,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;AChHA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;;;AAGpC;AACA,aAAa,yDAAyD;AACtE;;;AAGA;AACA,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,iBAAiB;AAC5B,WAAW,OAAO;AAClB,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;;AAGA;AACA,WAAW,QAAQ;AACnB,YAAY,KAAK;AACjB;AACO;AACP,mCAAmC,kEAAS;AAC5C;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA,8C;;;;;;;ACvFA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACqC;AACc;AACb;AACT;AACI;;;AAGjC;AACA,6BAA6B,wBAAwB,SAAS,OAAO;AACrE;AACA,IAAI,4BAA4B;AAChC;AACA;AACA,aAAa,2EAA2E;AACxF;;AAEA;AACA,MAAM,YAAY,eAAe,YAAY,QAAQ,oBAAoB;AACzE,aAAa,iCAAiC;AAC9C;;AAEA;AACA,6BAA6B,wBAAwB;AACrD,IAAI,8BAA8B;AAClC;AACA,aAAa;AACb,gGAAgG;AAChG;;;AAGA;AACA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC;AACA,aAAa;AACb;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,8DAA8D;AAC5E;AACA,cAAc,4BAA4B;AAC1C,cAAc,6BAA6B;AAC3C,cAAc,eAAe;AAC7B;AACA,cAAc,8BAA8B;AAC5C,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,0BAA0B,sCAAsC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,IAAI,mBAAmB;AACvB,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,6BAA6B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,6BAA6B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,4BAA4B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,8DAA8D;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,mBAAmB,sCAAsC;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,iCAAiC;AAC5C;AACA,YAAY,cAAc;AAC1B;AACO;AACP;;AAEA;AACA;AACA,GAAG;AACH;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,kEAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,6BAA6B,MAAM;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB,YAAY,aAAa;AACzB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAI;AACvB;AACA,KAAK;AACL,qBAAqB,0DAAM;AAC3B;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,0DAAW;AAC9B;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA,YAAY,gEAAgE;AAC5E;AACO;AACP,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB;AACA,gBAAgB,wDAAI;AACpB;AACA,OAAO;AACP,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB;AACA,kBAAkB,0DAAM;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,kBAAkB,0DAAM;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB,aAAa,qEAAY;AACzB,eAAe,qEAAY;AAC3B;;;AAGA,SAAS,qEAAY;AACrB;AACA,iBAAiB,0DAAW;AAC5B;AACA,kBAAkB,wDAAI;AACtB;AACA,SAAS;AACT,oBAAoB,0DAAM;AAC1B;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,KAAK;AACL;AACA,SAAS,qEAAY;AACrB,aAAa,qEAAY;;AAEzB,SAAS,qEAAY;AACrB,aAAa,qEAAY;AACzB,eAAe,qEAAY;AAC3B,eAAe,qEAAY;AAC3B;;AAEA;AACA;;;AAGA;AACA;AACA,WAAW,oCAAoC;AAC/C,YAAY,uFAAuF;AACnG;AACA;AACA;AACA;;AAEe,8DAAK,EAAC;;AAErB,iC;;;;;;;ACliBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACiE;;;AAGjE;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,qBAAqB,YAAY;AACjC,0BAA0B,6DAAI;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA,uBAAuB,wEAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,wEAAS;AAC/B;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;AC3PA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACuC;AACJ;AACU;AACC;;;AAG9C;AACA,6BAA6B,qBAAqB;AAClD,KAAK,OAAO;AACZ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA,aAAa,uBAAuB;AACpC;AACA;;AAEA;AACA,IAAI,iCAAiC;AACrC;AACA;AACA,2BAA2B,oCAAoC;AAC/D,mBAAmB,OAAO;AAC1B,IAAI,gCAAgC;AACpC,mBAAmB,OAAO;AAC1B;AACA;AACA,aAAa;AACb,yEAAyE;AACzE;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6DAAS;AACtC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,KAAK;;AAE/B;AACA,6BAA6B,6DAAS;AACtC;AACA;AACA;AACA;AACA;AACA,OAAO,6BAA6B,6DAAS;AAC7C;AACA;AACA;AACA,OAAO,6BAA6B,6DAAS;AAC7C;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;;AAEA;AACA,yDAAyD,mDAAmD;AAC5G,oDAAoD;AACpD;AACA;AACA,aAAa,UAAU;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA,WAAW,iEAAM;AACjB;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;;AAGE,6DAAI,EAAC;;AAEpB,gC;;;;;;;AC1SA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,yCAAyC;AACpD,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,gDAAgD;AAC3D,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP,0CAA0C,QAAQ;AAClD;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,uDAAuD;AAClE,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,8DAA8D;AACzE,WAAW,OAAO;AAClB,WAAW,sBAAsB;AACjC,YAAY,qBAAqB;AACjC;AACO;AACP;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACjFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;;AAEsE;;;AAGtE;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,eAAe;AAC1B;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA,4BAA4B,+EAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,cAAc;AACtC;AACA;AACA,QAAQ,wEAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB;AACA,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;AC5YA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,2C;;;;;;;AChBA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;ACdA;AAAA;AAAA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA,UAAU;AACV;AACO;;AAEP,kC;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO,SAAS,eAAU;AAC1B;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO,SAAS,gBAAW;AAC3B;AACA,mCAAmC,QAAQ;AAC3C;AACA,YAAY,eAAU;AACtB;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C;AACA,YAAY,gBAAW;AACvB;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;;;AC9DA;AACA;AACA;AACsD;AACL;AACJ;AACI;AACW;AACU;AACjB;AACA;AACH;;AAElD;AACA;AACA,sDAAsD;AACtD;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE,KAAK;AACL,qCAAqC,6CAA6C;AAClF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,0CAAe;AAChD;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,eAAc;AACzB;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0CAAc;AACrD;AACA;AACA,qDAAqD,iCAAc;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAAkB;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,yEAAU,EAAC;;AAE1B,sC;;;;;;;;;;;ACjJA;AACA;AACA;AACyD;AACL;;;AAGpD;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0CAAyB;AAC9C;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,UAAU,iDAAqB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;AC9FA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACO,SAAS,mBAAW;AAC3B;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mC;;ACvBA;AACA;AACA;AAC+D;;;AAG/D;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA,QAAQ,cAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;AACO;AACP;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA,YAAY,QAAQ;AACpB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mBAAkB;AACxB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,OAAO;AACnB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;AC5IA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACmC;AAC8B;AAChB;AACJ;AACJ;AACV;AACkB;AACG;AACU;AACkB;AACvB;AACC;AACA;AACM;AACK;AACI;AACxB;AACf;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE;AACA,KAAK;AACL,qCAAqC,oDAAoD;AACzF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,+BAAM;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,+CAAoB;AACrD;AACA;AACA;AACA,WAAW,kDAAuB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,iDAAqB;AAChC;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,gBAAe;AAC1B;;AAEA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,iBAAiB;AACvB;AACA,KAAK;AACL;AACA;;AAEA,WAAW,kDAAuB;AAClC;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA,eAAe,wBAAK,8BAA8B,iCAAc;AAChE;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAU;AACzB;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA,2BAA2B,eAAU;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA,UAAU,oBAAoB;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA,YAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,yCAAa;AACpD;AACA;AACA;AACA,kDAAkD,iCAAc;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,6DAAyB;AACpC;AACA;;AAEA;AACA;AACA,aAAa,qDAAqD;AAClE,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAuB;AACtC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,2FAAO,EAAC;;;AAGvB;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA,aAAa,cAAc;AAC3B;AACA,iBAAiB,OAAO;AACxB,IAAI,+BAAM,kBAAkB,gCAAY;AACxC;AACA;AACA,aAAa,eAAO,kBAAkB,iCAAc;AACpD;;;AAGA;AACA;AACA,WAAW,8BAA8B;AACzC,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAO,kBAAkB,iCAAc;AACpD;;;AAGA;AACA;AACA,WAAW,8BAA8B;AACzC,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA,oBAAoB,eAAO;AAC3B;AACA;AACA;;;AAGA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA,8BAA8B,8BAAM;AACpC;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;;;ACtaA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,kC;;;;;;;ACfA;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA,WAAW,mCAAmC;AAC9C,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,YAAY,yBAAyB;AACrC;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,WAAW;AACtB,YAAY,UAAU;AACtB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGe,kEAAS,EAAC;;AAEzB,qC;;;;;;;AC7IA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEe,mEAAU,EAAC;;AAE1B,sC;;;;;;;ACnCA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAC;;AAEF,wC;;;;;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC+C;AACG;;;AAGlD;AACA,wCAAwC,gBAAgB,KAAK;AAC7D;AACA,aAAa,OAAO;AACpB,cAAc,mCAAmC;AACjD;AACA;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA,aAAa,kEAAS;AACtB,aAAa,kEAAS;AACtB;AACA,oBAAoB,kEAAS;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,0CAA0C,YAAY;AACtD;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,qBAAqB;AAChC;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,kCAAkC,+CAA+C;AACjF,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4CAA4C;AACvD;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA,YAAY,kEAAS;AACrB,sBAAsB,kEAAS;AAC/B,iBAAiB,kEAAS;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,qBAAqB;AAChC;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,eAAe,qEAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB,SAAS,qEAAY;AACrB;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,oCAAoC;AACnE;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,+BAA+B,2CAA2C;AAC1E,0CAA0C,QAAQ;AAClD;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAY;AACrB,kCAAkC,+CAA+C;AACjF,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACA,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,aAAa,kEAAS;AACtB,aAAa,kEAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,kEAAS,OAAO,kEAAS;AACnC;;AAEA,kC;;;;;;;AChQA;AAAA;AACA;AACA;AACkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wDAAO,gBAAgB,wDAAO,SAAS,wDAAO;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,uEAAc,EAAC;;AAE9B,0C;;;;;;;AC9CA;AAAA;AAAA;AAAA;AACA;AACA;;AAEqC;AACS;AACC;;;AAG/C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,EAAE;AAChB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA,aAAa,0CAA0C;AACvD;AACA;AACA;AACA,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA,IAAI,kEAAM;AACV,UAAU;AACV;AACA;AACA,KAAK;AACL,gCAAgC,MAAM;AACtC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,EAAE;AAChB;AACA;AACA;AACA,IAAI,kEAAM,0BAA0B;AACpC;AACA,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,KAAK;AACL,gCAAgC,MAAM;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;;;AAGA;AACA,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO;AACrC;AACA;AACA;AACA;;;AAGA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;;AAGA;AACA,cAAc,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,MAAM;AACpC;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB;AAClB;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,aAAa,EAAE;AACf;AACA;AACA,IAAI,kEAAM;AACV,UAAU;AACV,2BAA2B,MAAM;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;AAEE,iEAAQ,EAAC;;AAExB,oC;;;;;;;AChTA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD,2CAA2C;AACjG,IAAI,qCAAqC,GAAG,qDAAqD;AACjG,IAAI,+CAA+C;AACnD,UAAU;AACV;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,yC;;;;;;;AChBA;AAAA;AAAA;AACA;AACA;AAC6C;AACE;;AAE/C;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,kDAAkD;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qEAAO;AAC3B;AACA;AACA;AACA,oBAAoB,oEAAM;AAC1B;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC,CAAC,oEAAQ;;;AAGK,kEAAS,EAAC;;AAEzB,qC;;;;;;;ACxDA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwE;AAC3B;AACC;;AAE9C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,IAAI,8CAA8C;AAClD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,oEAAS;AAChC;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B,cAAc,uEAAuE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,kBAAkB,iEAAM;AACxB;AACA;AACA,KAAK;AACL,aAAa,iEAAM,kBAAkB,OAAO;AAC5C;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B,cAAc,uEAAuE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B,kBAAkB,qEAAU;AAC5B;AACA;AACA,KAAK;AACL,aAAa,qEAAU,kBAAkB,OAAO;AAChD;AACA;;AAEA;AACA;AACA,aAAa,qBAAqB;AAClC,aAAa,eAAe;AAC5B;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C,QAAQ,mEAAQ;AAChB;AACA;AACA,KAAK;AACL,MAAM,mEAAQ,kBAAkB,OAAO;AACvC;AACA;;AAEA;AACA,CAAC,CAAC,iEAAW;;;AAGb;AACA;AACA,WAAW,uEAAuE;AAClF;AACA;AACA;AACO;AACP;AACA,oCAAoC,QAAQ;AAC5C,MAAM,wEAAa;AACnB;AACA,GAAG;AACH,IAAI,wEAAa,YAAY,gCAAgC;AAC7D;AACA;;;AAGe,mEAAU,EAAC;;AAE1B,sC;;;;;;;AC1IA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACsE;AACzB;AACI;AACG;AACI;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B,wEAAS;AACnC;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,uFAA4B;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,gEAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,qEAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kFAAiB;AACnD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kEAAc;;;AAGD,8DAAK,EAAC;;AAErB,iC;;;;;;;AC3GA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACkH;AACrC;AACrB;;;AAGxD;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,0BAA0B,gFAAqB;AAC/C,IAAI,sEAAW;AACf,OAAO,qEAAU;AACjB;AACA;AACA,MAAM,yEAAc;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oEAAc;AACvB;AACA,eAAe,yCAAyC;AACxD,eAAe,yCAAyC;AACxD,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA,aAAa,4EAAiB;AAC9B,KAAK;AACL;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA,MAAM,iFAAoB;AAC1B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C,QAAQ,qFAAwB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,iCAAiC;AAC5C,YAAY,QAAQ;AACpB;AACO;AACP,oCAAoC,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4C;;;;;;;AC9IA;AAAA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,yGAAyG;AACpH;AACA,WAAW,GAAG;AACd;AACA,YAAY,UAAU;AACtB;AACA;AACO;AACP;AACA;AACA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;ACrCA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;;;;;;AC1CA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACoC;AACE;AACI;AACT;AACA;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB,2BAA2B;AAC9C,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA,qBAAqB,8DAAM,GAAG;AAC9B,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B,eAAe,4DAAa;AAC5B;AACA,eAAe,4DAAa;AAC5B;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA,eAAe,2BAA2B;AAC1C,0CAA0C,EAAE;AAC5C;AACA;AACA,KAAK;AACL,oBAAoB,8DAAK;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA,cAAc,oCAAoC;AAClD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD;AACA,cAAc,kCAAkC;AAChD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA,iBAAiB,qCAAqC;AACtD;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA,iBAAiB,wCAAwC,cAAc,4DAAa;AACpF;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,WAAW,iEAAQ;AACnB;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,4DAAa;AACzD;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,4DAAa;AACxD;;AAEA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,4DAAa;AAC1B;;AAEA;AACA,CAAC,CAAC,0DAAU;;;AAGG,kEAAS,EAAC;;AAEzB,gC;;;;;;;AC1QA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,CAAC,EAAC;;AAEF,4C;;;;;;;ACnBa;;AAEb;AACA;;AAEA,kBAAkB,mBAAO,CAAC,GAAa;;AAEvC;AACA;;AAEA,6CAA6C;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,mDAAmD,SAAS;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,mDAAmD,SAAS;;AAE5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;;AAEA,4BAA4B;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA,aAAa,mBAAmB;AAChC;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;;AAEA;AACA,KAAK;;AAEL,6BAA6B,aAAa,EAAE;;AAE5C;AACA;;AAEA,yBAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,sBAAsB,YAAY;;AAElC;;AAEA;;AAEA,uBAAuB,aAAa;;AAEpC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mDAAmD,SAAS;AAC5D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,mBAAmB,YAAY;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;;AAEA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,KAAK;;AAEL;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;;AAEA,iBAAiB;;AAEjB,aAAa;AACb;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;;AAEhD;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;AACA;;AAEA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,OAAO;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,wBAAwB;AACxD,gCAAgC,wBAAwB;;AAExD,wBAAwB,8CAA8C;AACtE,wBAAwB,8CAA8C;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACjjBA;AACA;AACA;AACoC;AACH;AACoB;;;AAGrD;AACA,WAAW,OAAO;AAClB,WAAW,yCAAyC;AACpD,YAAY,gCAAgC;AAC5C;AACO;AACP,kBAAkB,GAAG;AACrB,kBAAkB,GAAG;AACrB,kBAAkB,GAAG;AACrB,sBAAsB,IAAI;AAC1B;AACA;AACA,eAAe,mCAAmC;AAClD,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,YAAY,iCAAM,YAAY,SAAS,GAAG;AAC1C;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,yCAAyC;AACpD,YAAY,gCAAgC;AAC5C;AACO;AACP;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;;AAGA;AACA,WAAW,uCAAuC;AAClD,YAAY,gCAAgC;AAC5C;AACO;AACP;AACA;AACA;AACA;AACA;AACA,eAAe,mCAAmC;AAClD,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,OAAO;AACP,gBAAgB,iCAAa;AAC7B,oBAAoB,8BAAM;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,mCAAmC;AAC9C,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,YAAY,iBAAiB;AAC7B;AACO;AACP;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACO;AACP;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA,kCAAkC,0BAA0B;AAC5D;AACA;AACA;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2C;;;;;;;;;;;;;;;;;;;;ACpIA;AACA;AACA;AACoC;AACE;AACU;AACX;;;AAGrC;AACA;AACA;AACA;AACA,aAAa,0EAA0E;AACvF;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,0CAA0C;AACvG;AACA,aAAa,iCAAiC;AAC9C;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,gBAAgB;AAC9B,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,YAAY;AAC1B,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA,mBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uBAAuB,2BAAa;;AAEpC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,sBAAsB,wBAAW;;AAEjC;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,uCAAuC,mCAAmC;AAC1E,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,0BAA0B;AACvC,uDAAuD,0CAA0C;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA;AACA,WAAW,0BAA0B;AACrC,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGe,+DAAM,EAAC;;AAEtB,kC;;;;;AChNA;AACA;AACA;AACoC;AACI;AACA;AACD;AACD;AACgB;AACrB;AAC2B;AACuB;;AAEnF;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,eAAU;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,yBAAyB,4BAAS;;AAElC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,wBAAwB;;AAExB;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,mDAAmD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,kCAAkC;AAC/C,aAAa,sDAAsD;AACnE;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,qBAAqB;AACrD,kCAAkC,qBAAqB;AACvD,uBAAuB,sCAAS;AAChC;AACA;AACA,4BAA4B,8BAA8B;AAC1D,uCAAuC,4BAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,cAAc,8BAA8B;AAC5C;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,2CAA2C;AACzD;AACA;AACA;AACA,aAAa,4CAAwB;AACrC,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA,qBAAqB,kCAAU;AAC/B;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,cAAc,0BAA0B;AACxC;AACA;AACA;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;AACA,KAAK;AACL,aAAa,6BAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,yCAAyC;AACtD,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,iCAAK;AACvB;AACA,WAAW,6CAAgB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD;AACA;;AAEA;AACA,CAAC,CAAC,aAAM;;;AAGR;AACA;AACA,sBAAsB,uCAAuC;AAC7D;AACA;AACO;AACP;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,wDAAU,EAAC;;AAE1B,gC;;ACpVA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,EAAC;;AAEF,yC;;ACjCA;AACA;AACA;AACkC;AACM;AACkD;AACpC;AACP;AACL;;AAE1C;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD,cAAc,OAAO;AACrB,cAAc,iCAAiC;AAC/C,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0FAA0F,mBAAmB;;AAE7G;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA,0BAA0B,6BAA6B;AACvD,cAAc,8BAAM;AACpB;AACA;AACA,qBAAqB,4BAAS;AAC9B;AACA,aAAa,aAAa;AAC1B,KAAK;AACL;AACA,0BAA0B,4BAAS,SAAS,aAAa;AACzD,sBAAsB,4BAAS,wBAAwB,4BAAS;AAChE,UAAU,aAAa;AACvB;AACA;AACA,6BAA6B,eAAe;AAC5C;AACA;;AAEA;AACA;AACA,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iCAAiC;AAC9C,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mBAAmB;AACjD,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,IAAU;;;AAGG,6FAAO,EAAC;;AAEvB,mC;;;;;;;;;;;;;;;;;;;;;AC5NA;AACA;AACA;AACgC;;;AAGhC;AACA,aAAa,6GAA6G;AAC1H;;;AAGA;AACA,WAAW,6BAA6B;AACxC,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,sCAAsC;AACrD,gBAAgB,+CAA+C;AAC/D;AACA;AACA;AACA;AACA,UAAU,6BAAK;AACf,UAAU,6BAAK;AACf;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,sCAAsC;AACjD,YAAY,+CAA+C;AAC3D;AACO;AACP;AACA;;AAEA,4C;;;;;;;;AC3CA;AACA;AACA;AAC6C;AACb;;;AAGhC;AACA,aAAa,iEAAiE;AAC9E;;;AAGA;AACA,WAAW,cAAc;AACzB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA,gBAAgB,0CAAiB;AACjC,YAAY,6BAAK;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,KAAK;AACjB;AACO;AACP;AACA;AACA,eAAe,iBAAiB;AAChC,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;;AAEA,gD;;;;;;;;ACzEA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA,CAAC,EAAC;;AAEF,wC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACuD;AACtB;AACG;AACmC;AAClC;AACgD;AACkB;AAClE;AACQ;AACA;AACT;AACyE;AACxE;AACkD;AACrC;AACgB;AAC1B;AACR;AAC4B;AACxB;;;AAGpC;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,wBAAwB;AACtC,cAAc,kBAAkB;AAChC;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,yCAAyC;AACvD,cAAc,uCAAuC;AACrD;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,yBAAyB;AACvC;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,wBAAwB;AACtC,+BAA+B,gCAAgC;AAC/D;AACA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD;AACA;AACA,yCAAyC,iBAAiB;AAC1D,cAAc,eAAe;AAC7B;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,SAAS,eAAe,KAAK,qBAAqB;AAClD,cAAc,cAAc;AAC5B;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,uCAAuC,2BAA2B;AAClE,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA,cAAc,OAAO;AACrB,cAAc,wBAAwB;AACtC,sCAAsC,gCAAgC;AACtE;AACA;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,qCAAqC;AACnD,cAAc,uCAAuC;AACrD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAI;AACR;AACA;;AAEA,kBAAkB,6BAAM,GAAG;;AAE3B;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,uBAAuB,wCAAgB;;AAEvC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,eAAe,YAAY;AAC3B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B,KAAK;AACL,iBAAiB,YAAY;AAC7B;;AAEA,8BAA8B;AAC9B,mBAAmB,YAAY,eAAe,6BAAK;AACnD,oDAAoD,YAAY;AAChE;AACA;AACA;AACA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB,cAAc,YAAY;AAC1B;AACA;AACA,kBAAkB,6BAAM,GAAG;;AAE3B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,WAAW,6BAAM,GAAG;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB;AAChD;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,eAAe;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC,+BAA+B,iBAAiB;;AAEhD,iCAAiC,UAAU;AAC3C;AACA;AACA;AACA;AACA,kCAAkC,0BAAQ;AAC1C,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAAM;AAC1B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ;AACzB;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,uBAAuB,2BAAQ;AAC/B;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,uBAAuB,2BAAQ;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ,yBAAyB,2BAAQ;AAC1D,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA,YAAY,8BAAM;AAClB;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oCAAgB;AACtB,MAAM,iCAAa;AACnB;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,yBAAyB;AACvC;AACA;AACA;AACA,gDAAgD,8BAAM;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,aAAa,QAAQ;AACrB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA,iBAAiB,+CAA+C,cAAc,YAAY;AAC1F;AACA;;AAEA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,0BAA0B;AACvC;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA,4BAA4B,sCAAsC;AAClE,IAAI,iCAAM,YAAY;AACtB,gCAAgC,QAAQ;AACxC,IAAI,iCAAM,8BAA8B;AACxC,8BAA8B,QAAQ;AACtC,IAAI,iCAAM,4BAA4B;;AAEtC,WAAW,8CAAiB;AAC5B;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,gDAAgD,cAAc;AAC9D;;AAEA;AACA;AACA,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA,sBAAsB,iBAAiB,cAAc,YAAY;AACjE;;AAEA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,6BAA6B;AAC1C,aAAa,0BAA0B;AACvC,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAQ;AAC9B,sBAAsB,sCAAS;AAC/B;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,YAAY;AACvD;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,yBAAyB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,MAAM;AACpB;AACA;AACA,4BAA4B,qCAAqC;AACjE;AACA,gCAAgC,OAAO;AACvC;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0CAAiB;AACrC;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,wEAAwE;AACrF;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2CAA2C;AAC1D;AACA,IAAI,iCAAM,sDAAsD,EAAE;AAClE,UAAU;AACV;AACA,MAAM,iCAAM,EAAE,oCAAO;AACrB,YAAY;AACZ,iBAAiB,qCAAiB;AAClC,KAAK,yCAAyC,+BAAY;AAC1D;AACA,iBAAiB,qCAAiB;AAClC,0CAA0C,sCAAS;AACnD,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,yBAAI;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD,aAAa,yBAAyB;AACtC,aAAa,2BAA2B;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA,WAAW,YAAY;AACvB,YAAY,qCAAqC;AACjD;AACO;AACP;AACA,WAAW,YAAY;AACvB,GAAG;AACH,WAAW,IAAU;AACrB;AACA;;;AAGA;AACA,WAAW,YAAY;AACvB,aAAa;AACb,mEAAmE;AACnE;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA,GAAG;AACH;AACA,qBAAqB,wCAAgB;AACrC;AACA;AACA;AACA,YAAY,+BAAe,CAAC,wBAAK;AACjC;AACA,eAAe,qCAAQ,UAAU,sCAAS;;AAE1C,sCAAsC,mCAAiB;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,iBAAiB;AAC5C;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,WAAW,YAAY;AACvB,YAAY,uCAAuC;AACnD;AACO;AACP;AACA;AACA;AACA;AACA;AACA,aAAa,sDAAgB;AAC7B,KAAK;AACL,aAAa,kCAAY;AACzB,KAAK;AACL,aAAa,mDAAa;AAC1B,KAAK;AACL,aAAa,kCAAY;AACzB;AACA,GAAG;AACH,WAAW,qCAAO;AAClB;AACA;;;AAGA;AACA;AACA,WAAW,UAAU;AACrB,YAAY,QAAQ;AACpB;AACO;AACP;AACA,SAAS,oCAAgB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,gFAAI,EAAC;;AAEpB,gC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3zCA;AACA;AACA;AACoC;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA,yBAAyB,gCAAgC,GAAG,yCAAyC;AACrG,IAAI,gDAAgD;AACpD;AACA;AACA;AACA,IAAI,gBAAU;;AAEd;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,WAAW;AACvB;AACA;AACA,gBAAU;AACV,aAAa,gBAAU;AACvB;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,oDAAoD;AAChE;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,oDAAoD;AAChE;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,mCAAmC;AAC/C;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,YAAY,0BAA0B;AACtC;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA,gBAAU;AACV;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA,gBAAU;;AAEV;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb,YAAY,2CAA2C;AACvD;AACA;AACA,gBAAU;AACV,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,gBAAU;AACV,EAAE,gCAAQ;AACV;;AAEA;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb;AACA;AACA,gBAAU;AACV,EAAE,gCAAQ;AACV;;AAEe,0DAAU,EAAC;;AAE1B,iC;;ACpQA;AACA;AACA;;AAEqC;AACO;AACI;AACL;AACD;AACqG;AAC3G;;;AAGpC;AACA;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAY;AAChB;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,OAAO;AACrC;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,6BAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,oCAAkB;AACxC;AACA,oBAAoB,wCAAW;AAC/B;AACA;AACA,sBAAsB,kCAAgB;AACtC;AACA;AACA;AACA,WAAW,+BAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,iCAAe;AAClC;AACA;AACA;AACA,kBAAkB,gCAAc;AAChC;AACA;AACA;AACA,qBAAqB,mCAAiB;AACtC;AACA;;AAEA;;AAEA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,4CAAqB;AACzC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,gBAAgB,kCAAgB;AAChC;AACA,0BAA0B,wCAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,4CAAqB;AACvC;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,aAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB,oCAAQ,CAAC,kCAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,OAAO;AAC7B;;AAEA;AACA,CAAC,CAAC,KAAU;;;AAGG,gFAAY,EAAC;;AAE5B,wC;;AC9kBA;AACA;AACA;;AAE6C;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,4BAA4B;AAC1C,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C,QAAQ,OAAO;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAY;;;AAGC,iFAAW,EAAC;;AAE3B,kC;;;;;;;AC7EA;AAAA;AAAA;AAAA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,YAAY,oCAAoC;AAChD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,YAAY,oCAAoC;AAChD;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,yCAAyC;AACpD,YAAY,oFAAoF;AAChG;AACA;AACO;AACP;AACA;AACA,eAAe,6BAA6B;AAC5C,eAAe,OAAO;AACtB,gBAAgB,oCAAoC;AACpD;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA,iBAAiB,mCAAmC;AACpD;AACA,yCAAyC,gCAAgC;AACzE,2CAA2C,gCAAgC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2C;;;;;;;AC5DA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACT;AACsB;AACpB;AACmD;;;AAGpF;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ,OAAO;;AAE9C,sBAAsB,8DAAM,GAAG;;AAE/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,6CAA6C,oEAAgB;;AAE7D;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;;AAEA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,aAAa,kGAAkG;AAC/G;AACA;AACA;AACA;AACA,eAAe,oDAAoD;AACnE;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,oDAAoD;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,oDAAoD;AAChE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,sBAAsB;AAC3B,YAAY,wIAAwI;AACpJ;AACA;AACA;AACA,gDAAgD,0EAAkB;AAClE;AACA,kBAAkB,0EAAe;AACjC;AACA;;AAEA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yDAAK;;;AAGP;AACA,0BAA0B,2CAA2C;AACrE;AACA,YAAY,sCAAsC;AAClD;AACA;AACA;;;AAGe,oEAAW,EAAC;;AAE3B,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvQA;AACA;AACA;AAC6B;AACU;AACQ;AACO;AACR;;;AAG9C,IAAI,mBAAS;AACb;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA,mBAAmB,4BAAS;AAC5B,KAAK;AACL,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;AACA;AACA,QAAQ,oCAAU,cAAc,4BAAS;AACzC;AACA,QAAQ,oCAAU,cAAc,4BAAS;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,+BAAa;AACjD;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGN;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;AACA,YAAY,4CAAqB;AACjC;AACA;AACA;AACA;;AAEe,oEAAS,EAAC;;AAEzB,qC;;;;;;;;;;;;;;ACxKA;AACA;AACA;AAC+C;AACsD;AACzD;AACY;;;AAGxD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,uCAAuC;AAClD,WAAW,qCAAqC;AAChD,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;;AAEA,qBAAqB,oCAAS;;AAE9B;AACA,yBAAyB,6CAAkB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,+CAAkB;AACzC,6BAA6B,6CAAkB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,qCAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,WAAW,6BAA6B;AACxC,WAAW,4CAA4C;AACvD;AACA,WAAW,OAAO;AAClB,gFAAgF,EAAE;AAClF;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,kBAAkB;AAC9B;AACO,SAAS,aAAM;AACtB;AACA;;AAEA,gBAAgB,4CAAqB;AACrC;;AAEA;AACA;AACA;;AAEA;;AAEA,yBAAyB,wCAAW;AACpC;AACA,IAAI,mCAAM;AACV,GAAG;;AAEH,2BAA2B,qCAAQ;AACnC,4BAA4B,sCAAS;AACrC,sBAAsB,4CAAqB;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA;AACA,mBAAmB,qCAAQ;AAC3B,oBAAoB,sCAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,sBAAsB,uCAAU;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yCAAiB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA,kC;;ACpPA;AACA;AACA;AAEqE;AACnC;AACM;;;AAGxC;AACA,mBAAmB;AACnB,aAAa,OAAO;AACpB,cAAc,6CAA6C;AAC3D,cAAc,6CAA6C;AAC3D;;;AAGA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA,aAAa,uDAAuD;AACpE;AACA,qBAAqB,uCAAY;;AAEjC;AACA,aAAa,sCAAsC;AACnD,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,OAAO,qCAAQ,qBAAqB,qCAAQ;;AAE5C;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,qCAAQ;;AAEZ;AACA,YAAY;AACZ;AACA;AACA;AACA,IAAI,qCAAQ;;AAEZ,2BAA2B,uCAAU;AACrC,4BAA4B,wCAAW;AACvC,+BAA+B,2CAAc;AAC7C,8BAA8B,0CAAa;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,sCAAsC;AACjD,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;;AAEb,yBAAyB,2CAAc;AACvC;AACA,IAAI,qCAAQ;AACZ,oCAAoC,OAAO;;AAE3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,6BAA6B,2CAAc;AAC3C,4BAA4B,qCAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,8BAAM;AACnB,aAAa,8BAAM;AACnB;AACA,YAAY,8BAAM;AAClB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C;AACA,2BAAa;AACb,eAAe,wCAAW;;AAE1B;AACA;AACA,IAAI,6CAAgB;AACpB,IAAI,6CAAgB;AACpB,IAAI,6CAAgB;AACpB,GAAG;;AAEH;AACA;;AAEA;AACA,YAAY,gBAAgB;AAC5B;AACA,2BAAa;AACb;AACA;;AAEe,oFAAa,EAAC;;AAE7B,yC;;ACxVA;AACA;AACA;AAC4C;;AAEd;AACU;AACW;AACJ;AACkB;AAChC;AACmD;AACrC;;;AAG/C;AACA,aAAa,wEAAwE;AACrF;;;AAGA;AACA;AACA;AACA,QAAQ,2CAA2C;AACnD;AACA;AACA,IAAI,eAAU;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAAS;;AAExC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,4CAAe;;AAErB,QAAQ,oCAAO;AACf;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,0BAA0B,4CAAe;AACzC;AACA;;AAEA;AACA;;AAEA,uBAAuB,sCAAS;AAChC,2BAA2B,yBAAyB;AACpD;;AAEA;AACA;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA,2BAA2B,iCAAe;;AAE1C;AACA;AACA,cAAc;AACd;AACA,8BAA8B,oBAAa;AAC3C;AACA;;AAEA;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA,0BAA0B,6BAAK;AAC/B;AACA,0BAA0B,6BAAK;AAC/B;AACA,OAAO;AACP,uBAAuB,4CAAe;AACtC;AACA;;AAEA,SAAS,oCAAO;AAChB,mBAAmB,4BAAS;AAC5B,KAAK;AACL;AACA;;AAEA,uCAAuC,0BAA0B;AACjE,yCAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,4BAAS;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA,mBAAmB,4BAAS;AAC5B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,aAAiB;AACtC;AACA;AACA;;AAEA,mBAAmB,4BAAS;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,mBAAmB,4BAAS;AAC5B;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB,4BAAS,kBAAkB,4BAAS;AACzD;;AAEA,gCAAgC,gCAAM,OAAO,4BAAS;AACtD;AACA;AACA,2BAA2B,4BAAS;AACpC,6BAA6B,4BAAS;AACtC,6BAA6B,4BAAS;AACtC,gBAAgB,uCAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,OAAO;;AAEP;AACA;AACA,qBAAqB,4BAAS;AAC9B;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,+BAAa;AACnD;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGS,+DAAU,EAAC;;AAE1B,gC;;;;;;;;;;;ACvTA;AACA;AACA;AAC+D;AAC7B;AACM;AACA;AACA;AACJ;AACW;AACa;AACjB;AACR;AACe;AAC0B;;AAE5E;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB;AACA,cAAc,6BAA6B;AAC3C,cAAc,yCAAyC;AACvD,eAAe,oCAAoC;AACnD,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;AACvF,OAAO,IAAI,2CAA2C,IAAI;AAC1D;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B,YAAS;;AAEnC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;;AAEA,+EAA+E;AAC/E;AACA;AACA,uEAAuE;AACvE;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,+CAA+C,qCAAU;AACzD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,+CAA+C,qCAAU;AACzD;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA,uCAAuC,qCAAU;AACjD;AACA,KAAK;AACL,oBAAoB,8BAAM;AAC1B;AACA,8CAA8C,+CAAwB;AACtE;AACA;AACA,mBAAmB,2CAA2C;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA,wCAAwC,kBAAkB,qCAAU;AACpE;AACA,KAAK;AACL,oBAAoB,8BAAM;AAC1B;AACA,mDAAmD,4BAAS;AAC5D;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4BAAS,QAAQ,4BAAS;AACxD;AACA;AACA;AACA;AACA;AACA,IAAI,gCAAM,OAAO,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sCAAsC,yCAAyC;AAC/E,SAAS,4CAA0B;AACnC,4CAA4C,qCAAU;AACtD;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,mCAAM;AAC/B;AACA,0BAA0B,8BAA8B;AACxD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,0BAA0B,WAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,yCAAyC;AACtD,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,4BAAS;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA,SAAS,4CAA0B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,0CAA0C;AACvD;AACA;AACA;AACA,QAAQ,4CAA0B;AAClC,iBAAiB,8BAAa;AAC9B;AACA,sBAAsB,8BAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iCAAO;;;AAGT;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB;AACA;AACA,aAAa,kCAAkC;AAC/C;;AAEe,wEAAS,EAAC;;AAEzB,qC;;ACtZA;AACA;AACA;;AAEuC;AACwB;;AAE/D;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,oCAAoC;AAClD,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C,cAAc,iCAAiC;AAC/C;AACA;AACA,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG;AAC5E,SAAS,EAAE,oBAAoB,IAAI,2CAA2C,IAAI;AAClF;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,GAAG;AAClB;AACA,IAAI,iCAAiC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAG;AACP;AACA;AACA;AACA;;AAEA;AACA,MAAM,wCAAS;AACf,gBAAgB,mDAAoB;AACpC;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gBAAS;;AAEI,iFAAG,EAAC;;AAEnB,+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GA;AACA;AACA;AACqC;AACS;AACR;AACD;AACc;;;AAGnD;AACA,aAAa,OAAO;AACpB,cAAc,YAAY;AAC1B;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA,8BAA8B,sCAAsC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA,oDAAoD,yBAAI;;AAExD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,iCAAU;AACd;AACA;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA,MAAM,iCAAU;AAChB;AACA,kDAAkD,QAAQ;AAC1D,MAAM,uCAAa;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,yBAAI;AAC9B,+BAA+B,gCAAM;AACrC,UAAU,+BAAY;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGG,mEAAO,EAAC;;AAEvB,mC;;;;;;;;;;;AC7JA;AACA;AACA;AACmC;AACA;AAC0C;AACvB;AAClB;AACW;AACO;;;AAGtD;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,gCAAM,SAAS,4BAAS;;AAE5B,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E,sDAAsD,8BAAe;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA,WAAW,4CAAmB;AAC9B;AACA;;AAEA,8BAA8B,oCAAoC;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,+BAAM;AACd;AACA;;AAEA,IAAI,qCAAc;;AAElB;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,8BAAe;AACjD;AACA,MAAM,kCAAW;AACjB,KAAK;AACL,MAAM,kCAAW;AACjB;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGT;AACA;AACA,WAAW,iCAAiC;AAC5C,UAAU;AACV;AACA;AACO;AACP;AACA;;;AAGe,+EAAW,EAAC;;AAE3B,uC;;;;;ACpVA;AACA;AACA;AACmC;AACuC;AACrC;AACD;AACW;;;AAG/C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,2CAA2C;AACzD;AACA,cAAc,WAAW;AACzB;AACA,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;;AAEA;;AAEA;AACA;AACA,gCAAgC,aAAM;AACtC;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,gCAAM,SAAS,4BAAS;;AAE5B,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,iCAAiC,2BAAY;AAC7C;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGT;AACA;AACA,WAAW,iCAAiC;AAC5C,UAAU;AACV;AACA;AACO,SAAS,aAAM;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,2BAAY;AACjE;AACA,mCAAmC,2BAAY;AAC/C,OAAO;AACP,sCAAsC,2BAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,gEAAM,EAAC;;AAEtB,kC;;ACtLA;AACA;AACA;AACoC;AACW;AACZ;AACyB;AACvB;;;AAGrC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA,cAAc,mBAAmB;AACjC;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,mBAAmB;AACjC;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,SAAI;AACR;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,gCAAM,YAAY,4BAAS;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,gCAAM,aAAa,4BAAS;;AAEhC,uCAAuC,iCAAkB,SAAS,4BAAa;AAC/E;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAO;;;AAGM,0DAAI,EAAC;;AAEpB,gC;;AC5IA;AAAA;AACA;AACA;AAC0C;AACC;AACV;AACJ;;;AAG7B;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB,IAAI,gDAAgD;AACpD,cAAc,mCAAmC;AACjD,gBAAgB,gDAAgD;AAChE,cAAc,QAAQ;AACtB,IAAI,sCAAsC;AAC1C,cAAc,8BAA8B;AAC5C,QAAQ,sCAAsC;AAC9C,cAAc,QAAQ,iBAAiB,kCAAkC;AACzE,cAAc,4BAA4B;AAC1C,IAAI,kCAAkC;AACtC;AACA;;;AAGA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN,MAAM;AACN;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACO;;AAEP;;AAEA,qBAAqB,6BAAU;;AAE/B;AACA;AACA,sBAAsB,YAAI;AAC1B;;AAEA;AACA;AACA,sBAAsB,cAAM;AAC5B;;AAEA;AACA;AACA;AACA,sBAAsB,mBAAW;AACjC;;AAEA;AACA;;AAEA,gC;;;;;;;AClEA;AAAA;AAAA;AACA;AACA;AAC6B;AACkB;;;AAG/C;AACA,yEAAyE;AACzE;AACA;AACA,WAAW;AACX;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA,cAAc,4CAA4C;AAC1D,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,4BAA4B;AAC1C,cAAc,8BAA8B;AAC5C,cAAc,4BAA4B;AAC1C;AACA,cAAc,8BAA8B;AAC5C;AACA,cAAc,cAAc;AAC5B;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,QAAQ,wDAAI,EAAE,0BAA0B;;AAExC;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,0EAA0E,iEAAa;;AAEvF;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA,WAAW,KAAK;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4CAA4C;AACvD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,8BAA8B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,QAAQ;AAClB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,4CAA4C;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,4BAA4B;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,8BAA8B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,4BAA4B;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,8BAA8B;AACxC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;;AAEe,6DAAI,EAAC;;AAEpB,gC;;;;;;;ACrfA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACT;AACc;AACZ;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,oCAAoC;AAClD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,8DAAM,GAAG;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,gEAAY;AACvD;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,gEAAY;AACxD;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA,CAAC,CAAC,yDAAK;;;AAGP;AACA,0BAA0B,uCAAuC;AACjE;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;;;AAGe,kEAAS,EAAC;;AAEzB,gC;;;;;;;AC7HA;AAAA;AAAA;AACA;AACA;;AAE2B;;;AAG3B;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACO,yBAAyB;AAChC;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,OAAO;AACrB,cAAc,YAAY;AAC1B;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO,gBAAgB,IAAI,yBAAyB,EAAE,EAAE,EAAE,EAAE,EAAE;AAC5E,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;AAChD,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B,IAAI,yBAAyB,EAAE,EAAE,EAAE,EAAE,EAAE;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uDAAG;;AAEU,4DAAG,EAAC;;AAEnB,+B;;;;;;;AC1FA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACwC;AACH;AACQ;AACP;AACuB;AAC5B;;;AAGjC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,0CAA0C;AACxD,cAAc,qCAAqC;AACnD;AACA;AACA,QAAQ,6BAA6B;AACrC,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,qCAAqC;AACnD;AACA,cAAc,sCAAsC;AACpD,IAAI,sBAAsB;AAC1B,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA,0DAA0D;AAC1D,gCAAgC;AAChC;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,wEAAoB;AAC/D,IAAI,kEAAM;AACV,qBAAqB,wEAAoB;AACzC,qBAAqB,wEAAoB;AACzC,qBAAqB,wEAAoB;AACzC,QAAQ;AACR,2CAA2C,wEAAoB;AAC/D,mBAAmB,wEAAoB;AACvC;AACA;;AAEA,iCAAiC,OAAO,KAAK,8DAAM,GAAG;AACtD;AACA;;AAEA,gCAAgC,8BAA8B;;AAE9D;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,gBAAgB,6DAAS;;AAEzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,sBAAsB,OAAO,cAAc,gEAAY;AACvD;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,gEAAY;AACxD;;AAEA;AACA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,aAAa,gEAAY;AACzB;;AAEA;AACA,CAAC,CAAC,0DAAW;;;AAGb;AACA,0BAA0B,mDAAmD;AAC7E;AACA,YAAY,0CAA0C;AACtD;AACA;AACA;AACe,wEAAe,EAAC;;AAE/B,sC;;;;;;;;;;;;;;;;;;;;;AC3KA;AACA;AACA;AACsC;;AAEtC;AACA;AACA;AACA,QAAQ,0CAA0C;AAClD;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,wDAAQ,EAAC;;AAExB,oC;;ACxCA;AACA;AACA;AACqC;;AAErC;AACA;AACA;AACA,QAAQ,0CAA0C;AAClD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,WAAQ;;;AAGK,sEAAe,EAAC;;AAE/B,2C;;;;;;;;AChFA;AACA;AACA;AAC8C;;AAE9C;AACA;AACA,UAAU;AACV;AACe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,4BAAS;;AAElB;AACA;AACA;AACA;AACA;AACA,YAAY,4BAAS;;AAErB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,+C;;ACzDA;AACA;AACA;AACmD;;AAEnD;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAe;;AAEF,oFAAsB,EAAC;;AAEtC,kD;;;;;;;;AC3BA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,qC;;ACnBA;AACA;AACA;;AAEA,IAAI,uBAAW;;AAEf;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,YAAY,cAAc;AAC1B;AACA,uBAAW;AACX;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA,uBAAW;AACX;AACA;;AAEe,+EAAW,EAAC;;AAE3B,uC;;ACtCA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;;AAG3C;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,iDAAiD,uBAAuB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;;AAGb;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,2CAA2C;AACtD,YAAY,OAAO;AACnB;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGe,mEAAW,EAAC;;AAE3B,uC;;AC1PA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;;AAG3C;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,cAAc,OAAO;AACrB;AACA;AACA,eAAe,sBAAsB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,6DAAQ,EAAC;;AAExB,oC;;ACpMA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE2C;;AAE3C;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,qEAAY,EAAC;;AAE5B,wC;;AC5IA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAEwC;;;AAGxC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAM;;;AAGR;AACA,WAAW,kBAAkB;AAC7B,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,kBAAkB;AAC7B,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,sCAAsC,WAAW;AACjD;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAEc,qEAAY,EAAC;;AAE5B,wC;;;;;AC/QA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAEmC;AACQ;AACC;;;AAG5C;AACA,UAAU;AACV;AACA;;AAEA;AACA,UAAU;AACV;AACA,IAAI,wBAAY;;AAEhB;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV,WAAW,WAAW;AACtB;AACA;AACA;AACA;;;AAGA,IAAI,uBAAW;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,+BAAM;AACd,OAAO;AACP;AACA;;AAEA;AACA,CAAC,CAAC,mBAAW;;AAEE,+EAAW,EAAC;;AAE3B,uC;;AC1aA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D,oBAAoB;AACpB;AACA;AACA;;AAE8C;AACA;AACM;AACN;AACkC;AAC3C;AACQ;AACA;AACF;;;AAG3C;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,IAAI,uCAAmB;AACvB;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,sBAAO;AACf,wCAAwC,oBAAY;AACpD,KAAK,UAAU,wBAAS;AACxB,oCAAoC,gBAAQ;AAC5C,KAAK;AACL,4BAA4B,mBAAW;AACvC;;AAEA,UAAU,oBAAK;AACf,yCAAyC,mBAAW;AACpD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,MAAM,mCAAM;AACZ,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,cAAc;AAC3B;AACA;AACA;AACA,MAAM,qCAAQ;AACd,KAAK;AACL;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB,aAAa,YAAY;AACzB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA,mBAAmB,iBAAgB;AACnC;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA,eAAe,oBAAY;AAC3B;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,MAAM;AACnB,cAAc,aAAa;AAC3B;AACA;AACA;AACA,iBAAiB,YAAiB;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yBAAW;;AAEE,uGAAmB,EAAC;;AAEnC,+C;;ACraA;AACA;AACA;AAC4C;AACe;AACM;AACf;AACL;AACS;AACa;;AAEnE,IAAI,6CAAsB;AAC1B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sBAAsB,iCAAkB,GAAG,iCAAkB;;AAE7D;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,oCAAoC,2BAAmB;;AAEvD;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,mCAAmC,mCAAM;AACzC,MAAM,iBAAgB;AACtB;;AAEA;AACA,cAAc;AACd;AACA;AACA,+BAA+B,mCAAM;AACrC,MAAM,iBAAgB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAsB;AAC3C,QAAQ,mBAAmB;AAC3B;AACA,KAAK;AACL;AACA;AACA;AACA,2BAA2B,yBAAsB;AACjD,UAAU,mBAAmB;AAC7B;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,mBAAmB;AACzC,sBAAsB,mBAAmB;AACzC;AACA,KAAK,wBAAwB,mBAAmB;AAChD;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,kCAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,uBAAuB,yBAAsB;AAC7C,MAAM,mBAAmB;AACzB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,2BAAmB;;AAEjC;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAM;AACd,UAAU,mBAAmB;AAC7B;AACA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAsB;AAC/C,QAAQ,mBAAmB;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,4CAA4C;AACzD;AACA;AACA;AACA;AACA;AACA,2BAA2B,yBAAsB;AACjD;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;;AAEA,mCAAmC,kCAAa;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,yBAAW;;;AAGE,2GAAsB,EAAC;;AAEtC,kD;;;;;ACvUA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,uC;;;;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACqC;AACL;;;AAGhC;AACA,UAAU;AACV;AACO;;;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,2BAAa;AACb;AACA;AACA,EAAE,4BAAK;AACP;;;AAGA;AACA;AACA,YAAY,EAAE;AACd;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb,EAAE,iCAAM;AACR,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,YAAY,OAAO;AACnB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA,2BAAa;AACb;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;;;AAGA;AACA,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA,2BAAa;AACb;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,2BAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGe,qFAAa,EAAC;;AAE7B,yC;;ACnRA;AACA;AACA;AACuC;AACM;AACC;AACS;;;AAGvD;AACA,aAAa,oGAAoG;AACjH;;;AAGA,IAAI,mBAAS;AACb;;AAEA;AACA;AACA,iBAAiB,MAAM;AACvB,kBAAkB,OAAO;AACzB;AACA;AACA;AACA,OAAO;AACP;AACA,iBAAiB,MAAM;AACvB,kBAAkB,OAAO;AACzB;AACA;AACA,2BAA2B,4BAA4B;AACvD,OAAO;;AAEP;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,mCAAM,OAAO,4BAAS;AAC5B;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,aAAa,oCAAoC;AACjD;AACA;AACA;AACA,0BAA0B,4BAA4B;AACtD;AACA,kBAAkB,4BAAS,qBAAqB,4BAAS;AACzD,kBAAkB,4BAAS,oBAAoB,4BAAS;AACxD,MAAM,qCAAQ,OAAO,4BAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA,oBAAoB,4BAAS;AAC7B;AACA,OAAO,oBAAoB,4BAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,qBAAa;;;AAGA,oEAAS,EAAC;;AAEzB,qC;;;;;;;;;;;;;;;;;;;;;;;AClIA;AACA;AACA;AACkC;AACQ;AACkB;AACZ;AACI;AACf;AACc;AACJ;AACF;AACX;AACM;AACK;;;AAG7C;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,8BAA8B;AAC5C;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,mGAAmG;AACjH;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,MAAM,sCAAsC;AAC5C;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAU;AACd;;AAEA;AACA,iCAAiC,QAAQ,KAAK,6BAAM,GAAG;AACvD;;AAEA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAM;AACV,MAAM,+CAAkB;AACxB;;AAEA;AACA;AACA,qBAAqB,6BAAU,kBAAkB,aAAa;AAC9D,OAAO;AACP,QAAQ,iCAAM,mBAAmB,EAAE;AACnC,cAAc;AACd;AACA,KAAK;AACL,mBAAmB,6BAAU,aAAa,aAAa;AACvD;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,kCAAa;AAClD;;AAEA;AACA;AACA,MAAM,mCAAM,SAAS,sCAAmB;AACxC,MAAM,mCAAM,SAAS,sCAAmB;AACxC;;AAEA;AACA,qCAAqC,kCAAa;AAClD;AACA,IAAI,4BAAK;;AAET;AACA,4CAA4C,QAAQ;AACpD;AACA,yBAAyB,8BAAM;AAC/B,QAAQ,mCAAM,QAAQ,kCAAe;AACrC,QAAQ,mCAAM,QAAQ,4BAAS;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,uBAAuB,8BAAM;AAC7B,MAAM,mCAAM,QAAQ,kCAAe;AACnC,MAAM,mCAAM,QAAQ,4BAAS;AAC7B;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,4BAA4B;AACvD,cAAc,8BAAM;AACpB,oCAAoC,kCAAa;AACjD;AACA;AACA;;AAEA;AACA,kBAAkB,sCAAsC,KAAK;AAC7D;AACA,cAAc,iEAAiE;AAC/E,QAAQ,kCAAkC;AAC1C;AACA;AACA;AACA;AACA;AACA,iBAAiB,iEAAiE;AAClF;AACA;;AAEA;AACA,cAAc,sCAAsC,KAAK;AACzD;AACA,aAAa,iEAAiE;AAC9E,QAAQ,kCAAkC;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4CAAe;AAC7C,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAW;AACtB;;AAEA;AACA,CAAC,CAAC,uBAAS;;;AAGI,0DAAU,EAAC;;AAE1B,iC;;;;;;;;ACnPA;AACA;AACA;AACiC;AACQ;AACkB;AACR;AACc;AACN;AACtB;AACQ;AACF;AACS;AACO;AACR;AACZ;AACV;AACQ;AACD;AACA;AACwB;AACV;AACJ;AAC0D;AACpE;AACe;AACT;AACR;AACc;AACkC;;;AAGlF;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,0BAA0B;AACxC,cAAc,QAAQ;AACtB,cAAc,mCAAmC;AACjD,cAAc,kCAAkC;AAChD,cAAc,qCAAqC;AACnD,cAAc,OAAO;AACrB,cAAc,iDAAiD;AAC/D,cAAc,wCAAwC;AACtD,cAAc,mCAAmC;AACjD,cAAc,0BAA0B;AACxC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,UAAU;AACxB,cAAc,iEAAiE;AAC/E,cAAc,cAAc;AAC5B,cAAc,yCAAyC;AACvD;;;AAGA;AACA,aAAa,6CAA6C;AAC1D;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,gEAAgE;AAC9E;AACA,IAAI,4CAA4C;AAChD;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,mDAAmD;AACjE,cAAc,2DAA2D;AACzE,cAAc,qBAAqB;AACnC,cAAc,2CAA2C;AACzD,cAAc,kBAAkB;AAChC;;;AAGA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,iGAAiG;AAC/G;AACA,IAAI,iCAAiC;AACrC,cAAc,OAAO;AACrB;AACA,cAAc,iHAAiH;AAC/H;AACA,IAAI,qCAAqC;AACzC,cAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kGAAkG;AAChH;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc,iFAAiF;AAC/F;AACA,cAAc,mBAAmB;AACjC;AACA,UAAU,kCAAkC;AAC5C;AACA,cAAc,KAAK;AACnB;AACA,IAAI,gCAAgC;AACpC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAY;AAChB;;AAEA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,2BAA2B,iCAAkB;;AAE7C;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA,uCAAuC,sCAAe;;AAEtD;AACA;AACA,cAAc;AACd;AACA,uCAAuC,sCAAe;;AAEtD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,gDAAgD,oBAAK;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf,MAAM,mBAAmB;AACzB,MAAM,4BAAS;AACf,MAAM,4BAAS;AACf;AACA,8CAA8C,QAAQ;AACtD,MAAM,mCAAM,oDAAoD,gCAAe;AAC/E;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,uCAAuC,yBAAsB;AAC7D,oBAAoB,mBAAmB;AACvC,MAAM,mCAAM,+BAA+B,mBAAmB;AAC9D;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAM,iBAAiB,4BAAS;AACpC,IAAI,mCAAM,iBAAiB,4BAAS;AACpC,IAAI,mCAAM,iBAAiB,4BAAS;;AAEpC;AACA,cAAc;AACd;AACA;AACA,oDAAoD,6BAAU;;AAE9D;AACA,cAAc;AACd;AACA;AACA,4DAA4D,6BAAU;;AAEtE;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0BAA0B,YAAS;AACnC;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA,IAAI,mCAAM;AACV,YAAY,+CAAkB,CAAC,WAAW;AAC1C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;AACA,IAAI,mCAAM,OAAO,+CAAkB,CAAC,WAAW;AAC/C;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,uCAAuC;AACxD,gBAAgB;AAChB;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,gBAAgB,sCAAmB;AAC7C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,gBAAgB,sCAAmB;AAC7C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,iBAAiB,+CAA+C;AAChE,gBAAgB;AAChB;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,oBAAoB,sCAAmB;AACjD;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP,IAAI,mCAAM,oBAAoB,sCAAmB;AACjD;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,OAAO;;AAEP;;AAEA,IAAI,mCAAM,iBAAiB,sCAAmB;AAC9C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA,4CAA4C,+BAA+B;AAC3E,OAAO;;AAEP,IAAI,mCAAM,iBAAiB,sCAAmB;AAC9C;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA,iCAAiC,+BAA+B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,sCAAsC;AAC5C,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC,IAAI,qCAAQ,iBAAiB,4BAAS;AACtC;AACA,0BAA0B,4BAAS;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa;AACb,gDAAgD;AAChD;AACA,UAAU,gCAAgC;AAC1C,UAAU,8CAA8C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA,aAAa,gBAAgB;AAC7B,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe,OAAO;AACvC;AACA;AACA;AACA,gCAAgC,yBAAI;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,gBAAgB;AAC7B,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,yFAAyF;AACtG;AACA,UAAU,kCAAkC;AAC5C;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,eAAe,OAAO;AAClE;AACA;AACA,6CAA6C,yBAAI;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,aAAa,gBAAgB;AAC7B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,eAAe,OAAO;AACvC,wFAAwF,yBAAI;AAC5F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,MAAM;AACnB,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW;AAC5B,iBAAiB,WAAW;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD;AACnD,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B,cAAc,WAAW;AAC5E;;AAEA;AACA;AACA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa,qCAAc;AAC3B;AACA;;AAEA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,2CAA2C;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,cAAc;AAC3B,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,2DAA2D;AACzE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,WAAW;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB,WAAW,cAAc,WAAW;AACrD;AACA;;AAEA;AACA;AACA,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD,cAAc,2BAA2B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,aAAa,qCAAc;AAC3B;AACA;;AAEA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;AACA,iBAAiB,mCAAmC,cAAc,WAAW;AAC7E;AACA;;AAEA;AACA;AACA;AACA,cAAc,KAAK;AACnB;AACA;AACA;AACA;AACA;AACA,iBAAiB,KAAK,cAAc,WAAW;AAC/C;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD;AACxD;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,gDAAgD;AACxE,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;AACA,aAAa,4BAA4B;AACzC,aAAa,OAAO;AACpB,aAAa,qCAAqC;AAClD,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA,8BAA8B,kBAAe;AAC7C;AACA;;AAEA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2BAAQ;AAC1B;AACA;AACA;AACA,kBAAkB,2BAAQ;AAC1B;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uCAAuC,mCAAe;AACtD;AACA,yCAAyC,mCAAe;AACxD;;AAEA;AACA,oDAAoD,QAAQ;AAC5D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD,QAAQ;AAC/D,QAAQ,0CAAa;AACrB;AACA;AACA;;AAEA;AACA;AACA,MAAM,iCAAU;AAChB;AACA,4BAA4B,4BAAS;AACrC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,QAAQ,mCAAM,sBAAsB,4BAAS;AAC7C,QAAQ,mCAAM,sBAAsB,4BAAS;AAC7C;;AAEA;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA,MAAM,0CAAa;AACnB;AACA;AACA;AACA;AACA,+CAA+C,8BAAM;AACrD,sCAAsC,mCAAM;AAC5C,cAAc,kCAAe;AAC7B;AACA,oCAAoC,mCAAM;AAC1C,cAAc,4BAAS;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mDAAmD,kCAAa;AAChE;AACA;AACA;AACA;AACA;AACA,QAAQ,mCAAM;AACd,sBAAsB,kCAAe;AACrC;AACA,QAAQ,mCAAM;AACd,sBAAsB,4BAAS;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,uCAAuC;AACpD,cAAc,iDAAiD;AAC/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,yDAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,kCAAkC;AAC/C,cAAc,4CAA4C;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+BAA+B;AAC5C,cAAc,yCAAyC;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,wCAAW;AAC5B;AACA,eAAe,YAAY;AAC3B;AACA,8BAA8B,kCAAO;AACrC;AACA;AACA;AACA,mDAAmD,QAAQ;AAC3D,oBAAoB,8BAAM;AAC1B;AACA;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,0BAA0B,8CAAiB;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,oCAAO;AAC7B,qBAAqB,mCAAM;AAC3B;AACA;AACA,gBAAgB,WAAQ,CAAC,+BAAY;AACrC,iCAAiC,gDAAmB;AACpD;AACA;;AAEA;AACA,gCAAgC,2BAAQ;AACxC,gCAAgC,2BAAQ;AACxC,WAAW,mCAAM;;AAEjB;AACA,+BAA+B,WAAQ,CAAC,+BAAY;AACpD,QAAQ,kCAAK;AACb;AACA;;AAEA,2BAA2B,WAAQ,CAAC,+BAAY;;AAEhD;;AAEA;;AAEA;AACA;AACA,aAAa,WAAW;AACxB;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA;AACA,aAAa,KAAK;AAClB;AACA;AACA;AACA;AACA,aAAa,WAAW;AACxB;;AAEA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA,6BAA6B,8BAAM;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,+BAA+B;AAC5C;AACA;AACA,oCAAoC,8BAAM;AAC1C;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,WAAW;AACtB,YAAY,mBAAmB;AAC/B;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA,uDAAuD,EAAE;AACzD,eAAe,WAAW,2BAA2B,KAAU,EAAE,mBAAmB,WAAW,qBAAqB;AACpH,SAAS,WAAW;;AAEpB,SAAS,WAAW;;AAEpB,SAAS,WAAW;AACpB,uBAAuB,uBAAI;;AAE3B;AACA;AACA;AACA,qBAAqB,6BAAU;AAC/B,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,4BAA4B,WAAW;AACvC;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,6BAAU;AACnC,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,gCAAgC,WAAW;AAC3C;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,6BAAU;AAC/B,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ;AACA;AACA,GAAG;AACH,mBAAmB,6BAAU;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,6EAAY,EAAC;;AAE5B;AACA,YAAY,yCAAyC;AACrD,YAAY,QAAQ;AACpB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA,0BAA0B,EAAE;AAC5B,mCAAmC,WAAW;AAC9C,KAAK;AACL,8BAA8B,mCAAmC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wC;;;;;ACr6CA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEe,sDAAO,EAAC;;AAEvB,mC;;;;;ACxHA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA,CAAC,EAAC;;AAEF,oC;;;;;ACXA;AACA;AACA;AACsC;AACO;AACG;AACf;;;AAGjC;AACA;AACA,aAAa,OAAO;AACpB,cAAc,0DAA0D;AACxE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,iBAAiB,sDAAsD;AACvE,6BAA6B,kCAAkC;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,cAAc,oBAAmB;AAC/D;;AAEA;AACA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,kDAAkD;AACpE,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA,aAAa,oBAAmB;AAChC;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA,WAAW,6BAA6B;AACxC,WAAW,sCAAsC;AACjD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAM;AACtB;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yBAAO;AACvB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB,WAAW,QAAQ,iCAAiC;AACpD;AACA,sCAAsC;AACtC;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,OAAO;AAClB,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;;AAEA;AACA;AACA,iBAAiB,6BAAK;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,WAAW,6BAA6B;AACxC,WAAW,iBAAiB;AAC5B,WAAW,uCAAuC;AAClD,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yBAAO;AACvB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,mFAAW,EAAC;;AAE3B,uC;;AC9PA;AACA;AACA;AAC4D;AACF;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,2BAAW;AACpB;AACA,8BAA8B,mBAAmB;AACjD,kCAAkC,WAAW;AAC7C;AACA;AACA;AACA;AACA,IAAI,WAAW;AACf;AACA;AACA;AACA;AACA;;AAEe,+EAAe,EAAC;;AAE/B,2C;;;;;ACzEA;AACA;AACA;AAC4D;AACvB;AACO;AACN;;;AAGtC;AACA,6BAA6B,gCAAgC;AAC7D,KAAK,QAAQ;AACb;AACA,aAAa,oEAAoE;AACjF;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,IAAI,eAAK;AAChB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,aAAa,yBAAI;;;AAGxB;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACO;AACP,iCAAiC,WAAW;AAC5C;AACA,QAAQ,qBAAM,IAAI,kBAAG;AACrB;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,YAAY,0BAAK;;;AAGxB;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO,IAAI,qBAAW;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,mBAAmB;AACpD;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA,KAAK,kBAAG;AACR;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,gCAAgC,4CAA4C;AAC5E,EAAE,iCAAM,iCAAiC;AACzC;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB;AACA;AACO;AACP,gCAAgC,4CAA4C;AAC5E,EAAE,iCAAM,iCAAiC;AACzC;AACA;;AAEA,qC;;ACxPA;AACA;AACA;AAC4D;AACjB;AACP;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,iEAAiE;AAC/E;AACA;AACA,cAAc,yDAAyD;AACvE;AACA;AACA,cAAc,0DAA0D;AACxE;AACA;AACA;AACA;AACA,cAAc,yDAAyD;AACvE;AACA;AACA;AACA,cAAc,iEAAiE;AAC/E;AACA;AACA,cAAc,0BAA0B;AACxC;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,0BAAkB;AACtB;;AAEA;;AAEA,gCAAgC,8CAA8C;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;;AAEA;AACA,kBAAkB,kDAAkD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,+CAA+C;AACpE;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;AACA,OAAO,kCAAkC,mBAAmB;AAC5D;AACA;AACA;AACA,KAAK;AACL,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,kCAAkC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;;AAEA;AACA;AACA,aAAa,+CAA+C;AAC5D,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC,mBAAmB;AACrD;AACA,OAAO;AACP,UAAU,mBAAmB;AAC7B;AACA,OAAO;AACP;AACA;AACA;AACA,4BAA4B,gCAAS;AACrC;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,WAAW,oDAAoD;AAC/D,YAAY,4BAA4B;AACxC;AACO,SAAS,gBAAQ;AACxB;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,+CAA+C;AAC1D,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC,aAAa,mBAAmB;AAChC,aAAa,mBAAmB;AAChC;;;AAGe,sEAAkB,EAAC;;AAElC,mC;;ACzOA;AACA;AACA;AACsC;AACsE;AACvE;AACiB;AAChB;AAC4C;;;AAGlF;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C,uCAAuC,gDAAgD;AAChJ;AACA,eAAe,gDAAgD;AAC/D,cAAc,gCAAgC;AAC9C;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;AACA,gBAAgB,0BAAK;AACrB,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,cAAc;;AAE5E;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,2BAAQ;AAC9C;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,sCAAe;AACvB,QAAQ,uCAAgB;AACxB,QAAQ,oCAAa;AACrB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB,SAAS;AACT;AACA;AACA;AACA,qBAAqB,2BAAQ;AAC7B;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,uEAAO,EAAC;;AAEvB,mC;;;;;AC/KA;AACA;AACA;AACiD;AACX;AACgD;AAChD;AAC4B;AACpB;;;AAG9C;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,IAAI,gDAAgD;AACpD;AACA,eAAe,kDAAkD;AACjE,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA,gBAAgB,0BAAK;AACrB,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA,8DAA8D,gBAAgB;;AAE9E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;AACA;AACA,2CAA2C,qCAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wBAAwB;AAC9B;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;AACA;AACA,iBAAiB,2BAAQ;AACzB;AACA,IAAI,MAAM;AACV;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA,QAAQ,iBAAiB;AACzB;AACA,4BAA4B,2BAAQ;AACpC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,gFAAU,EAAC;;AAE1B,sC;;;;;;;;ACjIA;AACA;AACA;;AAE0C;AACD;;AAEzC,IAAI,aAAS;AACb;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA,+BAA+B,eAAe;AAC9C;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,4BAA4B;AACzC,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,0BAAO;AAClC,KAAK;AACL;AACA;AACA;;AAEA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;;AAGG,qDAAS,EAAC;;AAEzB,+B;;ACnIA;AACA;AACA;AACA;AACuC;AACqC;AACvC;AACS;AACL;;;AAGzC;AACA,4BAA4B,gCAAgC;AAC5D,IAAI,4BAA4B,kBAAkB,QAAQ;AAC1D;AACA,aAAa,6HAA6H;AAC1I;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,2CAA2C,uCAAuC,gDAAgD;AAChJ;AACA,eAAe,iCAAiC;AAChD,cAAc,OAAO;AACrB;AACA,cAAc,aAAa,4CAA4C,gDAAgD;AACvH,IAAI,4BAA4B;AAChC;AACA,cAAc,gEAAgE;AAC9E;AACA;;;AAGA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,sBAAsB,4CAA4C;AAClE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;;AAGP;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA,SAAS,8CAA8C;AACvD,IAAI,8CAA8C;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA,oBAAoB,GAAS;;AAE7B;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA,2DAA2D,yBAAI;;AAE/D;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,8DAA8D,MAAM;;AAEpE;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA,aAAa,4BAA4B;AACzC,aAAa,4BAA4B;AACzC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;;AAEA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;;AAGL,uEAAO,EAAC;;AAEvB,mC;;ACnPA;AACA;AACA;AACqC;AACe;AAC+D;AAChF;;;AAGnC;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,eAAe,8CAA8C;AAC7D,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA,8BAA8B,iCAAiC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAQ;AACZ;AACA;;AAEA,4DAA4D,YAAY;;AAExE;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,mBAAO;;;AAGT;AACA,UAAU;AACV;AACA;AACA;AACA,wBAAwB,8BAA8B;AACtD,wBAAwB,2BAA2B;AACnD;;AAEA;AACA;AACA,yBAAyB,0DAA6B;AACtD,iCAAiC,0CAAa;AAC9C,iCAAiC,wCAAW;AAC5C;;AAEA,IAAI,4CAAe;AACnB;AACA;;AAEA;AACA;;AAEA,eAAe,sCAAS;AACxB;;AAEA;AACA;AACA;AACA;AACA,YAAY,yBAAO;AACnB,GAAG;AACH;;;AAGe,0EAAQ,EAAC;;AAExB,oC;;ACtGA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,mC;;ACfA;AACA;AACA;AAC4D;AACb;AACJ;AAC8B;AACvB;;;AAGlD;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,gDAAgD;AACpD,IAAI,mDAAmD;AACvD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B;AACA;AACA,aAAa,sDAAsD;AACnE;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;AACA,mBAAmB,uBAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,eAAe,wCAAwC;AACvD,gBAAgB,QAAQ;AACxB;AACA;AACA,aAAa,cAAc;AAC3B,QAAQ,iBAAiB;AACzB;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,uBAAW;AACpB;AACA,8BAA8B,4BAAS;AACvC,8BAA8B,cAAc;AAC5C;AACA;AACA,oBAAoB,OAAO;AAC3B,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA,OAAO,qBAAqB,OAAO;AACnC;AACA,OAAO,qBAAqB,OAAO;AACnC;AACA,OAAO;AACP;AACA;AACA;AACA,MAAM,uCAAgB;AACtB,MAAM,GAAG;AACT;AACA;AACA;AACA;AACA;AACA;;AAEe,mFAAW,EAAC;;AAE3B,uC;;AChIA;AACA;AACA;AAC+C;AACU;AACC;;;AAG1D;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,mDAAmD;AACvD,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,wBAAwB;AAC5B;AACA;AACA,aAAa,oDAAoD;AACjE;AACA;AACA,IAAI,yBAAY;AAChB;;AAEA;AACA,mBAAmB,wBAAW;AAC9B,KAAK;;AAEL;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,iBAAiB;;AAE/E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;;AAGb;AACA,gBAAgB,kDAAkD;AAClE;AACA;AACA,WAAW,wCAAwC;AACnD,YAAY,QAAQ;AACpB,UAAU;AACV;AACA,SAAS,wBAAW;AACpB;AACA,8BAA8B,4BAAS;AACvC,8BAA8B,4BAAS;AACvC,8BAA8B,cAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,WAAW;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEe,sFAAY,EAAC;;AAE5B,wC;;AClGA;AACA;AACA;AACsC;AACQ;AACT;AACU;AACe;AACJ;AACzB;;;AAGjC;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,2CAA2C;AACzD,aAAa,gDAAgD;AAC7D;AACA,IAAI,wCAAwC;AAC5C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,6BAAc;AAClB;;AAEA;;AAEA,gCAAgC,8CAA8C;;AAE9E;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8DAA8D,MAAM;;AAEpE;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,2BAAQ;AACzB;;AAEA;AACA,kBAAkB,kDAAkD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS,mBAAmB,4BAAS;AACtD;AACA;;AAEA;;AAEA;AACA,gCAAgC,WAAW;;AAE3C;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA,UAAU,sBAAO;AACjB;AACA,iBAAiB,iCAAkB;AACnC;AACA;AACA;AACA;AACA,KAAK,kCAAkC,4BAAS;AAChD;AACA,UAAU,qBAAM;AAChB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,qBAAqB,2BAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,kBAAkB,yBAAO;AACzB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,6BAAK;AACrB,IAAI,WAAW;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,uBAAW;;AAEE,4FAAc,EAAC;;AAE9B,0C;;AC5TA;AACA;AACA;AACsC;AACA;AAC4B;AACgB;AACjC;;;AAGjD;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,uBAAW;AACf;;AAEA;;AAEA,oCAAoC,+BAA+B;;AAEnE;AACA,gCAAgC,0BAAK;AACrC;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C,qCAAO;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,wBAAwB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAQ;AAC3B;AACA;AACA,QAAQ,MAAM;AACd;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAAQ;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,mFAAW,EAAC;;AAE3B,uC;;ACzKA;AACA;AACA;AACsC;AACA;AACwB;AACoB;;;AAGlF;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;;AAEA,oCAAoC,+BAA+B;;AAEnE;AACA,gCAAgC,0BAAK;AACrC;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,gBAAoB;AACvC;AACA;AACA;;AAEA;AACA;AACA,IAAI,sBAAsB;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI;AACZ;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAAQ;AACtC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,OAAkB;;AAEL,6EAAS,EAAC;;AAEzB,qC;;ACzKA;AACA;AACA;AACyC;AACN;AAC4B;AAChB;AACM;AACJ;AACM;AACE;AACI;AACN;AACJ;AACP;;AAEgC;AACR;AACR;AACA;AACM;AACc;AAClB;AACR;AACI;AACU;AACA;AACE;AACZ;AACgB;AACN;AACJ;AACJ;AACF;AACJ;AACU;;;AAGhE;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,wCAAwC;AAC5C,gBAAgB,2BAA2B;AAC3C,yBAAyB,wBAAwB;AACjD;AACA,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN,MAAM;AACN;AACA,WAAW,iBAAiB;AAC5B,YAAY;AACZ,qDAAqD;AACrD;AACA;AACA;AACO;;AAEP;;AAEA,yBAAyB,6BAAU;;AAEnC,oBAAoB,UAAO;;AAE3B;AACA;AACA;AACA,0BAA0B,sBAAU;AACpC;;AAEA;AACA;AACA;AACA,0BAA0B,2BAAe;AACzC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,0BAA0B,mBAAO;AACjC,uCAAuC,eAAK;AAC5C;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,uBAAW;AACrC;;AAEA;AACA;AACA,0BAA0B,qBAAS;AACnC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,0BAA0B,uBAAW;AACrC,0BAA0B,wBAAY;AACtC;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,0BAAc;AACxC,uCAAuC,eAAK;AAC5C;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0BAA0B,oBAAQ;AAClC;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA,uC;;;;;ACpKA;AACA;AACA;AACmC;AACU;AACC;;AAE9C;AACA;AACA;AACA,IAAI,mBAAS;AACb;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,4BAAS;AAChC;;AAEA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;AACrB;AACA;AACA,sBAAsB,OAAO;AAC7B;;AAEA;AACA,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,CAAC,CAAC,yBAAW;;;AAGE,oEAAS,EAAC;;AAEzB,qC;;;;;ACtGA;AACA;AACA;AACuC;AACE;;;AAGzC;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,2BAA2B;AACxC;;;AAGA,IAAI,uBAAW;AACf;;AAEA,2CAA2C,6BAAU,QAAQ,6BAAU;;AAEvE;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,mBAAmB,6BAAU;AAC7B,KAAK;AACL,mBAAmB,6BAAU;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,6BAAU;AAChC,mBAAmB,6BAAU;AAC7B;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAS;;;AAGI,0EAAW,EAAC;;AAE3B,uC;;;;;;;;;;;;;;AChGA;AACA;AACA;;AAEuC;;AAEvC;AACA;;AAEA;;AAEA;AACA,2CAA2C,wCAAwC;AACnF,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,wBAAK;;AAEQ,4DAAW,EAAC;;AAE3B,iC;;;;;;;;;;;;;;;;;ACpDA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,2BAAa;;AAEjB,2BAAa;;AAEb;AACA;AACA;AACA,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEb;AACA;AACA;AACA,WAAW,oCAAoC;AAC/C;AACA,2BAAa;;AAEb;AACA,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA,2BAAa;;AAEb;AACA,WAAW,gCAAgC;AAC3C,WAAW,oCAAoC;AAC/C;AACA,2BAAa;;AAEb;AACA,WAAW,gDAAgD;AAC3D,WAAW,gCAAgC;AAC3C;AACA,2BAAa;;AAEb;AACA,WAAW,uEAAuE;AAClF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,4EAA4E;AACvF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,uEAAuE;AAClF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,0CAA0C;AACrD,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,kEAAkE;AAC7E,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,oEAAoE;AAC/E,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,qEAAqE;AAChF,WAAW,+DAA+D;AAC1E;AACA,2BAAa;;AAEb;AACA,WAAW,mCAAmC;AAC9C,WAAW,qCAAqC;AAChD;AACA,2BAAa;;AAEb;AACA,WAAW,oCAAoC;AAC/C,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEb;AACA,WAAW,mCAAmC;AAC9C,WAAW,sCAAsC;AACjD;AACA,2BAAa;;AAEE,oFAAa,EAAC;;AAE7B,yC;;AC5GA;AACA;AACA;AACA;AACA;AACA;;AAEsC;AACS;AACJ;AACW;AACO;AACJ;AACX;AACE;AACoL;AAC1I;;AAE1F;AACA;AACA,2BAA2B,qCAAqC;AAChE;AACA;AACA;AACA,IAAI,yCAAyC;AAC7C;AACA;AACA,IAAI,iCAAuB;AAC3B;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,sCAAe;;AAE7C;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA,QAAQ,uCAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,cAAc;AACxB;AACA;AACA;AACA,6BAA6B,uCAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,2BAA2B,6CAAW;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iDAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,iDAAiD;AACvD;AACA,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB,kCAAkC,sCAAsC;AACxE;AACA,WAAW,+BAAY;AACvB,uCAAuC,2CAA2C;AAClF;AACA,WAAW,+BAAY;AACvB,oCAAoC,wCAAwC;AAC5E;AACA,WAAW,+BAAY;AACvB,uCAAuC,2CAA2C;AAClF;AACA,WAAW,+BAAY;AACvB,4CAA4C,gDAAgD;AAC5F;AACA,WAAW,+BAAY;AACvB,yCAAyC,6CAA6C;AACtF;AACA,WAAW,+BAAY;AACvB,+CAA+C,mDAAmD;AAClG;AACA,WAAW,+BAAY;AACvB,mCAAmC,uCAAuC;AAC1E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,yCAAyC;AAC/C;AACA,aAAa,mCAAmC;AAChD,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA,sBAAsB,uCAAU;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,mDAAmD;AAChE;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sEAAsE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2EAA2E;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,2EAA2E;AACxF;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,gFAAgF;AAC7F;AACA;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,wEAAwE;AACrF;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,cAAc;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,6CAA6C;AAC1D;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,cAAc;AACjD,UAAU,+BAAgB;AAC1B;AACA;AACA;AACA,oCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,kEAAkE,cAAc;AAChF;AACA,UAAU,+BAAgB;AAC1B,aAAa,+BAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,yCAAgB;AAC5C;AACA;AACA,qCAAqC,gBAAgB;AACrD,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,oEAAoE,gBAAgB;AACpF;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mBAAmB,wCAAW;AAC9B,2BAA2B,yCAAgB;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uCAAc;AAC7C;AACA,gCAAgC,wCAAe;AAC/C;AACA,sCAAsC,8CAAqB;AAC3D;AACA,gCAAgC,wCAAe;AAC/C;AACA,6BAA6B,yCAAgB;AAC7C;AACA,kCAAkC,0CAAiB;AACnD,qBAAqB,wCAAW;AAChC,6BAA6B,2CAAkB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,qBAAqB,wCAAW;AAChC,iCAAiC,yCAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uCAAc;AACnD;AACA,sCAAsC,wCAAe;AACrD;AACA,4CAA4C,8CAAqB;AACjE;AACA,sCAAsC,wCAAe;AACrD;AACA,mCAAmC,yCAAgB;AACnD;AACA,wCAAwC,0CAAiB;AACzD,uBAAuB,wCAAW;AAClC,mCAAmC,2CAAkB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oCAAW;AAChC;AACA,0BAA0B,yCAAgB;AAC1C;AACA,6BAA6B,4CAAmB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,oBAAa;;;AAGA,+EAAuB,EAAC;;AAEvC,qC;;;;;ACr6BA;AACA;AACA;AACqC;;AAErC;AACA;AACA,uCAAuC,4CAA4C;AACnF;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,4BAA4B;AACtC,WAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB,UAAU,4BAA4B;AACtC,UAAU,iCAAiC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,OAAO;AACjB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,YAAY,OAAO;AACnB;AACA;AACA,4BAA4B,oCAAQ;AACpC;AACA;;;AAGe,uEAAc,EAAC;;;AAG9B;AACA,QAAQ,oDAAoD;AAC5D,IAAI,gCAAgC;AACpC;AACA;AACO;;AAEP,0C;;AChHA;AACA;AACA;AAC4C;AACF;AACS;AACJ;AACT;AACD;AACiB;AACc;AAC0D;;AAE9H;AACA;AACA;AACA,IAAI,eAAW;AACf;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yCAAyC;AACtD,aAAa,wCAAwC;AACrD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,uCAAgB;AACpB;AACA;AACA;AACA;;AAEA,IAAI,sCAAe;AACnB,MAAM,4CAAqB;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa;AACb,iDAAiD;AACjD,aAAa,EAAE;AACf,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,oCAAoC;AACnD,eAAe,oCAAoC;AACnD,gBAAgB,EAAE;AAClB;AACA;AACA,2CAA2C,8BAAM;AACjD,YAAY,8BAAM;AAClB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uBAAuB,qCAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,UAAU,4CAAmB;AAC7B;AACA,gCAAgC,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,0FAA0F;AACvG;AACA,aAAa,EAAE;AACf,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,gEAAgE;AAC7E;AACA;AACA;AACA,aAAa,EAAE;AACf,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,4CAA4C,yBAAI;;AAEhD;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;AACA,KAAK;AACL;AACA,kEAAkE,QAAQ;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,mCAAM;AACvD,UAAU,4BAAS;AACnB,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;;AAEA;AACA,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA,IAAI,0CAAa;AACjB;;AAEA;AACA;;AAEA;AACA,aAAa,qCAAqC;AAClD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,mDAAmD,gDAAgD;AACnG;;AAEA;AACA,aAAa,yCAAyC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,gDAAgD;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;;AAGZ;AACA,WAAW,qCAAqC;AAChD,WAAW,wCAAwC;AACnD;AACA;AACA,EAAE,MAAc;AAChB;;;AAGA;AACA,WAAW,kCAAkC;AAC7C,WAAW,kCAAkC;AAC7C,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACe,gEAAW,EAAC;;AAE3B,+B;;ACjWA;AACA;AACA;AACmH;AAC/D;AACJ;AACG;AACM;AACT;AACQ;AACF;AACiB;AACnB;AACJ;;;AAGhD;AACA,UAAU;AACV;AACO;;AAEP;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAiB;AACrB;AACA;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,oBAAoB,4CAAqB;;AAEzC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,iCAAkB;AAC/C;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,sBAAsB,sCAAe;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,8BAA8B,SAAuB;AACrD;AACA,6BAA6B,YAAW;AACxC;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA,6BAA6B,mCAAe;;AAE5C;AACA,IAAI,mCAAU,mBAAmB,YAAY;;AAE7C;AACA;AACA,MAAM,+CAAc;AACpB;;AAEA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA,qCAAqC,6BAA6B;AAClE,WAAW,4CAAmB;AAC9B,oCAAoC,wBAAW;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,6BAA6B,mCAAe;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,qBAAqB,qCAAc;AACnC;;AAEA;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,UAAU,4CAAmB;AAC7B,uCAAuC,6BAA6B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA,WAAW,iCAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAW;;;AAGE,oEAAiB,EAAC;;AAEjC,+B;;;;;ACjOA;AACA;AACA;AACkC;AACQ;AACA;AACF;AACJ;AACW;AACF;;AAE7C,IAAI,mBAAa;AACjB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,oCAAoC;AACjD,aAAa,wCAAwC;AACrD,aAAa,6DAA6D;AAC1E,cAAc,4DAA4D;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB,iBAAiB,kCAAkC;AACnD,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA,mBAAmB,6BAA6B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,aAAa,OAAO;AACpB,aAAa,sFAAsF;AACnG,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA,2BAA2B,8BAA8B;AACzD,6BAA6B,6BAAU;AACvC;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,wCAAwC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,kCAAkC;AAC/C,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,sBAAsB,6BAAU,yBAAyB,6BAAU;AACnE,MAAM,mCAAM,QAAQ,4BAAS;AAC7B;AACA,sBAAsB,6BAAU;AAChC;AACA;AACA;AACA,yBAAyB,6BAAU;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA,wDAAwD,wBAAW;AACnE;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD,aAAa,oCAAoC;AACjD;AACA;AACA;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD,iBAAiB,qCAAqC;AACtD,iBAAiB,wCAAwC;AACzD;AACA;AACA,4BAA4B,8BAAM;AAClC;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,mBAAmB,gDAAgD;AACnE;AACA;AACA;;AAEA;AACA,aAAa,oEAAoE;AACjF,aAAa,oCAAoC;AACjD,aAAa,OAAO;AACpB,aAAa,kCAAkC;AAC/C;AACA;AACA;AACA;AACA,wBAAwB,8BAAM;AAC9B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wCAAwC;AACrD,aAAa,oCAAoC;AACjD,aAAa,0CAA0C;AACvD,aAAa,OAAO;AACpB,aAAa,wCAAwC;AACrD,aAAa,8BAA8B;AAC3C,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,iDAAiD;AAC9D,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,8BAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,eAAe;AACpC;AACA;AACA,8BAA8B,qBAAqB;AACnD,gCAAgC,qBAAqB;AACrD;AACA;AACA,mCAAmC,4BAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,gCAAU;;AAEG,sEAAa,EAAC;;AAE7B,iC;;ACtPA;AACA;AACA;AACuC;AACgD;AAC/C;AACQ;AACQ;AACF;AACiB;AAC/B;AAC2E;;AAEnH;AACA;AACA;AACA,IAAI,yBAAmB;AACvB;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,sBAAsB,sCAAe;;AAErC;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,uCAAU;AAC5B,mBAAmB,wCAAW;AAC9B,sBAAsB,2CAAc;AACpC,qBAAqB,0CAAa;;AAElC,IAAI,qCAAc;AAClB,IAAI,qCAAc;AAClB,IAAI,qCAAc;AAClB,IAAI,qCAAc;;AAElB;AACA,IAAI,+CAAc;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,+CAAc;AAClB;;AAEA;AACA,aAAa,4CAA4C;AACzD,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+CAAc;AACpB;AACA;AACA,uBAAuB,SAAuB;AAC9C;AACA;AACA,6BAA6B,YAAW;AACxC;AACA;AACA,MAAM,+CAAc;AACpB;AACA;;AAEA;AACA,aAAa,yCAAyC;AACtD,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,6FAA6F;AAC1G;AACA,aAAa,EAAE;AACf,cAAc,YAAY;AAC1B;AACA;AACA;AACA,2FAA2F,yBAAI;;AAE/F;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,wCAAwC;AACrD;AACA;AACA;AACA,+BAA+B,mCAAe;AAC9C;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,yBAAyB;AACtC;AACA;AACA,IAAI,gCAAQ;AACZ;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,cAAc,QAAQ;AACtB;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA,CAAC,CAAC,cAAa;;AAEA,0EAAmB,EAAC;;AAEnC,iC;;AChMA;AACA;AACA;AACuC;AACsB;AACV;AACQ;AACd;AACyC;;AAEtF;AACA;AACA;AACA,IAAI,6CAA0B;AAC9B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,4CAA4C,sCAAe;;AAE3D;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,2CAAc;AACzB,UAAU,uCAAU;AACpB;AACA,kDAAkD,iCAAiC;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,oDAAoD;AAClE;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA,cAAc,wCAAwC;AACtD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,qCAAc;AAC9B,IAAI,sCAAe;;AAEnB;AACA,+BAA+B,4CAAqB;AACpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAmB;;;AAGN,oGAA0B,EAAC;;AAE1C,8C;;AClIA;AACA;AACA;AACkE;AACnB;AACJ;AACF;AACH;AACwC;AACf;AAC3B;AACe;AACc;AACyB;;AAE1F;AACA;AACA;AACA;AACA;AACA,IAAI,mCAAwB;AAC5B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,2BAA2B,sCAAe;;AAE1C;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,iCAAiC,4BAAS;AAC1C,2BAA2B,yBAAyB,QAAQ,QAAQ;AACpE,mBAAmB,yBAAyB;AAC5C;AACA,4CAA4C,mCAAmC;AAC/E;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,uCAAuC;AACvE,iCAAiC,wCAAwC;;AAEzE;;AAEA;AACA;AACA;AACA,uBAAuB,4CAAe;AACtC;;AAEA,eAAe,2BAAQ,sBAAsB,2BAAQ;AACrD,SAAS,oCAAO;AAChB;AACA,WAAW,4CAA0B;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,2CAA2C,KAAK,6BAAM,GAAG;AAClG;AACA,YAAY,qCAAQ;AACpB,YAAY,sCAAS;AACrB;AACA,gCAAgC,8BAA8B,KAAK,6BAAM,GAAG;AAC5E;AACA,WAAW;AACX,SAAS;AACT;AACA,oBAAoB,cAAW;AAC/B;AACA;AACA,eAAe,+BAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,uCAAgB;AACtC;AACA;AACA;AACA;AACA;AACA,MAAM,uCAAgB;AACtB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,CAAC,CAAC,kBAA0B;;;AAG5B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,mCAAwB;AACxB,6BAA6B,4BAAS;AACtC,wBAAwB,4BAAS;AACjC,eAAe,wCAAwC,gCAAgC,mCAAgB;AACvG;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,yBAAyB;AACrC;AACA,mCAAwB;AACxB,aAAa,mCAAwB,YAAY,uCAAuC;AACxF;;;AAGe,kFAAwB,EAAC;;AAExC,sC;;;;;AC3NA;AACA;AACA;AACqC;AACM;AACA;AACA;AACF;AACU;AAC2C;AAC7B;AACyB;;AAE1F;AACA;AACA;AACA;AACA;AACA,IAAI,iCAAuB;AAC3B;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA,0CAA0C,4CAAqB;;AAE/D;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,qBAAqB,wCAAW;;AAEhC;AACA;AACA,cAAc;AACd;AACA,6BAA6B,4BAAS;;AAEtC;AACA;AACA,cAAc;AACd;AACA,2BAA2B,sCAAe;;AAE1C;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gCAAgC;AAC7C,cAAc,QAAQ;AACtB;AACA;AACA,+BAA+B,sCAAsC;AACrE;AACA;AACA,wBAAwB,4BAAS;AACjC,qBAAqB,4BAAS;AAC9B,qBAAqB,4BAAS;AAC9B;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD,cAAc,iCAAiC;AAC/C;AACA;AACA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA,2BAA2B,4BAAS;AACpC;AACA;AACA,sBAAsB,4BAAS;AAC/B,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,4CAAe;AAC9B;AACA,QAAQ,oCAAO;AACf;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,2BAAQ,qBAAqB,2BAAQ;;AAE5E;AACA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD,8BAA8B,qBAAqB;AACnD;AACA;AACA;AACA;AACA;AACA,oBAAoB,8BAAM;AAC1B,iCAAiC,4BAAS;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,oCAAoC,2CAAc;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,wCAAwC,mCAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,uCAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,IAAI,uCAAgB;AACpB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,gCAAgC;AAC7C,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,8BAAM;AACpB;AACA,+BAA+B,sCAAsC;AACrE,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,gCAAgC;AAC7C,cAAc,oDAAoD;AAClE;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D;;AAEA;AACA,CAAC,CAAC,kBAA0B;;;AAG5B;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,iCAAuB;AACvB,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,wBAAwB;AACpC;AACA,iCAAuB;AACvB,aAAa,iCAAuB,YAAY,sCAAsC;AACtF;;;AAGA;AACA;AACA,YAAY;AACZ;AACA,iCAAuB;;;AAGR,+EAAuB,EAAC;;AAEvC,qC;;;;;;ACnZA;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACA,IAAI,uBAAW;;AAEf,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA,uBAAW;AACX,SAAS,gCAAQ;AACjB;;AAEe,8EAAW,EAAC;;AAE3B,uC;;ACjCA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;AAEF,sC;;;;;;;;;;;AChBA;AACA;AACA;AACmC;;;AAGnC;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,wBAAwB;AACnC;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,gBAAgB;AAC5B;AACA;AACO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,4BAAI;AAChB,YAAY,4BAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;AC7FA;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,UAAU;AACV;AACO,IAAI,2BAAe;;;AAG1B;AACA,UAAU;AACV;AACO,IAAI,6BAAiB;;;AAG5B;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGQ,kEAAW,EAAC;;AAE3B,uC;;AClDA;AACA;AACA;AACyC;;;AAGzC;AACA;AACA,UAAU;AACV;AACO;AACP,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ,EAAE,UAAU;AACZ;;AAEA;AACA;AACA,UAAU;AACV;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kC;;ACpCA;AACA;AACA;AACqC;AACkB;AACR;AAEqC;AAC5B;AACF;AAC+D;AAC1D;AACA;AACF;AACX;AACT;AACW;AAGO;AACN;AACT;AAMZ;;;AAG5B;AACA,UAAU;AACV;AACA,IAAI,gBAAS,GAAG,wCAAW;;;AAG3B;AACA,UAAU;AACV;AACA,mBAAmB,sCAAe;;;AAGlC,IAAI,mBAAY;AAChB;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,8BAA8B,sCAAe;;AAE7C;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,4BAA4B,uCAAuC,OAAO;;AAE1E;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,yCAAyC;AACtD,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,oDAAoD;AACjE,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA,eAAe,yCAAyC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,uCAAgB;;AAElC,MAAM,gDAAmB,CAAC,gBAAS;AACnC,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,MAAM,6CAAgB,CAAC,gBAAS,EAAE,qCAAc;AAChD,KAAK;AACL,MAAM,2CAAc,uCAAuC,gBAAS;AACpE;AACA;AACA;AACA;AACA,QAAQ,gBAAS,uCAAuC,gBAAS;AACjE,QAAQ,gBAAS,wCAAwC,gBAAS;;AAElE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,mCAAM,iBAAiB,gBAAS;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB,SAAS;AAC9B,qBAAqB,SAAS;AAC9B;AACA,MAAM,0CAAS;AACf;AACA;;AAEA;AACA;AACA,aAAa,cAAc;AAC3B,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,QAAQ;AACrB,aAAa,QAAQ;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,SAAS;AACtC;AACA;AACA,gBAAgB,mDAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,sBAAsB,+BAAY;AACzC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,cAAc,OAAO;AACrB;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAAY;AAC5B,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C,sDAAsD,+CAA4B;AAClF,KAAK,kBAAkB,+BAAY,oBAAoB,+BAAY;AACnE;AACA,iCAAiC,+BAAY;AAC7C,mBAAmB,wCAAwC;AAC3D;AACA;AACA,mBAAmB,wFAAwF;AAC3G;AACA,8BAA8B,kBAAiB;AAC/C,qDAAqD,0CAAuB;AAC5E,KAAK,kBAAkB,+BAAY,wBAAwB,+BAAY;AACvE;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C,oDAAoD,qCAAkB;AACtE,KAAK,kBAAkB,+BAAY;AACnC;AACA;AACA;AACA,8BAA8B,kBAAiB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yEAAyE;AACtF,aAAa,mEAAmE;AAChF;AACA;AACA,uCAAuC,kBAAiB;AACxD;AACA,uCAAuC,kBAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC;AACA;AACA;AACA,mBAAmB,qCAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,uCAAc;AACxD;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa,SAAS;AACtB;AACA;AACA,qCAAqC,uCAAuC;AAC5E,mCAAmC,OAAO;AAC1C,iCAAiC,cAAc;AAC/C,kCAAkC,eAAe;AACjD,oCAAoC,OAAO;AAC3C,QAAQ,+BAAgB;AACxB,0CAA0C,OAAO;AACjD,qCAAqC,cAAc;AACnD;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,mEAAmE;AAChF;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D;AACA,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA,qDAAqD,QAAQ;AAC7D,2CAA2C,MAAM;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kCAAS;AACvB;AACA;AACA;AACA;AACA,QAAQ,gDAAmB;AAC3B;AACA;AACA;;AAEA;AACA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,wBAAwB;AACrC;AACA,aAAa,SAAS;AACtB,aAAa,QAAQ;AACrB,aAAa,4FAA4F;AACzG,aAAa,kCAAkC;AAC/C;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,kCAAkC,+BAAM;AACxC;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,6CAAW;AACpC;AACA;AACA,MAAM,4CAAqB;AAC3B;AACA,wBAAwB,8BAAO;AAC/B,cAAc;AACd,iCAAiC;AACjC,cAAc;AACd,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,mBAAmB,mEAAmE;AACtF;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA,aAAa,kBAAiB;AAC9B,+BAA+B,mEAAmE;AAClG,mDAAmD,8BAAM;AACzD,2BAA2B,OAAO;AAClC,WAAW,0CAA0C,uCAAU;AAC/D;AACA,2BAA2B,OAAO;AAClC,WAAW;AACX;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC;AACA,oCAAoC,+CAA+C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC,0BAA0B,OAAO;AACjC,6BAA6B,oDAAoD;AACjF;AACA;AACA,+BAA+B,OAAO;AACtC,+BAA+B,OAAO;AACtC,+DAA+D,sCAAsC;AACrG,kCAAkC,OAAO;AACzC,mCAAmC,OAAO;AAC1C,mCAAmC,OAAO;AAC1C,mCAAmC,OAAO;AAC1C,0CAA0C,QAAQ;AAClD,oCAAoC,OAAO;AAC3C,iCAAiC,OAAO;AACxC,iCAAiC,OAAO;;AAExC;AACA;AACA,iCAAiC,cAAc;AAC/C,wCAAwC,QAAQ;AAChD,0CAA0C,QAAQ;AAClD,WAAW;AACX,sBAAsB,uCAAc;AACpC;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,0CAA0C,SAAS;AACnD,4CAA4C,SAAS;AACrD;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,iCAAiC,OAAO;AACxC,+BAA+B,OAAO;AACtC,oCAAoC,OAAO;AAC3C,+DAA+D,sCAAsC;AACrG,oCAAoC,OAAO;AAC3C,mCAAmC,OAAO;AAC1C,oCAAoC,OAAO;AAC3C,mCAAmC,wBAAwB;AAC3D,mCAAmC,OAAO;AAC1C,qCAAqC,OAAO;AAC5C,uCAAuC,OAAO;AAC9C,gCAAgC,OAAO;AACvC,mCAAmC,OAAO;AAC1C,qCAAqC,OAAO;;AAE5C,2BAA2B,+CAAgB;AAC3C;AACA;AACA,uBAAuB,kCAAkC;AACzD,wCAAwC,EAAE;AAC1C;AACA,qDAAqD,UAAU;AAC/D,wBAAwB,cAAc;AACtC;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,kCAAkC;AAClC,qCAAqC,OAAO;AAC5C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,+BAA+B,OAAO,0BAA0B,OAAO;AACvE;AACA,+BAA+B,OAAO;AACtC,oBAAoB,uCAAc;AAClC;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,kCAAkC;AAClC,qCAAqC,OAAO;AAC5C;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,+BAA+B,OAAO,0BAA0B,OAAO;AACvE;AACA,+BAA+B,OAAO;AACtC,oBAAoB,uCAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA,iCAAiC,mEAAmE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B,yBAAyB,OAAO;AAChC,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,uCAAuC;AAChF;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;AACA;AACA,aAAa,kBAAiB;AAC9B;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC;AACA,aAAa,mFAAmF;AAChG;AACA,aAAa,kCAAkC;AAC/C;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,wBAAwB,kBAAkB;AAC1C,kBAAkB,kBAAiB;AACnC;AACA,OAAO,kBAAkB,kBAAiB;AAC1C;AACA,QAAQ,wCAAe;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wCAAW;AACnC,yBAAyB,yCAAgB;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA,0BAA0B,wCAAW;AACrC,2BAA2B,2CAAkB;AAC7C;AACA;AACA,6BAA6B,uCAAc;AAC3C;AACA;AACA,sCAAsC,wCAAe;AACrD;AACA;AACA,oCAAoC,8CAAqB;AACzD;AACA;AACA,8BAA8B,wCAAe;AAC7C;AACA;AACA,2BAA2B,yCAAgB;AAC3C;AACA;AACA,gCAAgC,0CAAiB;;AAEjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,yEAAyE;AACtF,cAAc,SAAS;AACvB;AACA;AACA;AACA,eAAe,SAAS;AACxB,2BAA2B,kBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,cAAc,SAAS;AACvB;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,yJAAyJ;AACtK,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,oEAAoE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,+BAAM;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yEAAyE;AACtF,aAAa,mEAAmE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAiB;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,iCAAiC;AAC/C;AACA;AACA;AACA;AACA,gCAAgC,kCAAK;AACrC;AACA;AACA,QAAQ,mCAAM;AACd;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,oBAAa;;;AAGA,8DAAY,EAAC;;AAE5B,kC;;AChkCA;AACA;AACA;AACiD;AACV;;AAEvC,IAAI,6BAAiB;AACrB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,sCAAsC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,6EAAiB,EAAC;;AAEjC,uC;;ACvNA;AACA;AACA;AAC4F;AACrD;;AAEvC,IAAI,uCAAsB;AAC1B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,mCAAmC,kBAAiB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA,OAAO,oBAAoB;AAC3B;AACA;AACA;AACA,uCAAuC,6BAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAiB;AACvB;AACA;AACA,OAAO,oBAAoB;AAC3B;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA,uCAAuC,6BAAiB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAAiB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B,6BAAiB;AAC9C;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,4FAAsB,EAAC;;AAEtC,4C;;;;;ACpHA;AACA;AACA;AACwC;AACS;AACH;AAGpB;AACa;;;AAGvC,IAAI,iCAAmB;AACvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB,aAAa,cAAc;AAC3B,aAAa,OAAO;AACpB;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oBAAoB;AAC/C,uCAAuC,oBAAoB;AAC3D,mBAAmB,aAAa;AAChC;AACA;AACA;AACA,qCAAqC,kBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA,+BAA+B,oBAAoB;AACnD,2CAA2C,oBAAoB;AAC/D;AACA;AACA;AACA;AACA,6BAA6B,2BAAe;AAC5C,yCAAyC,2BAAe;AACxD;AACA;AACA,6BAA6B,6BAAiB;AAC9C,yCAAyC,6BAAiB;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,kBAAiB;AAC9C,2BAA2B,oBAAoB;AAC/C,uCAAuC,oBAAoB;AAC3D,uCAAuC,2BAAe;AACtD;AACA,6BAA6B,2BAAe;AAC5C;AACA;AACA,6BAA6B,6BAAiB;AAC9C,yCAAyC,6BAAiB;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB,QAAQ,oCAAQ,CAAC,yCAAgB;AACjC;AACA;AACA;AACA;AACA,QAAQ,kBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,QAAQ;AACtD,yBAAyB,gCAAI;AAC7B;AACA;AACA;;AAEA;AACA;AACA,aAAa,yEAAyE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGC,mFAAmB,EAAC;;AAEnC,yC;;ACrNA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,cAAc;AAC1B;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yC;;;;;ACpDA;AACA;AACA;AACqC;AACU;AACI;AACR;AACoB;AACT;AACR;AACkQ;AAC/P;AACV;AACC;AACiB;;AAEzD,IAAI,2BAAgB;AACpB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,iCAAiC,iCAAiC,OAAO;;AAEzE;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,mCAAU;;AAEd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,gCAAgC,gCAAa;AAC7C,WAAW,uCAAU;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B,+BAAY;AACtC;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA,OAAO,0BAA0B,+BAAY;AAC7C;AACA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,QAAQ;AAC/C;AACA,sBAAsB,aAAa;AACnC;AACA;AACA,SAAS;AACT;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,aAAa,+BAAY;AACzB,aAAa,+BAAY;AACzB;AACA;AACA;AACA,aAAa,+BAAY;AACzB,uCAAuC,2CAA2C;AAClF;AACA,aAAa,+BAAY;AACzB,uCAAuC,uCAAuC;AAC9E;AACA,aAAa,+BAAY;AACzB,uCAAuC,gDAAgD;AACvF;AACA;AACA,aAAa,+BAAY;AACzB,uCAAuC,wCAAwC;AAC/E;AACA;AACA;AACA;AACA;AACA,aAAa,+BAAY;AACzB,0CAA0C,6CAA6C;AACvF;AACA,iDAAiD,QAAQ;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;;AAEA,SAAS,mCAAU;AACnB;AACA;AACA;AACA;AACA;AACA,kBAAkB,UAAU,wBAAwB,yCAAgB;AACpE;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,kDAAiB;AACxC;AACA;AACA,oBAAoB,4CAAqB;AACzC;AACA;AACA;AACA,MAAM,mCAAU;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,cAAc;AACnD,sCAAsC,eAAe;AACrD;AACA,YAAY,+BAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA,WAAW,mCAAU;AACrB;;AAEA;AACA;AACA,aAAa,kBAAkB;AAC/B,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,gBAAgB,UAAU,wBAAwB,yCAAgB;AAClE,mBAAmB,UAAU;AAC7B;;AAEA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA;AACA;AACA,2BAA2B,uCAAc;AACzC,QAAQ,uCAAc;AACtB;AACA,SAAS;AACT;AACA;AACA,wCAAwC,kBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,mCAAmC;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC;AACnF;AACA,0CAA0C,yCAAgB;AAC1D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,8CAA8C,iCAAiC;AAC/E;AACA,SAAS;AACT;AACA;;AAEA;AACA,mBAAmB,UAAU;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA,iCAAiC,iDAAgB;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA,wCAAwC,kBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA,iCAAiC,iDAAgB;AACjD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,wCAAwC,sCAAsC;;AAE9E;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,uDAAuD,iCAAiC,OAAO;AAC/F;AACA,8BAA8B,wCAAW;AACzC,sCAAsC,yCAAgB;AACtD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,2DAA2D,mCAAmC,OAAO;AACrG;AACA;AACA;AACA;AACA;AACA,8DAA8D,uCAAc;AAC5E,6DAA6D,wCAAe;AAC5E;AACA,2CAA2C,8CAAqB;AAChE,gEAAgE,wCAAe;AAC/E;AACA,sCAAsC,yCAAgB;AACtD;AACA,uCAAuC,0CAAiB;AACxD,kCAAkC,wCAAW;AAC7C,wCAAwC,2CAAkB;AAC1D;;AAEA;AACA,wCAAwC,oCAAW;AACnD,MAAM,0CAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,4CAAmB;AACjF;AACA;AACA,oDAAoD,uCAAc;AAClE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gFAAgF,8BAAM;AACtF;AACA;AACA;AACA;AACA;AACA,+EAA+E,8BAAM;AACrF;AACA;AACA;;AAEA;AACA,CAAC,CAAC,MAAY;;;AAGd;AACA,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,cAAc;AACzB;AACA,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA,iBAAiB,cAAc;AAC/B,uBAAuB,iDAAgB;AACvC;AACA;AACA;AACA;AACA;;;AAGe,0EAAgB,EAAC;;AAEhC,sC;;AC3hBA;AACA;AACA;;AAEyD;AACN;AACmB;AACb;AACpB;AACO;AACF;AACH;AACU;AACU;AACN;AACN;AACZ;AACuD;;;AAG1F;AACA,UAAU;AACV;AACA;AACA,YAAY,aAAmB;AAC/B,aAAa,MAAY;AACzB,WAAW,WAAiB;AAC5B,gBAAgB,gBAAsB;AACtC,aAAa,aAAmB;AAChC,UAAU,UAAgB;AAC1B;;;AAGA,IAAI,6BAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,gCAAgC,4CAAqB;;AAErD;AACA;AACA,cAAc;AACd;AACA,kCAAkC,sCAAe;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,OAAO;AACP,2CAA2C,wCAAW;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,kBAAkB;AAC/B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,yCAAyC;AACtD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC,aAAa,kFAAkF;AAC/F,aAAa,sDAAsD;AACnE,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,uCAAgB;AACpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,kBAAkB,wCAAW;AAC7B,MAAM,6CAAgB;AACtB,MAAM,mCAAM;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA,eAAe,mEAAmE;AAClF,gBAAgB,EAAE;AAClB;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,0DAA0D,UAAU,wBAAwB,UAAU;AACtG;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA,YAAY,0CAAyB;;AAErC;AACA,2BAA2B,QAAQ;AACnC;AACA;AACA,eAAe,KAAK,YAAY,QAAQ;AACxC,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA,6BAA6B,UAAU,wBAAwB,UAAU;AACzE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAAW;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,iDAAiD;AAC/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,8BAAO;AAClB;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,wBAAwB;AACrC,aAAa,QAAQ;AACrB,aAAa,mBAAmB;AAChC,qBAAqB;AACrB,aAAa,uDAAuD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,cAAc;AAC7B;AACA,YAAY,0CAAyB;;AAErC;AACA;AACA;AACA;;AAEA,0DAA0D,KAAK;AAC/D;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,6BAA6B,UAAU,wBAAwB,UAAU;AACzE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,CAAC,kBAAW;;;AAGb;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,oBAAoB,OAAO;AAC3B;AACA;AACA,GAAG;AACH,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,kCAAkC;AAC/C;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,eAAe;AAChC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA,WAAW,0BAA0B;AACrC,WAAW,yBAAyB;AACpC,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;AACO;AACP,0DAA0D,0CAAyB;AACnF;AACA,iCAAiC,QAAQ;AACzC;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA;AACA;;;AAGe,oFAAiB,EAAC;;AAEjC,uC;;ACtfA;AACA;AACA;AACkC;AACQ;AACS;AACF;;;AAGjD;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,YAAY,OAAO;AACnB;AACO;AACP,kBAAkB,8BAAM,2BAA2B,8BAAM;AACzD;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA;AACA,gEAAgE,UAAU;AAC1E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB,WAAW,wDAAwD;AACnE,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACO;AACP;AACA;AACA;AACA;AACA,sBAAsB,6BAAU,yBAAyB,6BAAU;AACnE;AACA,KAAK;AACL,wBAAwB,6BAAU;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,6EAA6E;AACxF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA,4BAA4B,+BAAY;AACxC,gCAAgC,gDAAgD;AAChF,2CAA2C,QAAQ;AACnD;AACA;AACA;AACA;AACA,wDAAwD,UAAU;AAClE,+BAA+B,4CAA4C;AAC3E;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,gDAAgD;AAC3D,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,+EAA+E;AAC1F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,oEAAoE,UAAU;AAC9E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,oFAAoF;AAC/F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,oEAAoE,UAAU;AAC9E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,0CAA0C;AACrD,WAAW,oCAAoC;AAC/C,WAAW,gCAAgC;AAC3C;AACA;AACA;AACA;AACA;AACA,iEAAiE,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,0EAA0E;AACrF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,sCAAsC,6BAAU;AAChD;AACA;AACA,+DAA+D,UAAU;AACzE;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,+EAA+E;AAC1F,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA,sCAAsC,6BAAU;AAChD;AACA;AACA,+DAA+D,UAAU;AACzE;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;;AAGA;AACA,WAAW,2CAA2C;AACtD,WAAW,4EAA4E;AACvF,WAAW,oCAAoC;AAC/C,WAAW,oCAAoC;AAC/C;AACA;AACA;AACA;AACA;AACA,iEAAiE,UAAU;AAC3E;AACA;AACA;AACA;AACA;AACA,8DAA8D,UAAU;AACxE;AACA;AACA;AACA;;AAEA,kC;;AC7TA;AACA;AACA;AACqC;AACM;AACF;AACU;AACF;AACC;AACxB;AACoD;AACtB;AACU;AACC;AACtB;AACwH;;AAErK;AACA;AACA;AACA;AACA;AACA,IAAI,qCAAyB;AAC7B;;AAEA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD,eAAK;;AAE5D;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,2BAA2B,wCAAW;;AAEtC;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA,mBAAmB,4CAAqB;;AAExC,IAAI,mCAAM,CAAC,mCAAU,EAAE,4BAAS;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,CAAC,mCAAU,EAAE,4BAAS;AAClC;AACA;;AAEA;AACA,aAAa,yBAAyB;AACtC,aAAa,2CAA2C;AACxD,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,yCAAyC;;AAE3E;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,iCAAiC;AACjF;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,wCAAwC;AACrE;AACA;AACA;AACA;AACA,iDAAiD,mCAAe;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,2BAAQ,yBAAyB,2BAAQ;AAC7E;AACA;AACA,MAAM,+CAAc;AACpB;AACA;AACA;AACA,WAAW,2CAAc;AACzB;AACA,yBAAyB,qCAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,+CAAc;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,6BAA6B,wCAAwC;AACrE,iBAAiB,yBAAyB;AAC1C;AACA,kHAAkH;AAClH;AACA,mBAAmB,uCAAuC;AAC1D,oBAAoB,EAAE;AACtB;AACA;AACA,oBAAoB,8BAAM;AAC1B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAiC,wCAAwC;AACzE,kCAAkC,yCAAyC;;AAE3E,yCAAyC,2BAAQ;AACjD,2CAA2C,2BAAQ;AACnD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,YAAkB;AACjD;;AAEA,iBAAiB,mCAAM;AACvB;AACA;;AAEA;AACA,SAAS,2CAAc;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB,qCAAQ;AAC/B,4BAA4B,qCAAQ;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,2CAAc;AACtB;AACA;AACA;;AAEA;;AAEA;;AAEA,0BAA0B,kBAAiB;AAC3C,MAAM,YAAkB;AACxB;AACA;AACA;AACA,eAAe,mCAAmC;AAClD,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,iBAAiB,0CAA0C;AAC3D;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;AACA;AACA,SAAS;AACT;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,qFAAqF;AAClG,aAAa,qDAAqD;AAClE,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD,kBAAkB,aAAa;AAC/B;AACA,UAAU,mBAAyB;AACnC;AACA;AACA,KAAK;AACL,gBAAgB,aAAa;AAC7B;AACA,QAAQ,mBAAyB;AACjC;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,YAAmB;;;AAGrB;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,qCAAyB;AACzB,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,0BAA0B;AACtC;AACA,qCAAyB;AACzB,aAAa,qCAAyB,YAAY,wCAAwC;AAC1F;;;AAGe,qFAAyB,EAAC;;AAEzC,uC;;;;;;;;;;;ACxbA;AACA;AACA;AACqC;AACM;AACA;AACF;AACU;AACF;AACC;AACxB;AACkF;AACrC;AACN;AACzB;AACY;AACc;AACoB;AACzC;AACQ;AACwC;AAOjE;;;AAG5B;AACA,UAAU;AACV;AACA;AACA,YAAY,UAAU,UAAU,UAAU;AAC1C,IAAI,UAAU,cAAc,UAAU,QAAQ,UAAU;AACxD,aAAa,UAAU,UAAU,UAAU;AAC3C;;;AAGA;AACA,UAAU;AACV;AACA;AACA,YAAY,UAAU;AACtB,aAAa,UAAU,QAAQ,UAAU,OAAO,UAAU;AAC1D,YAAY,KAAK;AACjB;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,6CAA6B;AACjC;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,eAAK;;AAEtD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,yBAAyB,sCAAe;;AAExC;;AAEA;AACA,qCAAqC,uCAAoB;;AAEzD,uBAAuB,uCAAoB;AAC3C,qBAAqB,4CAAqB;AAC1C;;;AAGA,IAAI,mCAAM,CAAC,mCAAU,EAAE,4BAAS;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI,qCAAQ,CAAC,mCAAU,EAAE,4BAAS;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B,4BAAS;AACrC,yCAAyC,2CAA2C;AACpF;AACA,yCAAyC,2CAA2C;AACpF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,sCAAsC;AACrE,sBAAsB,2CAA2C;AACjE;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;;AAEA,2BAA2B,wCAAwC;AACnE;AACA,iCAAiC,wCAAwC;;AAEzE;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAAmC,4BAAS;AAC5C;AACA;;AAEA;AACA;AACA,yBAAyB,4CAAe;AACxC,2BAA2B,mCAAM;AACjC,QAAQ,mCAAM;AACd;AACA;AACA,WAAW,kCAAoB;AAC/B;AACA;AACA;AACA;AACA,4BAA4B,kBAAiB;AAC7C;AACA,6BAA6B,mBAAyB;;AAEtD;AACA,iBAAiB,uCAAuC;AACxD,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;AACA,2CAA2C,wBAAK;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,uCAAU;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;;AAEA,mCAAmC,kDAAkD;;AAErF;AACA;AACA,0CAA0C,QAAQ;AAClD;AACA,uBAAuB,mCAAM;AAC7B,WAAW,+CAAkB;AAC7B;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA,qCAAqC,kBAAkB;AACvD;AACA,kHAAkH;AAClH;AACA,qBAAqB,uCAAuC;AAC5D,sBAAsB,EAAE;AACxB;AACA;AACA,sBAAsB,8BAAM;AAC5B;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,2CAA2C;AACxD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA,4BAA4B,6CAA6C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,uCAAU;AAC3B;AACA;AACA;AACA,WAAW,uCAAgB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA,sBAAsB,uCAAoB;AAC1C,sDAAsD;AACtD,8BAA8B,6CAA6C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,+CAAc;AACtB;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAAQ,yBAAyB,2BAAQ;AAC7E;AACA;AACA;AACA;AACA,oCAAoC,QAAQ;AAC5C,8BAA8B,2CAA2C;AACzE,+BAA+B,4BAAS;AACxC;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA,uCAAuC,4BAAS;AAChD;AACA;AACA,uCAAuC,kBAAkB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,eAAe;AACvB;AACA;AACA,QAAQ,+CAAc;AACtB,qBAAqB,OAAO,0BAA0B,OAAO;AAC7D;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,OAAO;AACpB,aAAa,qFAAqF;AAClG,aAAa,qDAAqD;AAClE,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD,kBAAkB,aAAa;AAC/B;AACA;AACA;AACA,KAAK;AACL,gBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,2CAA2C;AACxD,aAAa,OAAO;AACpB,aAAa,2CAA2C;AACxD;AACA;AACA;AACA,2BAA2B,wCAAwC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6CAA6C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA,qCAAqC,4BAAS;AAC9C;AACA;AACA;AACA,wBAAwB,qCAAc;AACtC,QAAQ,qCAAc;AACtB,QAAQ,yCAAkB;AAC1B,qCAAqC,kBAAkB;AACvD;AACA,oDAAoD;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,SAAuB;;;AAGzB;AACA;AACA,WAAW,uCAAuC;AAClD,YAAY,QAAQ;AACpB;AACA,6CAA6B;AAC7B,6BAA6B,4BAAS;AACtC;;;AAGA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,uCAAuC;AAClD,YAAY,8BAA8B;AAC1C;AACA,6CAA6B;AAC7B,aAAa,6CAA6B,YAAY,4CAA4C;AAClG;;;AAGe,iGAA6B,EAAC;;AAE7C,2C;;AChgBA;AACA;AACA;AAC6C;AACiB;AACG;AACjC;AACuC;AACd;AACY;AACI;AACQ;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,QAAQ;AACR;AACA,4CAA4C,2BAA2B;AACvE,YAAY,+BAA+B;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gCAAgC;AAC9C;AACA;AACA,2BAA2B,sCAAsC;AACjE;AACA;AACA;AACA;AACA,6CAA6C;AAC7C,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAG;AACP;AACA,cAAc,6BAAM,GAAG;AACvB;AACA,yBAAyB,wCAAe;AACxC;AACA;AACA,6BAA6B,QAAmB;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uBAAuB,UAAiB;AACxC;AACA,MAAM,UAAwB;AAC9B,MAAM,SAAuB;AAC7B,MAAM,WAAyB;AAC/B,MAAM,eAA6B;AACnC;AACA;AACA;;AAEA;AACA,CAAC,CAAC,eAAY;;;AAGC,6EAAG,EAAC;;AAEnB,+B;;;;;;;;;;;;;;;;;;;;;;;;AClGA;AACA;AACA;AACoC;AACwB;AACd;AACa;;AAE3D;AACA,aAAa,4DAA4D;AACzE;;AAEA;AACA,aAAa,8CAA8C;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA,8CAA8C,uBAAuB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAO;AACX;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA,IAAI,gCAAM;AACV,YAAY,+CAAkB;AAC9B;;AAEA;AACA,4BAA4B,EAAE;AAC9B,kCAAkC,qCAAqC;AACvE;AACA,OAAO;AACP,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,4CAA4C;AACnE,cAAc,+CAA+C;AAC7D;AACA;AACA;AACA;AACA;AACA,iBAAiB,+CAA+C;AAChE;AACA;;AAEA;AACA;AACA;AACA,cAAc,sCAAsC;AACpD,cAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,yCAAyC;AAC/C,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,uCAAa;AACnB;AACA;AACA;AACA;AACA,gCAAgC,gCAAM;AACtC,QAAQ,4BAAS;AACjB;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,gDAAgD;AAChF,aAAa,+CAA+C;AAC5D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,qCAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,0DAA0D;AAChE,aAAa,wBAAwB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,4CAA4C;AAC/D;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,IAAI,kCAAQ;AACZ,YAAY,+CAAkB;AAC9B;AACA;AACA,IAAI,gCAAM;AACV,YAAY,+CAAkB;AAC9B;AACA;AACA;;AAEA;AACA,CAAC,CAAC,4BAAU;;;AAGZ;AACA;AACA;AACA;AACA,WAAW,yHAAyH;AACpI;AACA,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA,GAAG;AACH;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,iCAAM,mBAAmB,EAAE;AACjC,YAAY;AACZ,6BAA6B,mCAAmC;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACe,8DAAO,EAAC;;AAEvB,mC;;;;;;;;;;;ACnTA;AACA;AACA;AACiC;AACG;AACiE;;;AAGrG;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;AACA;AACA;AACA;AACA,cAAc,8BAA8B;AAC5C,iBAAiB,2BAA2B;AAC5C,cAAc,oCAAoC;AAClD;AACA;AACA;;;AAGA;AACA,aAAa,OAAO;AACpB,cAAc,oCAAoC;AAClD;AACA;AACA;AACA,cAAc,oCAAoC;AAClD;AACA,gDAAgD;AAChD,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,IAAI,cAAc;AAClB,IAAI,gCAAgC;AACpC;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAa;;AAEjB;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;;AAEA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,sBAAsB;AAClC;AACA;AACA,qBAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,mCAAmC;AAC9C;AACA;AACA,YAAY;AACZ;AACA;AACA,qBAAa;AACb,SAAS,gCAAM;AACf;AACA;AACA,GAAG;AACH;;AAEA;AACA,+CAA+C,mBAAmB;AAClE,YAAY,8BAA8B;AAC1C;AACA,qBAAa;AACb;AACA;;AAEA;AACA;AACA,YAAY,kCAAkC;AAC9C;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,oCAAoC;AAChD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,aAAa;AACxB,YAAY,2CAA2C;AACvD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,WAAW,aAAa;AACxB,YAAY,sCAAsC;AAClD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC,YAAY,wCAAwC;AACpD;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,gCAAgC;AAC3C,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,uCAAuC;AAClD,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEA;AACA;AACA;AACA;AACA,WAAW,sCAAsC;AACjD,WAAW,cAAc;AACzB,YAAY,OAAO;AACnB;AACA,qBAAa;AACb,SAAS,gCAAQ;AACjB;;AAEe,wEAAa,EAAC;;AAE7B;AACA,WAAW,oEAAoE;AAC/E,WAAW,QAAQ;AACnB,WAAW,4BAA4B;AACvC,YAAY,oEAAoE;AAChF;AACO;AACP;AACA,IAAI,2BAAa;AACjB;AACA,IAAI,2BAAa;AACjB;AACA,YAAY;AACZ;AACA;AACA;AACA,OAAO,kCAAoB;AAC3B;AACA;AACA;AACA,oBAAoB,uCAAe;AACnC;AACA;AACA;AACA,KAAK;AACL,wCAAwC,mCAAmC;AAC3E;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yCAAyC,aAAa;AACtD;AACA,wCAAwC,aAAa;AACrD;AACA;AACA,eAAe,cAAc;AAC7B,gBAAgB,cAAc;AAC9B;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA,+BAA+B,mCAAmC;AAClE;AACA;AACA;AACA;AACA;;AAEA,mC;;;;;AC3QA;AACA;AACA;AACkC;;;AAGlC;AACA,eAAe,sCAAsC;AACrD,IAAI,0CAA0C;AAC9C;AACA,aAAa,OAAO;AACpB,cAAc,KAAK;AACnB;;;AAGA;AACA,aAAa,4BAA4B;AACzC;;;AAGA;AACA,aAAa,+BAA+B;AAC5C;;;AAGA;AACA;AACA,6BAA6B;AAC7B;AACA,UAAU;AACV;AACO;;;AAGP;AACA,UAAU;AACV;AACO;;;AAGP;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,QAAQ;AACnB;AACA,WAAW,cAAc;AACzB;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA,6BAA6B,GAAG;AAChC;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACO;AACP;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACO;AACP;AACA;;;AAGA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACO;AACP;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wDAAwD;AACnE,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,KAAK;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC,QAAQ,kCAAM;AACd;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,WAAW,qCAAqC;AAChD,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,KAAK;AACpB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,QAAQ;AACnB,WAAW,GAAG;AACd,YAAY,OAAO;AACnB;AACA;AACO;AACP;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA,IAAI,kCAAkC;AACtC,WAAW,qCAAqC;AAChD,WAAW,GAAG;AACd,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA,WAAW,wCAAwC;AACnD,WAAW,GAAG;AACd,YAAY,WAAW;AACvB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,IAAI,8BAA8B,KAAK,wCAAwC;AAC/E;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA,YAAY,iDAAiD;AAC7D;AACO;AACP;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB,gBAAgB,KAAK;AACrB;AACA;AACA,+BAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,OAAO;AAC7D;AACA;AACA;;;AAGA;AACA;AACA,yBAAyB,8BAA8B;AACvD,IAAI,wCAAwC;AAC5C;AACA,UAAU;AACV;AACO;;;AAGP;AACA,gDAAgD,8BAA8B;AAC9E,IAAI,wCAAwC;AAC5C;AACA,WAAW,kBAAkB;AAC7B;AACA,WAAW,cAAc;AACzB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,EAAE;AACb,WAAW,mBAAmB;AAC9B,YAAY,kBAAkB;AAC9B;AACA;AACO;AACP;AACA,YAAY;AACZ;AACA;AACA;AACA,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,uCAAuC;AAClD;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,GAAG;AACd;AACO;AACP;AACA,kCAAkC,GAAG;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,WAAW,EAAE;AACb,WAAW,uCAAuC;AAClD;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,GAAG;AACd,YAAY,EAAE;AACd;AACA;AACO;AACP;AACA;AACA,oBAAoB,EAAE;AACtB;;;AAGA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,WAAW,qEAAqE;AAChF;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,gCAAgC;AAC3C,WAAW,SAAS;AACpB,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,EAAE;AACb,WAAW,2CAA2C;AACtD;AACA,WAAW,qEAAqE;AAChF;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,gCAAgC;AAC3C,WAAW,SAAS;AACpB,WAAW,eAAe;AAC1B;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,YAAY,YAAY;AACxB;AACA;AACO;AACP;AACA;AACA,oBAAoB,YAAY;AAChC;;AAEA,+B;;ACjfA;AACA;AACA;AACoC;AACD;AACc;AACA;AACL;;AAE5C;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,6BAAU;AACrB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB,qDAAqD,SAAS;AAC9D,KAAK;AACL,iDAAiD,KAAK;AACtD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD,cAAc,gCAAgC;AAC9C;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,oCAAoC;AACjD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB;AACA,mBAAmB,SAAS;AAC5B,KAAK;AACL,kDAAkD,KAAK;AACvD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD;AACA,cAAc,uCAAuC;AACrD;AACA;AACA,eAAe,uCAAuC;AACtD;AACA,4BAA4B,KAAK,qBAAqB,GAAG;AACzD;AACA,QAAQ,kCAAM;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD;AACA,cAAc,uCAAuC;AACrD;AACA;AACA,WAAW,gCAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB;AACA,mBAAmB,SAAS;AAC5B,KAAK;AACL,kDAAkD,KAAK;AACvD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB,aAAa,oCAAoC;AACjD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,aAAa,KAAK;AAClB,aAAa,oCAAoC;AACjD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,KAAK;AACrB;AACA,KAAK,UAAU,UAAU;AACzB,wDAAwD,SAAS;AACjE,KAAK;AACL,oDAAoD,KAAK;AACzD;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;;AAEA;AACA,aAAa,KAAK;AAClB;AACA,cAAc,wCAAwC;AACtD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,gCAAgC;AAC7C,aAAa,qCAAqC;AAClD;AACA,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA,aAAa,uCAAuC;AACpD,aAAa,qCAAqC;AAClD,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,uCAAuC;AACpD,aAAa,qCAAqC;AAClD,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,sCAAsC;AACnD,aAAa,qCAAqC;AAClD,cAAc,KAAK;AACnB;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,CAAC,CAAC,cAAa;;;AAGA,2EAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;;;;;;;;;;;;;AC/QA;AACA;AACA;AAC4C;AACT;;;AAGnC;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,eAAe;AAC1B,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,iCAAiC,SAAS;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wCAAY;AAC5B;AACA;AACA;AACA;AACA,eAAe,4BAAI;AACnB;AACA,eAAe,4BAAI;AACnB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,oBAAoB,4BAAI;AACxB;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,YAAY,yCAAyC;AACrD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uC;;;;;;;;;;;;;;AClLA;AACA;AACA;AACmC;AACmB;AACL;AACJ;AACI;AACqB;AACjB;AACA;AAC2B;AAChB;AACd;AACW;AACX;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,qDAAqD,cAAc;AACnE,KAAK;AACL,qCAAqC,6CAA6C;AAClF;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,MAAM,kCAAM;AACZ;AACA;AACA;;AAEA;AACA;AACA,cAAc,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAA6B,qDAAwB;AACrD;AACA;AACA;AACA,iCAAiC,0CAAe;AAChD;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,mGAAmG;AAChH;AACA,cAAc,UAAU;AACxB;AACA;AACA;AACA;AACA,WAAW,mCAAc;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,cAAc,sCAAsC;AACpD;AACA;AACA;AACA,uBAAuB,iCAAc;AACrC,uBAAuB,iCAAc;AACrC;AACA;AACA;AACA,WAAW,uBAAuB;AAClC;AACA;;AAEA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA,WAAW,6CAAkB;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,uCAAuC;AACpD;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;;AAEA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA,WAAW,+CAAgB;AAC3B;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,0CAAc;AACrD;AACA;AACA,qDAAqD,iCAAc;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,+BAAY;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,wDAAoB;AAC/B;AACA;AACA;;AAEA;AACA;AACA,aAAa,8CAA8C;AAC3D,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAAkB;AACpD;AACA;AACA;;AAEA;AACA,CAAC,CAAC,sCAAc;;;AAGD,yEAAU,EAAC;;AAE1B,sC;;;;;;;;ACpPA;AACA;AACA;AACA;AACmC;AACC;AACc;AACT;AACc;AACR;AACV;AACI;AACP;AACc;AACW;;;AAG3D;AACA;AACA,UAAU;AACV;AACA;;;AAGA;AACA;AACA,UAAU;AACV;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,UAAU;AACV;AACA,cAAc,eAAe;AAC7B;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAM;AACV;AACA;;AAEA;AACA;AACA;AACA,0BAA0B,2BAAa;AACvC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;AACA,qBAAqB,uBAAuB;AAC5C,gCAAgC,OAAO;AACvC,mBAAmB,cAAc;AACjC;AACA,kDAAkD,QAAQ;AAC1D;AACA,UAAU,kCAAM;AAChB;AACA;AACA;AACA;AACA,yBAAyB,0BAAO,kBAAkB,iCAAc;AAChE,SAAS;AACT,yBAAyB,eAAU,kBAAkB,iCAAc;AACnE;AACA,QAAQ,oBAAoB;AAC5B,0BAA0B,UAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,iBAAU;;;AAGZ;AACA;AACA,UAAU;AACV;AACA,mBAAmB,eAAe;AAClC;AACA;AACA,GAAG;;;AAGH;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,2BAA2B,mCAAmC;AAC9D,yBAAyB,OAAO;AAChC;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;;AAEA,eAAe,eAAe;AAC9B;AACA,GAAG;AACH,OAAO,iCAAO;AACd,uBAAuB,wBAAK;AAC5B,IAAI,oBAAoB;AACxB,sBAAsB,UAAO;AAC7B;AACA;AACA;AACA;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA;AACA,eAAe,eAAe;AAC9B;AACA;AACA;AACA,GAAG;AACH,yBAAyB,OAAO;AAChC;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;;;AAGA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB;AACA;AACA,0BAA0B,OAAO;AACjC;AACA;;;AAGe,0FAAM,EAAC;;AAEtB,kC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LA;AACA;AACA;AACoC;AACY;;AAEhD;AACA,IAAI,8BAA8B;AAClC;AACA;AACA,2BAA2B,8BAA8B;AACzD,OAAO,OAAO;AACd,IAAI,gCAAgC;AACpC;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA,aAAa;AACb,8DAA8D;AAC9D;AACA;;;AAGA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA,2BAA2B,8BAA8B;AACzD,qBAAqB,OAAO;AAC5B,WAAW,gCAAgC;AAC3C,6BAA6B,OAAO;AACpC,aAAa,+FAA+F;AAC5G;AACA;;;AAGA;AACA,WAAW,0BAA0B;AACrC,WAAW,sCAAsC;AACjD,WAAW,sPAAsP;AACjQ;AACA;AACA,WAAW,kGAAkG;AAC7G;AACA;AACA,YAAY,cAAc;AAC1B;AACO;AACP;AACA;AACA,eAAe,6BAA6B;AAC5C,eAAe,OAAO;AACtB,eAAe,uCAAuC;AACtD,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,6BAAU;AACxC;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;AACA,sBAAsB,6BAAU,iBAAiB,6BAAU;AAC3D;AACA,WAAW,kBAAkB,6BAAU;AACvC;AACA;AACA;AACA;AACA,WAAW,kBAAkB,6BAAU;AACvC,gCAAgC,YAAY;AAC5C;AACA;AACA;AACA,eAAe,8BAA8B;AAC7C;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,WAAW,0BAA0B;AACrC,WAAW,sCAAsC;AACjD,YAAY,cAAc;AAC1B;AACA;AACO,SAAS,iBAAG;AACnB;AACA;AACA,eAAe,sCAAsC;AACrD,eAAe,uCAAuC;AACtD;AACA,cAAc;AACd;AACA;AACA,oCAAoC,EAAE;AACtC;AACA,mBAAmB,kCAAkC;AACrD;AACA,KAAK,2BAA2B,yBAAI;AACpC;;AAEA,yC;;ACpIA;AACA;AACA;AACiC;AACJ;AACU;AACQ;AACG;AACe;AACnB;AACK;AACf;;;AAGpC;AACA,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB,cAAc,yCAAyC;AACvD,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;;AAGA,IAAI,+BAAe;AACnB;AACA;AACA;;AAEA,uCAAuC,cAAc;;AAErD;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA,yDAAyD,eAAe;AACxE,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,4CAAe;AAC1C;AACA;AACA;AACA,yBAAyB,4CAAe;AACxC;AACA,YAAY,qCAAQ;AACpB,YAAY,sCAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAAS,SAAS,4BAAS;AAChE;AACA;AACA;AACA,cAAc,gCAAM,aAAa,4BAAS;AAC1C;AACA,wEAAwE,4BAAS;AACjF;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,gDAAgD,4BAAS;AACzD;AACA;AACA;AACA;AACA,uBAAuB,yBAAI;AAC3B,4BAA4B,4BAAS;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+BAAa;AAChD;AACA,yCAAyC,+BAAa;AACtD;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,cAAc,yBAAyB;AACvC;AACA;AACA,cAAc,8BAAM;AACpB;AACA,2BAA2B,4CAAqB;AAChD;AACA;AACA;;AAEA;AACA;AACA,aAAa,mCAAmC;AAChD,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,cAAc,YAAY;AAC1B;AACA;AACA,cAAc,8BAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,OAAO;AACpB,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB,4BAAS;AAC/B,oBAAoB,4BAAS;AAC7B;AACA,sBAAsB,4BAAS;AAC/B;AACA;AACA,gCAAgC,4BAAS;AACzC;AACA;AACA;AACA,gCAAgC,4BAAS;AACzC,oBAAoB,gCAAM,aAAa,4BAAS;AAChD;AACA,yBAAyB,4BAAS;AAClC,yBAAyB,4BAAS;AAClC,wBAAwB,8BAAM;AAC9B,2BAA2B,4BAAS;AACpC;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,QAAQ;AACpC;AACA,mBAAmB,4BAAS;AAC5B;AACA;AACA,mBAAmB,4BAAS;AAC5B;AACA;AACA;AACA;AACA,qCAAqC,+BAAa;AAClD;AACA,oBAAoB,4BAAS;AAC7B,KAAK;AACL,oDAAoD,4BAAS,SAAS,4BAAS;AAC/E;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;;AAGS,sFAAe,EAAC;;AAE/B;AACA;AACA,WAAW,kCAAkC;AAC7C,WAAW,OAAO;AAClB;AACO;AACP,eAAe,eAAe;AAC9B;AACA;;AAEA,2C;;AC1TA;AACA;AACA;AACiC;AACJ;AACU;;AAEvC;AACA;AACA,UAAU;AACV;AACA;;;AAGA,IAAI,qBAAU;AACd;;AAEA;;AAEA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4BAAS;AAC1B;AACA;AACA;;AAEA;AACA;AACA,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,sCAAsC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,oDAAoD;AAC7D,cAAc,0CAA0C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,kDAAkD;AACxD,cAAc,uCAAuC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,cAAc,0CAA0C;AACxD;AACA;AACA,8BAA8B,8BAAM;AACpC;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,4BAAS;AAC/B,oBAAoB,4BAAS;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,sCAAsC;AACnD,aAAa,uCAAuC;AACpD,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,4BAAS;AAC3B;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;AACnD,MAAM,6CAA6C;AACnD;AACA,aAAa,6BAA6B;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA,kBAAkB,4BAAS;AAC3B;;AAEA;AACA,6BAA6B,6CAA6C;AAC1E;AACA,MAAM,kDAAkD;AACxD,aAAa,uCAAuC;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,mCAAmC;AAChD,aAAa,OAAO;AACpB,aAAa,0CAA0C;AACvD;AACA;AACA,uBAAuB,8BAAM;AAC7B;;AAEA;AACA;AACA,aAAa,2CAA2C;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,CAAC,0BAAI;;AAES,uEAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;AC3OA;AACA;AACA;;AAEwC;AACmC;AACvC;AACF;AACC;AACO;AAC0C;;AAEpF;AACA,aAAa,OAAO;AACpB,cAAc,sCAAsC;AACpD,cAAc,OAAO;AACrB,cAAc,8BAA8B;AAC5C,cAAc,uCAAuC;AACrD,cAAc,QAAQ;AACtB;AACA;AACA;AACA,cAAc,oCAAoC;AAClD,cAAc,6BAA6B;AAC3C,cAAc,0CAA0C;AACxD,eAAe,2BAA2B;AAC1C,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,iCAAiC;AAC/C,cAAc,0CAA0C;AACxD,cAAc,kCAAkC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,IAAI;AACJ;AACA,cAAc,iCAAiC;AAC/C,cAAc,OAAO,oCAAoC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE;AACvF,OAAO,IAAI,2CAA2C,IAAI;AAC1D;AACA,cAAc,OAAO;AACrB;AACA,cAAc,cAAc;AAC5B,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,cAAc,4CAA4C;AAC1D;AACA;AACA;AACA,IAAI,8BAA8B;AAClC;AACA;AACA;AACA;AACA;AACA,IAAI,4BAAU;AACd;AACA;;AAEA,mCAAmC,gDAAoB;;AAEvD,uCAAuC,qCAAS;AAChD;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,mBAAmB;AACjG;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA,cAAc;AACd;AACA,6DAA6D,aAAI;;AAEjE;AACA;AACA,cAAc;AACd;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA,YAAY,oCAAoC;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,sCAAS;AAChC;AACA;AACA,mBAAmB,8BAA8B;AACjD;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,kBAAe;AACpC;AACA,gCAAgC,4BAAS,QAAQ,4BAAS;AAC1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,+CAAmB;AAC5D;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,mBAAmB,8BAAM;AACzB;AACA;;AAEA;AACA,CAAC,CAAC,iCAAO;;;AAGM,6GAAU,EAAC;;AAE1B,sC;;;;;;;;;;;;;;;;;;;;;;;;AC9NA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4B;AACE;AAC+D;AACvC;AACK;AACrB;AACH;AACH;AACM;AACO;AACE;AACM;AACE;AACd;AACoC;;;AAG7E,4BAA4B,qEAAU;;;AAGtC;AACA;AACA,iBAAiB,4DAAK;AACtB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,YAAY,4DAAK;AACjB;AACA,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,cAAc,4DAAI;AAClB;AACA,KAAK;AACL,gBAAgB,4DAAM;AACtB;AACA;AACA,KAAK;AACL,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,iBAAiB,4DAAK;AACtB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,GAAG;AACH,YAAY,4DAAK;AACjB,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,iCAAiC,4DAAK;AACtC,eAAe,4DAAM;AACrB;AACA;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,IAAI;AACJ,aAAa,4DAAI;AACjB;AACA,cAAc,4DAAI;AAClB;AACA,KAAK;AACL,gBAAgB,4DAAM;AACtB;AACA;AACA,KAAK;AACL,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,cAAc,4DAAK;AACnB,cAAc,4DAAW;AACzB;AACA,cAAc,4DAAI;AAClB;AACA,SAAS;AACT;AACA,IAAI;AACJ,GAAG;AACH,EAAE;AACF;AACA,YAAY,4DAAK;AACjB,aAAa,4DAAI;AACjB;AACA,cAAc,4DAAI;AAClB;AACA,KAAK;AACL,gBAAgB,4DAAM;AACtB;AACA;AACA,KAAK;AACL,IAAI;AACJ,GAAG;AACH;AACA;;AAEA,uBAAuB,uEAAgB;AACvC,aAAa,mEAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,EAAE;AACF,WAAW,8DAAW;AACtB,CAAC;;AAED,cAAc,yDAAG;AACjB;AACA,YAAY,sEAAe;AAC3B;AACA;AACA;AACA;AACA,QAAQ,6DAAS;AACjB,kBAAkB,gEAAG;AACrB,KAAK;AACL,QAAQ,sEAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,YAAY,0DAAI;AAChB;AACA;AACA,GAAG;AACH,CAAC;;;;AAID;;AAEA;AACA;AACA;;;;;;;;AC5LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;ACvBA;AACA,CAAC,KAA4D;AAC7D,CAAC,SACgC;AACjC,CAAC,qBAAqB;;AAEtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;;AC9DD,uC","file":"main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 98);\n","/**\n * @module ol/extent\n */\nimport {assert} from './asserts.js';\nimport Corner from './extent/Corner.js';\nimport Relationship from './extent/Relationship.js';\n\n\n/**\n * An array of numbers representing an extent: `[minx, miny, maxx, maxy]`.\n * @typedef {Array} Extent\n * @api\n */\n\n/**\n * Build an extent that includes all given coordinates.\n *\n * @param {Array} coordinates Coordinates.\n * @return {Extent} Bounding extent.\n * @api\n */\nexport function boundingExtent(coordinates) {\n var extent = createEmpty();\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n extendCoordinate(extent, coordinates[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Array} xs Xs.\n * @param {Array} ys Ys.\n * @param {Extent=} opt_extent Destination extent.\n * @private\n * @return {Extent} Extent.\n */\nfunction _boundingExtentXYs(xs, ys, opt_extent) {\n var minX = Math.min.apply(null, xs);\n var minY = Math.min.apply(null, ys);\n var maxX = Math.max.apply(null, xs);\n var maxY = Math.max.apply(null, ys);\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n}\n\n\n/**\n * Return extent increased by the provided value.\n * @param {Extent} extent Extent.\n * @param {number} value The amount by which the extent should be buffered.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n * @api\n */\nexport function buffer(extent, value, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0] - value;\n opt_extent[1] = extent[1] - value;\n opt_extent[2] = extent[2] + value;\n opt_extent[3] = extent[3] + value;\n return opt_extent;\n } else {\n return [\n extent[0] - value,\n extent[1] - value,\n extent[2] + value,\n extent[3] + value\n ];\n }\n}\n\n\n/**\n * Creates a clone of an extent.\n *\n * @param {Extent} extent Extent to clone.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} The clone.\n */\nexport function clone(extent, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0];\n opt_extent[1] = extent[1];\n opt_extent[2] = extent[2];\n opt_extent[3] = extent[3];\n return opt_extent;\n } else {\n return extent.slice();\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {number} Closest squared distance.\n */\nexport function closestSquaredDistanceXY(extent, x, y) {\n var dx, dy;\n if (x < extent[0]) {\n dx = extent[0] - x;\n } else if (extent[2] < x) {\n dx = x - extent[2];\n } else {\n dx = 0;\n }\n if (y < extent[1]) {\n dy = extent[1] - y;\n } else if (extent[3] < y) {\n dy = y - extent[3];\n } else {\n dy = 0;\n }\n return dx * dx + dy * dy;\n}\n\n\n/**\n * Check if the passed coordinate is contained or on the edge of the extent.\n *\n * @param {Extent} extent Extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} The coordinate is contained in the extent.\n * @api\n */\nexport function containsCoordinate(extent, coordinate) {\n return containsXY(extent, coordinate[0], coordinate[1]);\n}\n\n\n/**\n * Check if one extent contains another.\n *\n * An extent is deemed contained if it lies completely within the other extent,\n * including if they share one or more edges.\n *\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {boolean} The second extent is contained by or on the edge of the\n * first.\n * @api\n */\nexport function containsExtent(extent1, extent2) {\n return extent1[0] <= extent2[0] && extent2[2] <= extent1[2] &&\n extent1[1] <= extent2[1] && extent2[3] <= extent1[3];\n}\n\n\n/**\n * Check if the passed coordinate is contained or on the edge of the extent.\n *\n * @param {Extent} extent Extent.\n * @param {number} x X coordinate.\n * @param {number} y Y coordinate.\n * @return {boolean} The x, y values are contained in the extent.\n * @api\n */\nexport function containsXY(extent, x, y) {\n return extent[0] <= x && x <= extent[2] && extent[1] <= y && y <= extent[3];\n}\n\n\n/**\n * Get the relationship between a coordinate and extent.\n * @param {Extent} extent The extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate The coordinate.\n * @return {Relationship} The relationship (bitwise compare with\n * import(\"./extent/Relationship.js\").Relationship).\n */\nexport function coordinateRelationship(extent, coordinate) {\n var minX = extent[0];\n var minY = extent[1];\n var maxX = extent[2];\n var maxY = extent[3];\n var x = coordinate[0];\n var y = coordinate[1];\n var relationship = Relationship.UNKNOWN;\n if (x < minX) {\n relationship = relationship | Relationship.LEFT;\n } else if (x > maxX) {\n relationship = relationship | Relationship.RIGHT;\n }\n if (y < minY) {\n relationship = relationship | Relationship.BELOW;\n } else if (y > maxY) {\n relationship = relationship | Relationship.ABOVE;\n }\n if (relationship === Relationship.UNKNOWN) {\n relationship = Relationship.INTERSECTING;\n }\n return relationship;\n}\n\n\n/**\n * Create an empty extent.\n * @return {Extent} Empty extent.\n * @api\n */\nexport function createEmpty() {\n return [Infinity, Infinity, -Infinity, -Infinity];\n}\n\n\n/**\n * Create a new extent or update the provided extent.\n * @param {number} minX Minimum X.\n * @param {number} minY Minimum Y.\n * @param {number} maxX Maximum X.\n * @param {number} maxY Maximum Y.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdate(minX, minY, maxX, maxY, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = minX;\n opt_extent[1] = minY;\n opt_extent[2] = maxX;\n opt_extent[3] = maxY;\n return opt_extent;\n } else {\n return [minX, minY, maxX, maxY];\n }\n}\n\n\n/**\n * Create a new empty extent or make the provided one empty.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateEmpty(opt_extent) {\n return createOrUpdate(\n Infinity, Infinity, -Infinity, -Infinity, opt_extent);\n}\n\n\n/**\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromCoordinate(coordinate, opt_extent) {\n var x = coordinate[0];\n var y = coordinate[1];\n return createOrUpdate(x, y, x, y, opt_extent);\n}\n\n\n/**\n * @param {Array} coordinates Coordinates.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromCoordinates(coordinates, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendCoordinates(extent, coordinates);\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromFlatCoordinates(flatCoordinates, offset, end, stride, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendFlatCoordinates(extent, flatCoordinates, offset, end, stride);\n}\n\n/**\n * @param {Array>} rings Rings.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function createOrUpdateFromRings(rings, opt_extent) {\n var extent = createOrUpdateEmpty(opt_extent);\n return extendRings(extent, rings);\n}\n\n\n/**\n * Determine if two extents are equivalent.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {boolean} The two extents are equivalent.\n * @api\n */\nexport function equals(extent1, extent2) {\n return extent1[0] == extent2[0] && extent1[2] == extent2[2] &&\n extent1[1] == extent2[1] && extent1[3] == extent2[3];\n}\n\n\n/**\n * Modify an extent to include another extent.\n * @param {Extent} extent1 The extent to be modified.\n * @param {Extent} extent2 The extent that will be included in the first.\n * @return {Extent} A reference to the first (extended) extent.\n * @api\n */\nexport function extend(extent1, extent2) {\n if (extent2[0] < extent1[0]) {\n extent1[0] = extent2[0];\n }\n if (extent2[2] > extent1[2]) {\n extent1[2] = extent2[2];\n }\n if (extent2[1] < extent1[1]) {\n extent1[1] = extent2[1];\n }\n if (extent2[3] > extent1[3]) {\n extent1[3] = extent2[3];\n }\n return extent1;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n */\nexport function extendCoordinate(extent, coordinate) {\n if (coordinate[0] < extent[0]) {\n extent[0] = coordinate[0];\n }\n if (coordinate[0] > extent[2]) {\n extent[2] = coordinate[0];\n }\n if (coordinate[1] < extent[1]) {\n extent[1] = coordinate[1];\n }\n if (coordinate[1] > extent[3]) {\n extent[3] = coordinate[1];\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array} coordinates Coordinates.\n * @return {Extent} Extent.\n */\nexport function extendCoordinates(extent, coordinates) {\n for (var i = 0, ii = coordinates.length; i < ii; ++i) {\n extendCoordinate(extent, coordinates[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @return {Extent} Extent.\n */\nexport function extendFlatCoordinates(extent, flatCoordinates, offset, end, stride) {\n for (; offset < end; offset += stride) {\n extendXY(extent, flatCoordinates[offset], flatCoordinates[offset + 1]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Array>} rings Rings.\n * @return {Extent} Extent.\n */\nexport function extendRings(extent, rings) {\n for (var i = 0, ii = rings.length; i < ii; ++i) {\n extendCoordinates(extent, rings[i]);\n }\n return extent;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} x X.\n * @param {number} y Y.\n */\nexport function extendXY(extent, x, y) {\n extent[0] = Math.min(extent[0], x);\n extent[1] = Math.min(extent[1], y);\n extent[2] = Math.max(extent[2], x);\n extent[3] = Math.max(extent[3], y);\n}\n\n\n/**\n * This function calls `callback` for each corner of the extent. If the\n * callback returns a truthy value the function returns that value\n * immediately. Otherwise the function returns `false`.\n * @param {Extent} extent Extent.\n * @param {function(this:T, import(\"./coordinate.js\").Coordinate): S} callback Callback.\n * @param {T=} opt_this Value to use as `this` when executing `callback`.\n * @return {S|boolean} Value.\n * @template S, T\n */\nexport function forEachCorner(extent, callback, opt_this) {\n var val;\n val = callback.call(opt_this, getBottomLeft(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getBottomRight(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getTopRight(extent));\n if (val) {\n return val;\n }\n val = callback.call(opt_this, getTopLeft(extent));\n if (val) {\n return val;\n }\n return false;\n}\n\n\n/**\n * Get the size of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Area.\n * @api\n */\nexport function getArea(extent) {\n var area = 0;\n if (!isEmpty(extent)) {\n area = getWidth(extent) * getHeight(extent);\n }\n return area;\n}\n\n\n/**\n * Get the bottom left coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Bottom left coordinate.\n * @api\n */\nexport function getBottomLeft(extent) {\n return [extent[0], extent[1]];\n}\n\n\n/**\n * Get the bottom right coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Bottom right coordinate.\n * @api\n */\nexport function getBottomRight(extent) {\n return [extent[2], extent[1]];\n}\n\n\n/**\n * Get the center coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Center.\n * @api\n */\nexport function getCenter(extent) {\n return [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2];\n}\n\n\n/**\n * Get a corner coordinate of an extent.\n * @param {Extent} extent Extent.\n * @param {Corner} corner Corner.\n * @return {import(\"./coordinate.js\").Coordinate} Corner coordinate.\n */\nexport function getCorner(extent, corner) {\n var coordinate;\n if (corner === Corner.BOTTOM_LEFT) {\n coordinate = getBottomLeft(extent);\n } else if (corner === Corner.BOTTOM_RIGHT) {\n coordinate = getBottomRight(extent);\n } else if (corner === Corner.TOP_LEFT) {\n coordinate = getTopLeft(extent);\n } else if (corner === Corner.TOP_RIGHT) {\n coordinate = getTopRight(extent);\n } else {\n assert(false, 13); // Invalid corner\n }\n return coordinate;\n}\n\n\n/**\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {number} Enlarged area.\n */\nexport function getEnlargedArea(extent1, extent2) {\n var minX = Math.min(extent1[0], extent2[0]);\n var minY = Math.min(extent1[1], extent2[1]);\n var maxX = Math.max(extent1[2], extent2[2]);\n var maxY = Math.max(extent1[3], extent2[3]);\n return (maxX - minX) * (maxY - minY);\n}\n\n\n/**\n * @param {import(\"./coordinate.js\").Coordinate} center Center.\n * @param {number} resolution Resolution.\n * @param {number} rotation Rotation.\n * @param {import(\"./size.js\").Size} size Size.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n */\nexport function getForViewAndSize(center, resolution, rotation, size, opt_extent) {\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var cosRotation = Math.cos(rotation);\n var sinRotation = Math.sin(rotation);\n var xCos = dx * cosRotation;\n var xSin = dx * sinRotation;\n var yCos = dy * cosRotation;\n var ySin = dy * sinRotation;\n var x = center[0];\n var y = center[1];\n var x0 = x - xCos + ySin;\n var x1 = x - xCos - ySin;\n var x2 = x + xCos - ySin;\n var x3 = x + xCos + ySin;\n var y0 = y - xSin - yCos;\n var y1 = y - xSin + yCos;\n var y2 = y + xSin + yCos;\n var y3 = y + xSin - yCos;\n return createOrUpdate(\n Math.min(x0, x1, x2, x3), Math.min(y0, y1, y2, y3),\n Math.max(x0, x1, x2, x3), Math.max(y0, y1, y2, y3),\n opt_extent);\n}\n\n\n/**\n * Get the height of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Height.\n * @api\n */\nexport function getHeight(extent) {\n return extent[3] - extent[1];\n}\n\n\n/**\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @return {number} Intersection area.\n */\nexport function getIntersectionArea(extent1, extent2) {\n var intersection = getIntersection(extent1, extent2);\n return getArea(intersection);\n}\n\n\n/**\n * Get the intersection of two extents.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent 2.\n * @param {Extent=} opt_extent Optional extent to populate with intersection.\n * @return {Extent} Intersecting extent.\n * @api\n */\nexport function getIntersection(extent1, extent2, opt_extent) {\n var intersection = opt_extent ? opt_extent : createEmpty();\n if (intersects(extent1, extent2)) {\n if (extent1[0] > extent2[0]) {\n intersection[0] = extent1[0];\n } else {\n intersection[0] = extent2[0];\n }\n if (extent1[1] > extent2[1]) {\n intersection[1] = extent1[1];\n } else {\n intersection[1] = extent2[1];\n }\n if (extent1[2] < extent2[2]) {\n intersection[2] = extent1[2];\n } else {\n intersection[2] = extent2[2];\n }\n if (extent1[3] < extent2[3]) {\n intersection[3] = extent1[3];\n } else {\n intersection[3] = extent2[3];\n }\n } else {\n createOrUpdateEmpty(intersection);\n }\n return intersection;\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @return {number} Margin.\n */\nexport function getMargin(extent) {\n return getWidth(extent) + getHeight(extent);\n}\n\n\n/**\n * Get the size (width, height) of an extent.\n * @param {Extent} extent The extent.\n * @return {import(\"./size.js\").Size} The extent size.\n * @api\n */\nexport function getSize(extent) {\n return [extent[2] - extent[0], extent[3] - extent[1]];\n}\n\n\n/**\n * Get the top left coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Top left coordinate.\n * @api\n */\nexport function getTopLeft(extent) {\n return [extent[0], extent[3]];\n}\n\n\n/**\n * Get the top right coordinate of an extent.\n * @param {Extent} extent Extent.\n * @return {import(\"./coordinate.js\").Coordinate} Top right coordinate.\n * @api\n */\nexport function getTopRight(extent) {\n return [extent[2], extent[3]];\n}\n\n\n/**\n * Get the width of an extent.\n * @param {Extent} extent Extent.\n * @return {number} Width.\n * @api\n */\nexport function getWidth(extent) {\n return extent[2] - extent[0];\n}\n\n\n/**\n * Determine if one extent intersects another.\n * @param {Extent} extent1 Extent 1.\n * @param {Extent} extent2 Extent.\n * @return {boolean} The two extents intersect.\n * @api\n */\nexport function intersects(extent1, extent2) {\n return extent1[0] <= extent2[2] &&\n extent1[2] >= extent2[0] &&\n extent1[1] <= extent2[3] &&\n extent1[3] >= extent2[1];\n}\n\n\n/**\n * Determine if an extent is empty.\n * @param {Extent} extent Extent.\n * @return {boolean} Is empty.\n * @api\n */\nexport function isEmpty(extent) {\n return extent[2] < extent[0] || extent[3] < extent[1];\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {Extent=} opt_extent Extent.\n * @return {Extent} Extent.\n */\nexport function returnOrUpdate(extent, opt_extent) {\n if (opt_extent) {\n opt_extent[0] = extent[0];\n opt_extent[1] = extent[1];\n opt_extent[2] = extent[2];\n opt_extent[3] = extent[3];\n return opt_extent;\n } else {\n return extent;\n }\n}\n\n\n/**\n * @param {Extent} extent Extent.\n * @param {number} value Value.\n */\nexport function scaleFromCenter(extent, value) {\n var deltaX = ((extent[2] - extent[0]) / 2) * (value - 1);\n var deltaY = ((extent[3] - extent[1]) / 2) * (value - 1);\n extent[0] -= deltaX;\n extent[2] += deltaX;\n extent[1] -= deltaY;\n extent[3] += deltaY;\n}\n\n\n/**\n * Determine if the segment between two coordinates intersects (crosses,\n * touches, or is contained by) the provided extent.\n * @param {Extent} extent The extent.\n * @param {import(\"./coordinate.js\").Coordinate} start Segment start coordinate.\n * @param {import(\"./coordinate.js\").Coordinate} end Segment end coordinate.\n * @return {boolean} The segment intersects the extent.\n */\nexport function intersectsSegment(extent, start, end) {\n var intersects = false;\n var startRel = coordinateRelationship(extent, start);\n var endRel = coordinateRelationship(extent, end);\n if (startRel === Relationship.INTERSECTING ||\n endRel === Relationship.INTERSECTING) {\n intersects = true;\n } else {\n var minX = extent[0];\n var minY = extent[1];\n var maxX = extent[2];\n var maxY = extent[3];\n var startX = start[0];\n var startY = start[1];\n var endX = end[0];\n var endY = end[1];\n var slope = (endY - startY) / (endX - startX);\n var x, y;\n if (!!(endRel & Relationship.ABOVE) &&\n !(startRel & Relationship.ABOVE)) {\n // potentially intersects top\n x = endX - ((endY - maxY) / slope);\n intersects = x >= minX && x <= maxX;\n }\n if (!intersects && !!(endRel & Relationship.RIGHT) &&\n !(startRel & Relationship.RIGHT)) {\n // potentially intersects right\n y = endY - ((endX - maxX) * slope);\n intersects = y >= minY && y <= maxY;\n }\n if (!intersects && !!(endRel & Relationship.BELOW) &&\n !(startRel & Relationship.BELOW)) {\n // potentially intersects bottom\n x = endX - ((endY - minY) / slope);\n intersects = x >= minX && x <= maxX;\n }\n if (!intersects && !!(endRel & Relationship.LEFT) &&\n !(startRel & Relationship.LEFT)) {\n // potentially intersects left\n y = endY - ((endX - minX) * slope);\n intersects = y >= minY && y <= maxY;\n }\n\n }\n return intersects;\n}\n\n\n/**\n * Apply a transform function to the extent.\n * @param {Extent} extent Extent.\n * @param {import(\"./proj.js\").TransformFunction} transformFn Transform function.\n * Called with `[minX, minY, maxX, maxY]` extent coordinates.\n * @param {Extent=} opt_extent Destination extent.\n * @return {Extent} Extent.\n * @api\n */\nexport function applyTransform(extent, transformFn, opt_extent) {\n var coordinates = [\n extent[0], extent[1],\n extent[0], extent[3],\n extent[2], extent[1],\n extent[2], extent[3]\n ];\n transformFn(coordinates, coordinates, 2);\n var xs = [coordinates[0], coordinates[2], coordinates[4], coordinates[6]];\n var ys = [coordinates[1], coordinates[3], coordinates[5], coordinates[7]];\n return _boundingExtentXYs(xs, ys, opt_extent);\n}\n\n//# sourceMappingURL=extent.js.map","/**\n * @module ol/util\n */\n\n/**\n * @return {?} Any return.\n */\nexport function abstract() {\n return /** @type {?} */ ((function() {\n throw new Error('Unimplemented abstract method.');\n })());\n}\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * Usage:\n *\n * function ParentClass(a, b) { }\n * ParentClass.prototype.foo = function(a) { }\n *\n * function ChildClass(a, b, c) {\n * // Call parent constructor\n * ParentClass.call(this, a, b);\n * }\n * inherits(ChildClass, ParentClass);\n *\n * var child = new ChildClass('a', 'b', 'see');\n * child.foo(); // This works.\n *\n * @param {!Function} childCtor Child constructor.\n * @param {!Function} parentCtor Parent constructor.\n * @function module:ol.inherits\n * @deprecated\n * @api\n */\nexport function inherits(childCtor, parentCtor) {\n childCtor.prototype = Object.create(parentCtor.prototype);\n childCtor.prototype.constructor = childCtor;\n}\n\n/**\n * Counter for getUid.\n * @type {number}\n * @private\n */\nvar uidCounter_ = 0;\n\n/**\n * Gets a unique ID for an object. This mutates the object so that further calls\n * with the same object as a parameter returns the same value. Unique IDs are generated\n * as a strictly increasing sequence. Adapted from goog.getUid.\n *\n * @param {Object} obj The object to get the unique ID for.\n * @return {string} The unique ID for the object.\n * @function module:ol.getUid\n * @api\n */\nexport function getUid(obj) {\n return obj.ol_uid || (obj.ol_uid = String(++uidCounter_));\n}\n\n/**\n * OpenLayers version.\n * @type {string}\n */\nexport var VERSION = '5.3.3';\n\n//# sourceMappingURL=util.js.map","/**\n * @module ol/events\n */\nimport {clear} from './obj.js';\n\n\n/**\n * Key to use with {@link module:ol/Observable~Observable#unByKey}.\n * @typedef {Object} EventsKey\n * @property {Object} [bindTo]\n * @property {ListenerFunction} [boundListener]\n * @property {boolean} callOnce\n * @property {number} [deleteIndex]\n * @property {ListenerFunction} listener\n * @property {import(\"./events/Target.js\").EventTargetLike} target\n * @property {string} type\n * @api\n */\n\n\n/**\n * Listener function. This function is called with an event object as argument.\n * When the function returns `false`, event propagation will stop.\n *\n * @typedef {function((Event|import(\"./events/Event.js\").default)): (void|boolean)} ListenerFunction\n * @api\n */\n\n\n/**\n * @param {EventsKey} listenerObj Listener object.\n * @return {ListenerFunction} Bound listener.\n */\nexport function bindListener(listenerObj) {\n var boundListener = function(evt) {\n var listener = listenerObj.listener;\n var bindTo = listenerObj.bindTo || listenerObj.target;\n if (listenerObj.callOnce) {\n unlistenByKey(listenerObj);\n }\n return listener.call(bindTo, evt);\n };\n listenerObj.boundListener = boundListener;\n return boundListener;\n}\n\n\n/**\n * Finds the matching {@link module:ol/events~EventsKey} in the given listener\n * array.\n *\n * @param {!Array} listeners Array of listeners.\n * @param {!Function} listener The listener function.\n * @param {Object=} opt_this The `this` value inside the listener.\n * @param {boolean=} opt_setDeleteIndex Set the deleteIndex on the matching\n * listener, for {@link module:ol/events~unlistenByKey}.\n * @return {EventsKey|undefined} The matching listener object.\n */\nexport function findListener(listeners, listener, opt_this, opt_setDeleteIndex) {\n var listenerObj;\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n listenerObj = listeners[i];\n if (listenerObj.listener === listener &&\n listenerObj.bindTo === opt_this) {\n if (opt_setDeleteIndex) {\n listenerObj.deleteIndex = i;\n }\n return listenerObj;\n }\n }\n return undefined;\n}\n\n\n/**\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n * @param {string} type Type.\n * @return {Array|undefined} Listeners.\n */\nexport function getListeners(target, type) {\n var listenerMap = getListenerMap(target);\n return listenerMap ? listenerMap[type] : undefined;\n}\n\n\n/**\n * Get the lookup of listeners.\n * @param {Object} target Target.\n * @param {boolean=} opt_create If a map should be created if it doesn't exist.\n * @return {!Object>} Map of\n * listeners by event type.\n */\nfunction getListenerMap(target, opt_create) {\n var listenerMap = target.ol_lm;\n if (!listenerMap && opt_create) {\n listenerMap = target.ol_lm = {};\n }\n return listenerMap;\n}\n\n\n/**\n * Remove the listener map from a target.\n * @param {Object} target Target.\n */\nfunction removeListenerMap(target) {\n delete target.ol_lm;\n}\n\n\n/**\n * Clean up all listener objects of the given type. All properties on the\n * listener objects will be removed, and if no listeners remain in the listener\n * map, it will be removed from the target.\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n * @param {string} type Type.\n */\nfunction removeListeners(target, type) {\n var listeners = getListeners(target, type);\n if (listeners) {\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n /** @type {import(\"./events/Target.js\").default} */ (target).\n removeEventListener(type, listeners[i].boundListener);\n clear(listeners[i]);\n }\n listeners.length = 0;\n var listenerMap = getListenerMap(target);\n if (listenerMap) {\n delete listenerMap[type];\n if (Object.keys(listenerMap).length === 0) {\n removeListenerMap(target);\n }\n }\n }\n}\n\n\n/**\n * Registers an event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * This function efficiently binds a `listener` to a `this` object, and returns\n * a key for use with {@link module:ol/events~unlistenByKey}.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n * @param {boolean=} opt_once If true, add the listener as one-off listener.\n * @return {EventsKey} Unique key for the listener.\n */\nexport function listen(target, type, listener, opt_this, opt_once) {\n var listenerMap = getListenerMap(target, true);\n var listeners = listenerMap[type];\n if (!listeners) {\n listeners = listenerMap[type] = [];\n }\n var listenerObj = findListener(listeners, listener, opt_this, false);\n if (listenerObj) {\n if (!opt_once) {\n // Turn one-off listener into a permanent one.\n listenerObj.callOnce = false;\n }\n } else {\n listenerObj = /** @type {EventsKey} */ ({\n bindTo: opt_this,\n callOnce: !!opt_once,\n listener: listener,\n target: target,\n type: type\n });\n /** @type {import(\"./events/Target.js\").default} */ (target).\n addEventListener(type, bindListener(listenerObj));\n listeners.push(listenerObj);\n }\n\n return listenerObj;\n}\n\n\n/**\n * Registers a one-off event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * This function efficiently binds a `listener` as self-unregistering listener\n * to a `this` object, and returns a key for use with\n * {@link module:ol/events~unlistenByKey} in case the listener needs to be\n * unregistered before it is called.\n *\n * When {@link module:ol/events~listen} is called with the same arguments after this\n * function, the self-unregistering listener will be turned into a permanent\n * listener.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n * @return {EventsKey} Key for unlistenByKey.\n */\nexport function listenOnce(target, type, listener, opt_this) {\n return listen(target, type, listener, opt_this, true);\n}\n\n\n/**\n * Unregisters an event listener on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * To return a listener, this function needs to be called with the exact same\n * arguments that were used for a previous {@link module:ol/events~listen} call.\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Event target.\n * @param {string} type Event type.\n * @param {ListenerFunction} listener Listener.\n * @param {Object=} opt_this Object referenced by the `this` keyword in the\n * listener. Default is the `target`.\n */\nexport function unlisten(target, type, listener, opt_this) {\n var listeners = getListeners(target, type);\n if (listeners) {\n var listenerObj = findListener(listeners, listener, opt_this, true);\n if (listenerObj) {\n unlistenByKey(listenerObj);\n }\n }\n}\n\n\n/**\n * Unregisters event listeners on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * The argument passed to this function is the key returned from\n * {@link module:ol/events~listen} or {@link module:ol/events~listenOnce}.\n *\n * @param {EventsKey} key The key.\n */\nexport function unlistenByKey(key) {\n if (key && key.target) {\n /** @type {import(\"./events/Target.js\").default} */ (key.target).\n removeEventListener(key.type, key.boundListener);\n var listeners = getListeners(key.target, key.type);\n if (listeners) {\n var i = 'deleteIndex' in key ? key.deleteIndex : listeners.indexOf(key);\n if (i !== -1) {\n listeners.splice(i, 1);\n }\n if (listeners.length === 0) {\n removeListeners(key.target, key.type);\n }\n }\n clear(key);\n }\n}\n\n\n/**\n * Unregisters all event listeners on an event target. Inspired by\n * https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html\n *\n * @param {import(\"./events/Target.js\").EventTargetLike} target Target.\n */\nexport function unlistenAll(target) {\n var listenerMap = getListenerMap(target);\n if (listenerMap) {\n for (var type in listenerMap) {\n removeListeners(target, type);\n }\n }\n}\n\n//# sourceMappingURL=events.js.map","/**\n * @module ol/TileState\n */\n\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n /**\n * Indicates that tile loading failed\n * @type {number}\n */\n ERROR: 3,\n EMPTY: 4,\n ABORT: 5\n};\n\n//# sourceMappingURL=TileState.js.map","/**\n * @module ol/render/canvas\n */\nimport {getFontFamilies} from '../css.js';\nimport {createCanvasContext2D} from '../dom.js';\nimport {clear} from '../obj.js';\nimport LRUCache from '../structs/LRUCache.js';\nimport {create as createTransform} from '../transform.js';\n\n\n/**\n * @typedef {Object} FillState\n * @property {import(\"../colorlike.js\").ColorLike} fillStyle\n */\n\n\n/**\n * @typedef {Object} FillStrokeState\n * @property {import(\"../colorlike.js\").ColorLike} [currentFillStyle]\n * @property {import(\"../colorlike.js\").ColorLike} [currentStrokeStyle]\n * @property {string} [currentLineCap]\n * @property {Array} currentLineDash\n * @property {number} [currentLineDashOffset]\n * @property {string} [currentLineJoin]\n * @property {number} [currentLineWidth]\n * @property {number} [currentMiterLimit]\n * @property {number} [lastStroke]\n * @property {import(\"../colorlike.js\").ColorLike} [fillStyle]\n * @property {import(\"../colorlike.js\").ColorLike} [strokeStyle]\n * @property {string} [lineCap]\n * @property {Array} lineDash\n * @property {number} [lineDashOffset]\n * @property {string} [lineJoin]\n * @property {number} [lineWidth]\n * @property {number} [miterLimit]\n */\n\n\n/**\n * @typedef {Object} StrokeState\n * @property {string} lineCap\n * @property {Array} lineDash\n * @property {number} lineDashOffset\n * @property {string} lineJoin\n * @property {number} lineWidth\n * @property {number} miterLimit\n * @property {import(\"../colorlike.js\").ColorLike} strokeStyle\n */\n\n\n/**\n * @typedef {Object} TextState\n * @property {string} font\n * @property {string} [textAlign]\n * @property {string} textBaseline\n * @property {string} [placement]\n * @property {number} [maxAngle]\n * @property {boolean} [overflow]\n * @property {import(\"../style/Fill.js\").default} [backgroundFill]\n * @property {import(\"../style/Stroke.js\").default} [backgroundStroke]\n * @property {number} [scale]\n * @property {Array} [padding]\n */\n\n\n/**\n * Container for decluttered replay instructions that need to be rendered or\n * omitted together, i.e. when styles render both an image and text, or for the\n * characters that form text along lines. The basic elements of this array are\n * `[minX, minY, maxX, maxY, count]`, where the first four entries are the\n * rendered extent of the group in pixel space. `count` is the number of styles\n * in the group, i.e. 2 when an image and a text are grouped, or 1 otherwise.\n * In addition to these four elements, declutter instruction arrays (i.e. the\n * arguments to {@link module:ol/render/canvas~drawImage} are appended to the array.\n * @typedef {Array<*>} DeclutterGroup\n */\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultFont = '10px sans-serif';\n\n\n/**\n * @const\n * @type {import(\"../color.js\").Color}\n */\nexport var defaultFillStyle = [0, 0, 0, 1];\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultLineCap = 'round';\n\n\n/**\n * @const\n * @type {Array}\n */\nexport var defaultLineDash = [];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineDashOffset = 0;\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultLineJoin = 'round';\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultMiterLimit = 10;\n\n\n/**\n * @const\n * @type {import(\"../color.js\").Color}\n */\nexport var defaultStrokeStyle = [0, 0, 0, 1];\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextAlign = 'center';\n\n\n/**\n * @const\n * @type {string}\n */\nexport var defaultTextBaseline = 'middle';\n\n\n/**\n * @const\n * @type {Array}\n */\nexport var defaultPadding = [0, 0, 0, 0];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var defaultLineWidth = 1;\n\n\n/**\n * The label cache for text rendering. To change the default cache size of 2048\n * entries, use {@link module:ol/structs/LRUCache#setSize}.\n * @type {LRUCache}\n * @api\n */\nexport var labelCache = new LRUCache();\n\n\n/**\n * @type {!Object}\n */\nexport var checkedFonts = {};\n\n\n/**\n * @type {CanvasRenderingContext2D}\n */\nvar measureContext = null;\n\n\n/**\n * @type {!Object}\n */\nexport var textHeights = {};\n\n\n/**\n * Clears the label cache when a font becomes available.\n * @param {string} fontSpec CSS font spec.\n */\nexport var checkFont = (function() {\n var retries = 60;\n var checked = checkedFonts;\n var size = '32px ';\n var referenceFonts = ['monospace', 'serif'];\n var len = referenceFonts.length;\n var text = 'wmytzilWMYTZIL@#/&?$%10\\uF013';\n var interval, referenceWidth;\n\n function isAvailable(font) {\n var context = getMeasureContext();\n // Check weight ranges according to\n // https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight#Fallback_weights\n for (var weight = 100; weight <= 700; weight += 300) {\n var fontWeight = weight + ' ';\n var available = true;\n for (var i = 0; i < len; ++i) {\n var referenceFont = referenceFonts[i];\n context.font = fontWeight + size + referenceFont;\n referenceWidth = context.measureText(text).width;\n if (font != referenceFont) {\n context.font = fontWeight + size + font + ',' + referenceFont;\n var width = context.measureText(text).width;\n // If width and referenceWidth are the same, then the fallback was used\n // instead of the font we wanted, so the font is not available.\n available = available && width != referenceWidth;\n }\n }\n if (available) {\n // Consider font available when it is available in one weight range.\n //FIXME With this we miss rare corner cases, so we should consider\n //FIXME checking availability for each requested weight range.\n return true;\n }\n }\n return false;\n }\n\n function check() {\n var done = true;\n for (var font in checked) {\n if (checked[font] < retries) {\n if (isAvailable(font)) {\n checked[font] = retries;\n clear(textHeights);\n // Make sure that loaded fonts are picked up by Safari\n measureContext = null;\n labelCache.clear();\n } else {\n ++checked[font];\n done = false;\n }\n }\n }\n if (done) {\n clearInterval(interval);\n interval = undefined;\n }\n }\n\n return function(fontSpec) {\n var fontFamilies = getFontFamilies(fontSpec);\n if (!fontFamilies) {\n return;\n }\n for (var i = 0, ii = fontFamilies.length; i < ii; ++i) {\n var fontFamily = fontFamilies[i];\n if (!(fontFamily in checked)) {\n checked[fontFamily] = retries;\n if (!isAvailable(fontFamily)) {\n checked[fontFamily] = 0;\n if (interval === undefined) {\n interval = setInterval(check, 32);\n }\n }\n }\n }\n };\n})();\n\n\n/**\n * @return {CanvasRenderingContext2D} Measure context.\n */\nfunction getMeasureContext() {\n if (!measureContext) {\n measureContext = createCanvasContext2D(1, 1);\n }\n return measureContext;\n}\n\n\n/**\n * @param {string} font Font to use for measuring.\n * @return {import(\"../size.js\").Size} Measurement.\n */\nexport var measureTextHeight = (function() {\n var span;\n var heights = textHeights;\n return function(font) {\n var height = heights[font];\n if (height == undefined) {\n if (!span) {\n span = document.createElement('span');\n span.textContent = 'M';\n span.style.margin = span.style.padding = '0 !important';\n span.style.position = 'absolute !important';\n span.style.left = '-99999px !important';\n }\n span.style.font = font;\n document.body.appendChild(span);\n height = heights[font] = span.offsetHeight;\n document.body.removeChild(span);\n }\n return height;\n };\n})();\n\n\n/**\n * @param {string} font Font.\n * @param {string} text Text.\n * @return {number} Width.\n */\nexport function measureTextWidth(font, text) {\n var measureContext = getMeasureContext();\n if (font != measureContext.font) {\n measureContext.font = font;\n }\n return measureContext.measureText(text).width;\n}\n\n\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {number} rotation Rotation.\n * @param {number} offsetX X offset.\n * @param {number} offsetY Y offset.\n */\nexport function rotateAtOffset(context, rotation, offsetX, offsetY) {\n if (rotation !== 0) {\n context.translate(offsetX, offsetY);\n context.rotate(rotation);\n context.translate(-offsetX, -offsetY);\n }\n}\n\n\nexport var resetTransform = createTransform();\n\n\n/**\n * @param {CanvasRenderingContext2D} context Context.\n * @param {import(\"../transform.js\").Transform|null} transform Transform.\n * @param {number} opacity Opacity.\n * @param {HTMLImageElement|HTMLCanvasElement|HTMLVideoElement} image Image.\n * @param {number} originX Origin X.\n * @param {number} originY Origin Y.\n * @param {number} w Width.\n * @param {number} h Height.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} scale Scale.\n */\nexport function drawImage(context,\n transform, opacity, image, originX, originY, w, h, x, y, scale) {\n var alpha;\n if (opacity != 1) {\n alpha = context.globalAlpha;\n context.globalAlpha = alpha * opacity;\n }\n if (transform) {\n context.setTransform.apply(context, transform);\n }\n\n context.drawImage(image, originX, originY, w, h, x, y, w * scale, h * scale);\n\n if (alpha) {\n context.globalAlpha = alpha;\n }\n if (transform) {\n context.setTransform.apply(context, resetTransform);\n }\n}\n\n//# sourceMappingURL=canvas.js.map","/**\n * @module ol/events/EventType\n */\n\n/**\n * @enum {string}\n * @const\n */\nexport default {\n /**\n * Generic change event. Triggered when the revision counter is increased.\n * @event module:ol/events/Event~Event#change\n * @api\n */\n CHANGE: 'change',\n\n CLEAR: 'clear',\n CONTEXTMENU: 'contextmenu',\n CLICK: 'click',\n DBLCLICK: 'dblclick',\n DRAGENTER: 'dragenter',\n DRAGOVER: 'dragover',\n DROP: 'drop',\n ERROR: 'error',\n KEYDOWN: 'keydown',\n KEYPRESS: 'keypress',\n LOAD: 'load',\n MOUSEDOWN: 'mousedown',\n MOUSEMOVE: 'mousemove',\n MOUSEOUT: 'mouseout',\n MOUSEUP: 'mouseup',\n MOUSEWHEEL: 'mousewheel',\n MSPOINTERDOWN: 'MSPointerDown',\n RESIZE: 'resize',\n TOUCHSTART: 'touchstart',\n TOUCHMOVE: 'touchmove',\n TOUCHEND: 'touchend',\n WHEEL: 'wheel'\n};\n\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/geom/GeometryType\n */\n\n/**\n * The geometry type. One of `'Point'`, `'LineString'`, `'LinearRing'`,\n * `'Polygon'`, `'MultiPoint'`, `'MultiLineString'`, `'MultiPolygon'`,\n * `'GeometryCollection'`, `'Circle'`.\n * @enum {string}\n */\nexport default {\n POINT: 'Point',\n LINE_STRING: 'LineString',\n LINEAR_RING: 'LinearRing',\n POLYGON: 'Polygon',\n MULTI_POINT: 'MultiPoint',\n MULTI_LINE_STRING: 'MultiLineString',\n MULTI_POLYGON: 'MultiPolygon',\n GEOMETRY_COLLECTION: 'GeometryCollection',\n CIRCLE: 'Circle'\n};\n\n//# sourceMappingURL=GeometryType.js.map","/**\n * @module ol/math\n */\nimport {assert} from './asserts.js';\n\n/**\n * Takes a number and clamps it to within the provided bounds.\n * @param {number} value The input number.\n * @param {number} min The minimum value to return.\n * @param {number} max The maximum value to return.\n * @return {number} The input number if it is within bounds, or the nearest\n * number within the bounds.\n */\nexport function clamp(value, min, max) {\n return Math.min(Math.max(value, min), max);\n}\n\n\n/**\n * Return the hyperbolic cosine of a given number. The method will use the\n * native `Math.cosh` function if it is available, otherwise the hyperbolic\n * cosine will be calculated via the reference implementation of the Mozilla\n * developer network.\n *\n * @param {number} x X.\n * @return {number} Hyperbolic cosine of x.\n */\nexport var cosh = (function() {\n // Wrapped in a iife, to save the overhead of checking for the native\n // implementation on every invocation.\n var cosh;\n if ('cosh' in Math) {\n // The environment supports the native Math.cosh function, use it…\n cosh = Math.cosh;\n } else {\n // … else, use the reference implementation of MDN:\n cosh = function(x) {\n var y = /** @type {Math} */ (Math).exp(x);\n return (y + 1 / y) / 2;\n };\n }\n return cosh;\n}());\n\n\n/**\n * @param {number} x X.\n * @return {number} The smallest power of two greater than or equal to x.\n */\nexport function roundUpToPowerOfTwo(x) {\n assert(0 < x, 29); // `x` must be greater than `0`\n return Math.pow(2, Math.ceil(Math.log(x) / Math.LN2));\n}\n\n\n/**\n * Returns the square of the closest distance between the point (x, y) and the\n * line segment (x1, y1) to (x2, y2).\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} x1 X1.\n * @param {number} y1 Y1.\n * @param {number} x2 X2.\n * @param {number} y2 Y2.\n * @return {number} Squared distance.\n */\nexport function squaredSegmentDistance(x, y, x1, y1, x2, y2) {\n var dx = x2 - x1;\n var dy = y2 - y1;\n if (dx !== 0 || dy !== 0) {\n var t = ((x - x1) * dx + (y - y1) * dy) / (dx * dx + dy * dy);\n if (t > 1) {\n x1 = x2;\n y1 = y2;\n } else if (t > 0) {\n x1 += dx * t;\n y1 += dy * t;\n }\n }\n return squaredDistance(x, y, x1, y1);\n}\n\n\n/**\n * Returns the square of the distance between the points (x1, y1) and (x2, y2).\n * @param {number} x1 X1.\n * @param {number} y1 Y1.\n * @param {number} x2 X2.\n * @param {number} y2 Y2.\n * @return {number} Squared distance.\n */\nexport function squaredDistance(x1, y1, x2, y2) {\n var dx = x2 - x1;\n var dy = y2 - y1;\n return dx * dx + dy * dy;\n}\n\n\n/**\n * Solves system of linear equations using Gaussian elimination method.\n *\n * @param {Array>} mat Augmented matrix (n x n + 1 column)\n * in row-major order.\n * @return {Array} The resulting vector.\n */\nexport function solveLinearSystem(mat) {\n var n = mat.length;\n\n for (var i = 0; i < n; i++) {\n // Find max in the i-th column (ignoring i - 1 first rows)\n var maxRow = i;\n var maxEl = Math.abs(mat[i][i]);\n for (var r = i + 1; r < n; r++) {\n var absValue = Math.abs(mat[r][i]);\n if (absValue > maxEl) {\n maxEl = absValue;\n maxRow = r;\n }\n }\n\n if (maxEl === 0) {\n return null; // matrix is singular\n }\n\n // Swap max row with i-th (current) row\n var tmp = mat[maxRow];\n mat[maxRow] = mat[i];\n mat[i] = tmp;\n\n // Subtract the i-th row to make all the remaining rows 0 in the i-th column\n for (var j = i + 1; j < n; j++) {\n var coef = -mat[j][i] / mat[i][i];\n for (var k = i; k < n + 1; k++) {\n if (i == k) {\n mat[j][k] = 0;\n } else {\n mat[j][k] += coef * mat[i][k];\n }\n }\n }\n }\n\n // Solve Ax=b for upper triangular matrix A (mat)\n var x = new Array(n);\n for (var l = n - 1; l >= 0; l--) {\n x[l] = mat[l][n] / mat[l][l];\n for (var m = l - 1; m >= 0; m--) {\n mat[m][n] -= mat[m][l] * x[l];\n }\n }\n return x;\n}\n\n\n/**\n * Converts radians to to degrees.\n *\n * @param {number} angleInRadians Angle in radians.\n * @return {number} Angle in degrees.\n */\nexport function toDegrees(angleInRadians) {\n return angleInRadians * 180 / Math.PI;\n}\n\n\n/**\n * Converts degrees to radians.\n *\n * @param {number} angleInDegrees Angle in degrees.\n * @return {number} Angle in radians.\n */\nexport function toRadians(angleInDegrees) {\n return angleInDegrees * Math.PI / 180;\n}\n\n/**\n * Returns the modulo of a / b, depending on the sign of b.\n *\n * @param {number} a Dividend.\n * @param {number} b Divisor.\n * @return {number} Modulo.\n */\nexport function modulo(a, b) {\n var r = a % b;\n return r * b < 0 ? r + b : r;\n}\n\n/**\n * Calculates the linearly interpolated value of x between a and b.\n *\n * @param {number} a Number\n * @param {number} b Number\n * @param {number} x Value to be interpolated.\n * @return {number} Interpolated value.\n */\nexport function lerp(a, b, x) {\n return a + x * (b - a);\n}\n\n//# sourceMappingURL=math.js.map","/**\n * @module ol/transform\n */\nimport {assert} from './asserts.js';\n\n\n/**\n * An array representing an affine 2d transformation for use with\n * {@link module:ol/transform} functions. The array has 6 elements.\n * @typedef {!Array} Transform\n */\n\n\n/**\n * Collection of affine 2d transformation functions. The functions work on an\n * array of 6 elements. The element order is compatible with the [SVGMatrix\n * interface](https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix) and is\n * a subset (elements a to f) of a 3×3 matrix:\n * ```\n * [ a c e ]\n * [ b d f ]\n * [ 0 0 1 ]\n * ```\n */\n\n\n/**\n * @private\n * @type {Transform}\n */\nvar tmp_ = new Array(6);\n\n\n/**\n * Create an identity transform.\n * @return {!Transform} Identity transform.\n */\nexport function create() {\n return [1, 0, 0, 1, 0, 0];\n}\n\n\n/**\n * Resets the given transform to an identity transform.\n * @param {!Transform} transform Transform.\n * @return {!Transform} Transform.\n */\nexport function reset(transform) {\n return set(transform, 1, 0, 0, 1, 0, 0);\n}\n\n\n/**\n * Multiply the underlying matrices of two transforms and return the result in\n * the first transform.\n * @param {!Transform} transform1 Transform parameters of matrix 1.\n * @param {!Transform} transform2 Transform parameters of matrix 2.\n * @return {!Transform} transform1 multiplied with transform2.\n */\nexport function multiply(transform1, transform2) {\n var a1 = transform1[0];\n var b1 = transform1[1];\n var c1 = transform1[2];\n var d1 = transform1[3];\n var e1 = transform1[4];\n var f1 = transform1[5];\n var a2 = transform2[0];\n var b2 = transform2[1];\n var c2 = transform2[2];\n var d2 = transform2[3];\n var e2 = transform2[4];\n var f2 = transform2[5];\n\n transform1[0] = a1 * a2 + c1 * b2;\n transform1[1] = b1 * a2 + d1 * b2;\n transform1[2] = a1 * c2 + c1 * d2;\n transform1[3] = b1 * c2 + d1 * d2;\n transform1[4] = a1 * e2 + c1 * f2 + e1;\n transform1[5] = b1 * e2 + d1 * f2 + f1;\n\n return transform1;\n}\n\n/**\n * Set the transform components a-f on a given transform.\n * @param {!Transform} transform Transform.\n * @param {number} a The a component of the transform.\n * @param {number} b The b component of the transform.\n * @param {number} c The c component of the transform.\n * @param {number} d The d component of the transform.\n * @param {number} e The e component of the transform.\n * @param {number} f The f component of the transform.\n * @return {!Transform} Matrix with transform applied.\n */\nexport function set(transform, a, b, c, d, e, f) {\n transform[0] = a;\n transform[1] = b;\n transform[2] = c;\n transform[3] = d;\n transform[4] = e;\n transform[5] = f;\n return transform;\n}\n\n\n/**\n * Set transform on one matrix from another matrix.\n * @param {!Transform} transform1 Matrix to set transform to.\n * @param {!Transform} transform2 Matrix to set transform from.\n * @return {!Transform} transform1 with transform from transform2 applied.\n */\nexport function setFromArray(transform1, transform2) {\n transform1[0] = transform2[0];\n transform1[1] = transform2[1];\n transform1[2] = transform2[2];\n transform1[3] = transform2[3];\n transform1[4] = transform2[4];\n transform1[5] = transform2[5];\n return transform1;\n}\n\n\n/**\n * Transforms the given coordinate with the given transform returning the\n * resulting, transformed coordinate. The coordinate will be modified in-place.\n *\n * @param {Transform} transform The transformation.\n * @param {import(\"./coordinate.js\").Coordinate|import(\"./pixel.js\").Pixel} coordinate The coordinate to transform.\n * @return {import(\"./coordinate.js\").Coordinate|import(\"./pixel.js\").Pixel} return coordinate so that operations can be\n * chained together.\n */\nexport function apply(transform, coordinate) {\n var x = coordinate[0];\n var y = coordinate[1];\n coordinate[0] = transform[0] * x + transform[2] * y + transform[4];\n coordinate[1] = transform[1] * x + transform[3] * y + transform[5];\n return coordinate;\n}\n\n\n/**\n * Applies rotation to the given transform.\n * @param {!Transform} transform Transform.\n * @param {number} angle Angle in radians.\n * @return {!Transform} The rotated transform.\n */\nexport function rotate(transform, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n return multiply(transform, set(tmp_, cos, sin, -sin, cos, 0, 0));\n}\n\n\n/**\n * Applies scale to a given transform.\n * @param {!Transform} transform Transform.\n * @param {number} x Scale factor x.\n * @param {number} y Scale factor y.\n * @return {!Transform} The scaled transform.\n */\nexport function scale(transform, x, y) {\n return multiply(transform, set(tmp_, x, 0, 0, y, 0, 0));\n}\n\n\n/**\n * Applies translation to the given transform.\n * @param {!Transform} transform Transform.\n * @param {number} dx Translation x.\n * @param {number} dy Translation y.\n * @return {!Transform} The translated transform.\n */\nexport function translate(transform, dx, dy) {\n return multiply(transform, set(tmp_, 1, 0, 0, 1, dx, dy));\n}\n\n\n/**\n * Creates a composite transform given an initial translation, scale, rotation, and\n * final translation (in that order only, not commutative).\n * @param {!Transform} transform The transform (will be modified in place).\n * @param {number} dx1 Initial translation x.\n * @param {number} dy1 Initial translation y.\n * @param {number} sx Scale factor x.\n * @param {number} sy Scale factor y.\n * @param {number} angle Rotation (in counter-clockwise radians).\n * @param {number} dx2 Final translation x.\n * @param {number} dy2 Final translation y.\n * @return {!Transform} The composite transform.\n */\nexport function compose(transform, dx1, dy1, sx, sy, angle, dx2, dy2) {\n var sin = Math.sin(angle);\n var cos = Math.cos(angle);\n transform[0] = sx * cos;\n transform[1] = sy * sin;\n transform[2] = -sx * sin;\n transform[3] = sy * cos;\n transform[4] = dx2 * sx * cos - dy2 * sx * sin + dx1;\n transform[5] = dx2 * sy * sin + dy2 * sy * cos + dy1;\n return transform;\n}\n\n\n/**\n * Invert the given transform.\n * @param {!Transform} transform Transform.\n * @return {!Transform} Inverse of the transform.\n */\nexport function invert(transform) {\n var det = determinant(transform);\n assert(det !== 0, 32); // Transformation matrix cannot be inverted\n\n var a = transform[0];\n var b = transform[1];\n var c = transform[2];\n var d = transform[3];\n var e = transform[4];\n var f = transform[5];\n\n transform[0] = d / det;\n transform[1] = -b / det;\n transform[2] = -c / det;\n transform[3] = a / det;\n transform[4] = (c * f - d * e) / det;\n transform[5] = -(a * f - b * e) / det;\n\n return transform;\n}\n\n\n/**\n * Returns the determinant of the given matrix.\n * @param {!Transform} mat Matrix.\n * @return {number} Determinant.\n */\nexport function determinant(mat) {\n return mat[0] * mat[3] - mat[1] * mat[2];\n}\n\n//# sourceMappingURL=transform.js.map","/**\n * @module ol/obj\n */\n\n\n/**\n * Polyfill for Object.assign(). Assigns enumerable and own properties from\n * one or more source objects to a target object.\n * See https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign.\n *\n * @param {!Object} target The target object.\n * @param {...Object} var_sources The source object(s).\n * @return {!Object} The modified target object.\n */\nexport var assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) {\n var arguments$1 = arguments;\n\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var i = 1, ii = arguments.length; i < ii; ++i) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n output[key] = source[key];\n }\n }\n }\n }\n return output;\n};\n\n\n/**\n * Removes all properties from an object.\n * @param {Object} object The object to clear.\n */\nexport function clear(object) {\n for (var property in object) {\n delete object[property];\n }\n}\n\n\n/**\n * Get an array of property values from an object.\n * @param {Object} object The object from which to get the values.\n * @return {!Array} The property values.\n * @template K,V\n */\nexport function getValues(object) {\n var values = [];\n for (var property in object) {\n values.push(object[property]);\n }\n return values;\n}\n\n\n/**\n * Determine if an object has any properties.\n * @param {Object} object The object to check.\n * @return {boolean} The object is empty.\n */\nexport function isEmpty(object) {\n var property;\n for (property in object) {\n return false;\n }\n return !property;\n}\n\n//# sourceMappingURL=obj.js.map","/**\n * @module ol/asserts\n */\nimport AssertionError from './AssertionError.js';\n\n/**\n * @param {*} assertion Assertion we expected to be truthy.\n * @param {number} errorCode Error code.\n */\nexport function assert(assertion, errorCode) {\n if (!assertion) {\n throw new AssertionError(errorCode);\n }\n}\n\n//# sourceMappingURL=asserts.js.map","/**\n * @module ol/array\n */\n\n\n/**\n * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1.\n * https://github.com/darkskyapp/binary-search\n *\n * @param {Array<*>} haystack Items to search through.\n * @param {*} needle The item to look for.\n * @param {Function=} opt_comparator Comparator function.\n * @return {number} The index of the item if found, -1 if not.\n */\nexport function binarySearch(haystack, needle, opt_comparator) {\n var mid, cmp;\n var comparator = opt_comparator || numberSafeCompareFunction;\n var low = 0;\n var high = haystack.length;\n var found = false;\n\n while (low < high) {\n /* Note that \"(low + high) >>> 1\" may overflow, and results in a typecast\n * to double (which gives the wrong results). */\n mid = low + (high - low >> 1);\n cmp = +comparator(haystack[mid], needle);\n\n if (cmp < 0.0) { /* Too low. */\n low = mid + 1;\n\n } else { /* Key found or too high */\n high = mid;\n found = !cmp;\n }\n }\n\n /* Key not found. */\n return found ? low : ~low;\n}\n\n\n/**\n * Compare function for array sort that is safe for numbers.\n * @param {*} a The first object to be compared.\n * @param {*} b The second object to be compared.\n * @return {number} A negative number, zero, or a positive number as the first\n * argument is less than, equal to, or greater than the second.\n */\nexport function numberSafeCompareFunction(a, b) {\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\n\n/**\n * Whether the array contains the given object.\n * @param {Array<*>} arr The array to test for the presence of the element.\n * @param {*} obj The object for which to test.\n * @return {boolean} The object is in the array.\n */\nexport function includes(arr, obj) {\n return arr.indexOf(obj) >= 0;\n}\n\n\n/**\n * @param {Array} arr Array.\n * @param {number} target Target.\n * @param {number} direction 0 means return the nearest, > 0\n * means return the largest nearest, < 0 means return the\n * smallest nearest.\n * @return {number} Index.\n */\nexport function linearFindNearest(arr, target, direction) {\n var n = arr.length;\n if (arr[0] <= target) {\n return 0;\n } else if (target <= arr[n - 1]) {\n return n - 1;\n } else {\n var i;\n if (direction > 0) {\n for (i = 1; i < n; ++i) {\n if (arr[i] < target) {\n return i - 1;\n }\n }\n } else if (direction < 0) {\n for (i = 1; i < n; ++i) {\n if (arr[i] <= target) {\n return i;\n }\n }\n } else {\n for (i = 1; i < n; ++i) {\n if (arr[i] == target) {\n return i;\n } else if (arr[i] < target) {\n if (arr[i - 1] - target < target - arr[i]) {\n return i - 1;\n } else {\n return i;\n }\n }\n }\n }\n return n - 1;\n }\n}\n\n\n/**\n * @param {Array<*>} arr Array.\n * @param {number} begin Begin index.\n * @param {number} end End index.\n */\nexport function reverseSubArray(arr, begin, end) {\n while (begin < end) {\n var tmp = arr[begin];\n arr[begin] = arr[end];\n arr[end] = tmp;\n ++begin;\n --end;\n }\n}\n\n\n/**\n * @param {Array} arr The array to modify.\n * @param {!Array|VALUE} data The elements or arrays of elements to add to arr.\n * @template VALUE\n */\nexport function extend(arr, data) {\n var extension = Array.isArray(data) ? data : [data];\n var length = extension.length;\n for (var i = 0; i < length; i++) {\n arr[arr.length] = extension[i];\n }\n}\n\n\n/**\n * @param {Array} arr The array to modify.\n * @param {VALUE} obj The element to remove.\n * @template VALUE\n * @return {boolean} If the element was removed.\n */\nexport function remove(arr, obj) {\n var i = arr.indexOf(obj);\n var found = i > -1;\n if (found) {\n arr.splice(i, 1);\n }\n return found;\n}\n\n\n/**\n * @param {Array} arr The array to search in.\n * @param {function(VALUE, number, ?) : boolean} func The function to compare.\n * @template VALUE\n * @return {VALUE|null} The element found or null.\n */\nexport function find(arr, func) {\n var length = arr.length >>> 0;\n var value;\n\n for (var i = 0; i < length; i++) {\n value = arr[i];\n if (func(value, i, arr)) {\n return value;\n }\n }\n return null;\n}\n\n\n/**\n * @param {Array|Uint8ClampedArray} arr1 The first array to compare.\n * @param {Array|Uint8ClampedArray} arr2 The second array to compare.\n * @return {boolean} Whether the two arrays are equal.\n */\nexport function equals(arr1, arr2) {\n var len1 = arr1.length;\n if (len1 !== arr2.length) {\n return false;\n }\n for (var i = 0; i < len1; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\n\n/**\n * Sort the passed array such that the relative order of equal elements is preverved.\n * See https://en.wikipedia.org/wiki/Sorting_algorithm#Stability for details.\n * @param {Array<*>} arr The array to sort (modifies original).\n * @param {!function(*, *): number} compareFnc Comparison function.\n * @api\n */\nexport function stableSort(arr, compareFnc) {\n var length = arr.length;\n var tmp = Array(arr.length);\n var i;\n for (i = 0; i < length; i++) {\n tmp[i] = {index: i, value: arr[i]};\n }\n tmp.sort(function(a, b) {\n return compareFnc(a.value, b.value) || a.index - b.index;\n });\n for (i = 0; i < arr.length; i++) {\n arr[i] = tmp[i].value;\n }\n}\n\n\n/**\n * @param {Array<*>} arr The array to search in.\n * @param {Function} func Comparison function.\n * @return {number} Return index.\n */\nexport function findIndex(arr, func) {\n var index;\n var found = !arr.every(function(el, idx) {\n index = idx;\n return !func(el, idx, arr);\n });\n return found ? index : -1;\n}\n\n\n/**\n * @param {Array<*>} arr The array to test.\n * @param {Function=} opt_func Comparison function.\n * @param {boolean=} opt_strict Strictly sorted (default false).\n * @return {boolean} Return index.\n */\nexport function isSorted(arr, opt_func, opt_strict) {\n var compare = opt_func || numberSafeCompareFunction;\n return arr.every(function(currentVal, index) {\n if (index === 0) {\n return true;\n }\n var res = compare(arr[index - 1], currentVal);\n return !(res > 0 || opt_strict && res === 0);\n });\n}\n\n//# sourceMappingURL=array.js.map","/**\n * @module ol/ViewHint\n */\n\n/**\n * @enum {number}\n */\nexport default {\n ANIMATING: 0,\n INTERACTING: 1\n};\n\n//# sourceMappingURL=ViewHint.js.map","/**\n * @module ol/proj/Projection\n */\nimport {METERS_PER_UNIT} from './Units.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {string} code The SRS identifier code, e.g. `EPSG:4326`.\n * @property {import(\"./Units.js\").default|string} [units] Units. Required unless a\n * proj4 projection is defined for `code`.\n * @property {import(\"../extent.js\").Extent} [extent] The validity extent for the SRS.\n * @property {string} [axisOrientation='enu'] The axis orientation as specified in Proj4.\n * @property {boolean} [global=false] Whether the projection is valid for the whole globe.\n * @property {number} [metersPerUnit] The meters per unit for the SRS.\n * If not provided, the `units` are used to get the meters per unit from the {@link module:ol/proj/Units~METERS_PER_UNIT}\n * lookup table.\n * @property {import(\"../extent.js\").Extent} [worldExtent] The world extent for the SRS.\n * @property {function(number, import(\"../coordinate.js\").Coordinate):number} [getPointResolution]\n * Function to determine resolution at a point. The function is called with a\n * `{number}` view resolution and an `{import(\"../coordinate.js\").Coordinate}` as arguments, and returns\n * the `{number}` resolution at the passed coordinate. If this is `undefined`,\n * the default {@link module:ol/proj#getPointResolution} function will be used.\n */\n\n\n/**\n * @classdesc\n * Projection definition class. One of these is created for each projection\n * supported in the application and stored in the {@link module:ol/proj} namespace.\n * You can use these in applications, but this is not required, as API params\n * and options use {@link module:ol/proj~ProjectionLike} which means the simple string\n * code will suffice.\n *\n * You can use {@link module:ol/proj~get} to retrieve the object for a particular\n * projection.\n *\n * The library includes definitions for `EPSG:4326` and `EPSG:3857`, together\n * with the following aliases:\n * * `EPSG:4326`: CRS:84, urn:ogc:def:crs:EPSG:6.6:4326,\n * urn:ogc:def:crs:OGC:1.3:CRS84, urn:ogc:def:crs:OGC:2:84,\n * http://www.opengis.net/gml/srs/epsg.xml#4326,\n * urn:x-ogc:def:crs:EPSG:4326\n * * `EPSG:3857`: EPSG:102100, EPSG:102113, EPSG:900913,\n * urn:ogc:def:crs:EPSG:6.18:3:3857,\n * http://www.opengis.net/gml/srs/epsg.xml#3857\n *\n * If you use [proj4js](https://github.com/proj4js/proj4js), aliases can\n * be added using `proj4.defs()`. After all required projection definitions are\n * added, call the {@link module:ol/proj/proj4~register} function.\n *\n * @api\n */\nvar Projection = function Projection(options) {\n /**\n * @private\n * @type {string}\n */\n this.code_ = options.code;\n\n /**\n * Units of projected coordinates. When set to `TILE_PIXELS`, a\n * `this.extent_` and `this.worldExtent_` must be configured properly for each\n * tile.\n * @private\n * @type {import(\"./Units.js\").default}\n */\n this.units_ = /** @type {import(\"./Units.js\").default} */ (options.units);\n\n /**\n * Validity extent of the projection in projected coordinates. For projections\n * with `TILE_PIXELS` units, this is the extent of the tile in\n * tile pixel space.\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = options.extent !== undefined ? options.extent : null;\n\n /**\n * Extent of the world in EPSG:4326. For projections with\n * `TILE_PIXELS` units, this is the extent of the tile in\n * projected coordinate space.\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.worldExtent_ = options.worldExtent !== undefined ?\n options.worldExtent : null;\n\n /**\n * @private\n * @type {string}\n */\n this.axisOrientation_ = options.axisOrientation !== undefined ?\n options.axisOrientation : 'enu';\n\n /**\n * @private\n * @type {boolean}\n */\n this.global_ = options.global !== undefined ? options.global : false;\n\n /**\n * @private\n * @type {boolean}\n */\n this.canWrapX_ = !!(this.global_ && this.extent_);\n\n /**\n * @private\n * @type {function(number, import(\"../coordinate.js\").Coordinate):number|undefined}\n */\n this.getPointResolutionFunc_ = options.getPointResolution;\n\n /**\n * @private\n * @type {import(\"../tilegrid/TileGrid.js\").default}\n */\n this.defaultTileGrid_ = null;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.metersPerUnit_ = options.metersPerUnit;\n};\n\n/**\n * @return {boolean} The projection is suitable for wrapping the x-axis\n */\nProjection.prototype.canWrapX = function canWrapX () {\n return this.canWrapX_;\n};\n\n/**\n * Get the code for this projection, e.g. 'EPSG:4326'.\n * @return {string} Code.\n * @api\n */\nProjection.prototype.getCode = function getCode () {\n return this.code_;\n};\n\n/**\n * Get the validity extent for this projection.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nProjection.prototype.getExtent = function getExtent () {\n return this.extent_;\n};\n\n/**\n * Get the units of this projection.\n * @return {import(\"./Units.js\").default} Units.\n * @api\n */\nProjection.prototype.getUnits = function getUnits () {\n return this.units_;\n};\n\n/**\n * Get the amount of meters per unit of this projection.If the projection is\n * not configured with `metersPerUnit` or a units identifier, the return is\n * `undefined`.\n * @return {number|undefined} Meters.\n * @api\n */\nProjection.prototype.getMetersPerUnit = function getMetersPerUnit () {\n return this.metersPerUnit_ || METERS_PER_UNIT[this.units_];\n};\n\n/**\n * Get the world extent for this projection.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nProjection.prototype.getWorldExtent = function getWorldExtent () {\n return this.worldExtent_;\n};\n\n/**\n * Get the axis orientation of this projection.\n * Example values are:\n * enu - the default easting, northing, elevation.\n * neu - northing, easting, up - useful for \"lat/long\" geographic coordinates,\n * or south orientated transverse mercator.\n * wnu - westing, northing, up - some planetary coordinate systems have\n * \"west positive\" coordinate systems\n * @return {string} Axis orientation.\n * @api\n */\nProjection.prototype.getAxisOrientation = function getAxisOrientation () {\n return this.axisOrientation_;\n};\n\n/**\n * Is this projection a global projection which spans the whole world?\n * @return {boolean} Whether the projection is global.\n * @api\n */\nProjection.prototype.isGlobal = function isGlobal () {\n return this.global_;\n};\n\n/**\n * Set if the projection is a global projection which spans the whole world\n * @param {boolean} global Whether the projection is global.\n * @api\n */\nProjection.prototype.setGlobal = function setGlobal (global) {\n this.global_ = global;\n this.canWrapX_ = !!(global && this.extent_);\n};\n\n/**\n * @return {import(\"../tilegrid/TileGrid.js\").default} The default tile grid.\n */\nProjection.prototype.getDefaultTileGrid = function getDefaultTileGrid () {\n return this.defaultTileGrid_;\n};\n\n/**\n * @param {import(\"../tilegrid/TileGrid.js\").default} tileGrid The default tile grid.\n */\nProjection.prototype.setDefaultTileGrid = function setDefaultTileGrid (tileGrid) {\n this.defaultTileGrid_ = tileGrid;\n};\n\n/**\n * Set the validity extent for this projection.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @api\n */\nProjection.prototype.setExtent = function setExtent (extent) {\n this.extent_ = extent;\n this.canWrapX_ = !!(this.global_ && extent);\n};\n\n/**\n * Set the world extent for this projection.\n * @param {import(\"../extent.js\").Extent} worldExtent World extent\n * [minlon, minlat, maxlon, maxlat].\n * @api\n */\nProjection.prototype.setWorldExtent = function setWorldExtent (worldExtent) {\n this.worldExtent_ = worldExtent;\n};\n\n/**\n * Set the getPointResolution function (see {@link module:ol/proj~getPointResolution}\n * for this projection.\n * @param {function(number, import(\"../coordinate.js\").Coordinate):number} func Function\n * @api\n */\nProjection.prototype.setGetPointResolution = function setGetPointResolution (func) {\n this.getPointResolutionFunc_ = func;\n};\n\n/**\n * Get the custom point resolution function for this projection (if set).\n * @return {function(number, import(\"../coordinate.js\").Coordinate):number|undefined} The custom point\n * resolution function (if set).\n */\nProjection.prototype.getPointResolutionFunc = function getPointResolutionFunc () {\n return this.getPointResolutionFunc_;\n};\n\nexport default Projection;\n\n//# sourceMappingURL=Projection.js.map","/**\n * @module ol/proj/epsg3857\n */\nimport {cosh} from '../math.js';\nimport Projection from './Projection.js';\nimport Units from './Units.js';\n\n\n/**\n * Radius of WGS84 sphere\n *\n * @const\n * @type {number}\n */\nexport var RADIUS = 6378137;\n\n\n/**\n * @const\n * @type {number}\n */\nexport var HALF_SIZE = Math.PI * RADIUS;\n\n\n/**\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var EXTENT = [\n -HALF_SIZE, -HALF_SIZE,\n HALF_SIZE, HALF_SIZE\n];\n\n\n/**\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var WORLD_EXTENT = [-180, -85, 180, 85];\n\n\n/**\n * @classdesc\n * Projection object for web/spherical Mercator (EPSG:3857).\n */\nvar EPSG3857Projection = /*@__PURE__*/(function (Projection) {\n function EPSG3857Projection(code) {\n Projection.call(this, {\n code: code,\n units: Units.METERS,\n extent: EXTENT,\n global: true,\n worldExtent: WORLD_EXTENT,\n getPointResolution: function(resolution, point) {\n return resolution / cosh(point[1] / RADIUS);\n }\n });\n\n }\n\n if ( Projection ) EPSG3857Projection.__proto__ = Projection;\n EPSG3857Projection.prototype = Object.create( Projection && Projection.prototype );\n EPSG3857Projection.prototype.constructor = EPSG3857Projection;\n\n return EPSG3857Projection;\n}(Projection));\n\n\n/**\n * Projections equal to EPSG:3857.\n *\n * @const\n * @type {Array}\n */\nexport var PROJECTIONS = [\n new EPSG3857Projection('EPSG:3857'),\n new EPSG3857Projection('EPSG:102100'),\n new EPSG3857Projection('EPSG:102113'),\n new EPSG3857Projection('EPSG:900913'),\n new EPSG3857Projection('urn:ogc:def:crs:EPSG:6.18:3:3857'),\n new EPSG3857Projection('urn:ogc:def:crs:EPSG::3857'),\n new EPSG3857Projection('http://www.opengis.net/gml/srs/epsg.xml#3857')\n];\n\n\n/**\n * Transformation from EPSG:4326 to EPSG:3857.\n *\n * @param {Array} input Input array of coordinate values.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension (default is `2`).\n * @return {Array} Output array of coordinate values.\n */\nexport function fromEPSG4326(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var output = opt_output;\n if (output === undefined) {\n if (dimension > 2) {\n // preserve values beyond second dimension\n output = input.slice();\n } else {\n output = new Array(length);\n }\n }\n var halfSize = HALF_SIZE;\n for (var i = 0; i < length; i += dimension) {\n output[i] = halfSize * input[i] / 180;\n var y = RADIUS *\n Math.log(Math.tan(Math.PI * (input[i + 1] + 90) / 360));\n if (y > halfSize) {\n y = halfSize;\n } else if (y < -halfSize) {\n y = -halfSize;\n }\n output[i + 1] = y;\n }\n return output;\n}\n\n\n/**\n * Transformation from EPSG:3857 to EPSG:4326.\n *\n * @param {Array} input Input array of coordinate values.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension (default is `2`).\n * @return {Array} Output array of coordinate values.\n */\nexport function toEPSG4326(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension > 1 ? opt_dimension : 2;\n var output = opt_output;\n if (output === undefined) {\n if (dimension > 2) {\n // preserve values beyond second dimension\n output = input.slice();\n } else {\n output = new Array(length);\n }\n }\n for (var i = 0; i < length; i += dimension) {\n output[i] = 180 * input[i] / HALF_SIZE;\n output[i + 1] = 360 * Math.atan(\n Math.exp(input[i + 1] / RADIUS)) / Math.PI - 90;\n }\n return output;\n}\n\n//# sourceMappingURL=epsg3857.js.map","/**\n * @module ol/proj/epsg4326\n */\nimport Projection from './Projection.js';\nimport Units from './Units.js';\n\n\n/**\n * Semi-major radius of the WGS84 ellipsoid.\n *\n * @const\n * @type {number}\n */\nexport var RADIUS = 6378137;\n\n\n/**\n * Extent of the EPSG:4326 projection which is the whole world.\n *\n * @const\n * @type {import(\"../extent.js\").Extent}\n */\nexport var EXTENT = [-180, -90, 180, 90];\n\n\n/**\n * @const\n * @type {number}\n */\nexport var METERS_PER_UNIT = Math.PI * RADIUS / 180;\n\n\n/**\n * @classdesc\n * Projection object for WGS84 geographic coordinates (EPSG:4326).\n *\n * Note that OpenLayers does not strictly comply with the EPSG definition.\n * The EPSG registry defines 4326 as a CRS for Latitude,Longitude (y,x).\n * OpenLayers treats EPSG:4326 as a pseudo-projection, with x,y coordinates.\n */\nvar EPSG4326Projection = /*@__PURE__*/(function (Projection) {\n function EPSG4326Projection(code, opt_axisOrientation) {\n Projection.call(this, {\n code: code,\n units: Units.DEGREES,\n extent: EXTENT,\n axisOrientation: opt_axisOrientation,\n global: true,\n metersPerUnit: METERS_PER_UNIT,\n worldExtent: EXTENT\n });\n\n }\n\n if ( Projection ) EPSG4326Projection.__proto__ = Projection;\n EPSG4326Projection.prototype = Object.create( Projection && Projection.prototype );\n EPSG4326Projection.prototype.constructor = EPSG4326Projection;\n\n return EPSG4326Projection;\n}(Projection));\n\n\n/**\n * Projections equal to EPSG:4326.\n *\n * @const\n * @type {Array}\n */\nexport var PROJECTIONS = [\n new EPSG4326Projection('CRS:84'),\n new EPSG4326Projection('EPSG:4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:EPSG::4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:EPSG:6.6:4326', 'neu'),\n new EPSG4326Projection('urn:ogc:def:crs:OGC:1.3:CRS84'),\n new EPSG4326Projection('urn:ogc:def:crs:OGC:2:84'),\n new EPSG4326Projection('http://www.opengis.net/gml/srs/epsg.xml#4326', 'neu'),\n new EPSG4326Projection('urn:x-ogc:def:crs:EPSG:4326', 'neu')\n];\n\n//# sourceMappingURL=epsg4326.js.map","/**\n * @module ol/proj/projections\n */\n\n\n/**\n * @type {Object}\n */\nvar cache = {};\n\n\n/**\n * Clear the projections cache.\n */\nexport function clear() {\n cache = {};\n}\n\n\n/**\n * Get a cached projection by code.\n * @param {string} code The code for the projection.\n * @return {import(\"./Projection.js\").default} The projection (if cached).\n */\nexport function get(code) {\n return cache[code] || null;\n}\n\n\n/**\n * Add a projection to the cache.\n * @param {string} code The projection code.\n * @param {import(\"./Projection.js\").default} projection The projection to cache.\n */\nexport function add(code, projection) {\n cache[code] = projection;\n}\n\n//# sourceMappingURL=projections.js.map","/**\n * @module ol/proj/transforms\n */\nimport {isEmpty} from '../obj.js';\n\n\n/**\n * @private\n * @type {!Object>}\n */\nvar transforms = {};\n\n\n/**\n * Clear the transform cache.\n */\nexport function clear() {\n transforms = {};\n}\n\n\n/**\n * Registers a conversion function to convert coordinates from the source\n * projection to the destination projection.\n *\n * @param {import(\"./Projection.js\").default} source Source.\n * @param {import(\"./Projection.js\").default} destination Destination.\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform.\n */\nexport function add(source, destination, transformFn) {\n var sourceCode = source.getCode();\n var destinationCode = destination.getCode();\n if (!(sourceCode in transforms)) {\n transforms[sourceCode] = {};\n }\n transforms[sourceCode][destinationCode] = transformFn;\n}\n\n\n/**\n * Unregisters the conversion function to convert coordinates from the source\n * projection to the destination projection. This method is used to clean up\n * cached transforms during testing.\n *\n * @param {import(\"./Projection.js\").default} source Source projection.\n * @param {import(\"./Projection.js\").default} destination Destination projection.\n * @return {import(\"../proj.js\").TransformFunction} transformFn The unregistered transform.\n */\nexport function remove(source, destination) {\n var sourceCode = source.getCode();\n var destinationCode = destination.getCode();\n var transform = transforms[sourceCode][destinationCode];\n delete transforms[sourceCode][destinationCode];\n if (isEmpty(transforms[sourceCode])) {\n delete transforms[sourceCode];\n }\n return transform;\n}\n\n\n/**\n * Get a transform given a source code and a destination code.\n * @param {string} sourceCode The code for the source projection.\n * @param {string} destinationCode The code for the destination projection.\n * @return {import(\"../proj.js\").TransformFunction|undefined} The transform function (if found).\n */\nexport function get(sourceCode, destinationCode) {\n var transform;\n if (sourceCode in transforms && destinationCode in transforms[sourceCode]) {\n transform = transforms[sourceCode][destinationCode];\n }\n return transform;\n}\n\n//# sourceMappingURL=transforms.js.map","/**\n * @module ol/proj\n */\n\n/**\n * The ol/proj module stores:\n * * a list of {@link module:ol/proj/Projection}\n * objects, one for each projection supported by the application\n * * a list of transform functions needed to convert coordinates in one projection\n * into another.\n *\n * The static functions are the methods used to maintain these.\n * Each transform function can handle not only simple coordinate pairs, but also\n * large arrays of coordinates such as vector geometries.\n *\n * When loaded, the library adds projection objects for EPSG:4326 (WGS84\n * geographic coordinates) and EPSG:3857 (Web or Spherical Mercator, as used\n * for example by Bing Maps or OpenStreetMap), together with the relevant\n * transform functions.\n *\n * Additional transforms may be added by using the http://proj4js.org/\n * library (version 2.2 or later). You can use the full build supplied by\n * Proj4js, or create a custom build to support those projections you need; see\n * the Proj4js website for how to do this. You also need the Proj4js definitions\n * for the required projections. These definitions can be obtained from\n * https://epsg.io/, and are a JS function, so can be loaded in a script\n * tag (as in the examples) or pasted into your application.\n *\n * After all required projection definitions are added to proj4's registry (by\n * using `proj4.defs()`), simply call `register(proj4)` from the `ol/proj/proj4`\n * package. Existing transforms are not changed by this function. See\n * examples/wms-image-custom-proj for an example of this.\n *\n * Additional projection definitions can be registered with `proj4.defs()` any\n * time. Just make sure to call `register(proj4)` again; for example, with user-supplied data where you don't\n * know in advance what projections are needed, you can initially load minimal\n * support and then load whichever are requested.\n *\n * Note that Proj4js does not support projection extents. If you want to add\n * one for creating default tile grids, you can add it after the Projection\n * object has been created with `setExtent`, for example,\n * `get('EPSG:1234').setExtent(extent)`.\n *\n * In addition to Proj4js support, any transform functions can be added with\n * {@link module:ol/proj~addCoordinateTransforms}. To use this, you must first create\n * a {@link module:ol/proj/Projection} object for the new projection and add it with\n * {@link module:ol/proj~addProjection}. You can then add the forward and inverse\n * functions with {@link module:ol/proj~addCoordinateTransforms}. See\n * examples/wms-custom-proj for an example of this.\n *\n * Note that if no transforms are needed and you only need to define the\n * projection, just add a {@link module:ol/proj/Projection} with\n * {@link module:ol/proj~addProjection}. See examples/wms-no-proj for an example of\n * this.\n */\nimport {getDistance} from './sphere.js';\nimport {applyTransform} from './extent.js';\nimport {modulo} from './math.js';\nimport {toEPSG4326, fromEPSG4326, PROJECTIONS as EPSG3857_PROJECTIONS} from './proj/epsg3857.js';\nimport {PROJECTIONS as EPSG4326_PROJECTIONS} from './proj/epsg4326.js';\nimport Projection from './proj/Projection.js';\nimport Units, {METERS_PER_UNIT} from './proj/Units.js';\nimport * as projections from './proj/projections.js';\nimport {add as addTransformFunc, clear as clearTransformFuncs, get as getTransformFunc} from './proj/transforms.js';\n\n\n/**\n * A projection as {@link module:ol/proj/Projection}, SRS identifier\n * string or undefined.\n * @typedef {Projection|string|undefined} ProjectionLike\n * @api\n */\n\n\n/**\n * A transform function accepts an array of input coordinate values, an optional\n * output array, and an optional dimension (default should be 2). The function\n * transforms the input coordinate values, populates the output array, and\n * returns the output array.\n *\n * @typedef {function(Array, Array=, number=): Array} TransformFunction\n * @api\n */\n\n\nexport {METERS_PER_UNIT};\n\nexport {Projection};\n\n/**\n * @param {Array} input Input coordinate array.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Output coordinate array (new array, same coordinate\n * values).\n */\nexport function cloneTransform(input, opt_output, opt_dimension) {\n var output;\n if (opt_output !== undefined) {\n for (var i = 0, ii = input.length; i < ii; ++i) {\n opt_output[i] = input[i];\n }\n output = opt_output;\n } else {\n output = input.slice();\n }\n return output;\n}\n\n\n/**\n * @param {Array} input Input coordinate array.\n * @param {Array=} opt_output Output array of coordinate values.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Input coordinate array (same array as input).\n */\nexport function identityTransform(input, opt_output, opt_dimension) {\n if (opt_output !== undefined && input !== opt_output) {\n for (var i = 0, ii = input.length; i < ii; ++i) {\n opt_output[i] = input[i];\n }\n input = opt_output;\n }\n return input;\n}\n\n\n/**\n * Add a Projection object to the list of supported projections that can be\n * looked up by their code.\n *\n * @param {Projection} projection Projection instance.\n * @api\n */\nexport function addProjection(projection) {\n projections.add(projection.getCode(), projection);\n addTransformFunc(projection, projection, cloneTransform);\n}\n\n\n/**\n * @param {Array} projections Projections.\n */\nexport function addProjections(projections) {\n projections.forEach(addProjection);\n}\n\n\n/**\n * Fetches a Projection object for the code specified.\n *\n * @param {ProjectionLike} projectionLike Either a code string which is\n * a combination of authority and identifier such as \"EPSG:4326\", or an\n * existing projection object, or undefined.\n * @return {Projection} Projection object, or null if not in list.\n * @api\n */\nexport function get(projectionLike) {\n return typeof projectionLike === 'string' ?\n projections.get(/** @type {string} */ (projectionLike)) :\n (/** @type {Projection} */ (projectionLike) || null);\n}\n\n\n/**\n * Get the resolution of the point in degrees or distance units.\n * For projections with degrees as the unit this will simply return the\n * provided resolution. For other projections the point resolution is\n * by default estimated by transforming the 'point' pixel to EPSG:4326,\n * measuring its width and height on the normal sphere,\n * and taking the average of the width and height.\n * A custom function can be provided for a specific projection, either\n * by setting the `getPointResolution` option in the\n * {@link module:ol/proj/Projection~Projection} constructor or by using\n * {@link module:ol/proj/Projection~Projection#setGetPointResolution} to change an existing\n * projection object.\n * @param {ProjectionLike} projection The projection.\n * @param {number} resolution Nominal resolution in projection units.\n * @param {import(\"./coordinate.js\").Coordinate} point Point to find adjusted resolution at.\n * @param {Units=} opt_units Units to get the point resolution in.\n * Default is the projection's units.\n * @return {number} Point resolution.\n * @api\n */\nexport function getPointResolution(projection, resolution, point, opt_units) {\n projection = get(projection);\n var pointResolution;\n var getter = projection.getPointResolutionFunc();\n if (getter) {\n pointResolution = getter(resolution, point);\n } else {\n var units = projection.getUnits();\n if (units == Units.DEGREES && !opt_units || opt_units == Units.DEGREES) {\n pointResolution = resolution;\n } else {\n // Estimate point resolution by transforming the center pixel to EPSG:4326,\n // measuring its width and height on the normal sphere, and taking the\n // average of the width and height.\n var toEPSG4326 = getTransformFromProjections(projection, get('EPSG:4326'));\n var vertices = [\n point[0] - resolution / 2, point[1],\n point[0] + resolution / 2, point[1],\n point[0], point[1] - resolution / 2,\n point[0], point[1] + resolution / 2\n ];\n vertices = toEPSG4326(vertices, vertices, 2);\n var width = getDistance(vertices.slice(0, 2), vertices.slice(2, 4));\n var height = getDistance(vertices.slice(4, 6), vertices.slice(6, 8));\n pointResolution = (width + height) / 2;\n var metersPerUnit = opt_units ?\n METERS_PER_UNIT[opt_units] :\n projection.getMetersPerUnit();\n if (metersPerUnit !== undefined) {\n pointResolution /= metersPerUnit;\n }\n }\n }\n return pointResolution;\n}\n\n\n/**\n * Registers transformation functions that don't alter coordinates. Those allow\n * to transform between projections with equal meaning.\n *\n * @param {Array} projections Projections.\n * @api\n */\nexport function addEquivalentProjections(projections) {\n addProjections(projections);\n projections.forEach(function(source) {\n projections.forEach(function(destination) {\n if (source !== destination) {\n addTransformFunc(source, destination, cloneTransform);\n }\n });\n });\n}\n\n\n/**\n * Registers transformation functions to convert coordinates in any projection\n * in projection1 to any projection in projection2.\n *\n * @param {Array} projections1 Projections with equal\n * meaning.\n * @param {Array} projections2 Projections with equal\n * meaning.\n * @param {TransformFunction} forwardTransform Transformation from any\n * projection in projection1 to any projection in projection2.\n * @param {TransformFunction} inverseTransform Transform from any projection\n * in projection2 to any projection in projection1..\n */\nexport function addEquivalentTransforms(projections1, projections2, forwardTransform, inverseTransform) {\n projections1.forEach(function(projection1) {\n projections2.forEach(function(projection2) {\n addTransformFunc(projection1, projection2, forwardTransform);\n addTransformFunc(projection2, projection1, inverseTransform);\n });\n });\n}\n\n\n/**\n * Clear all cached projections and transforms.\n */\nexport function clearAllProjections() {\n projections.clear();\n clearTransformFuncs();\n}\n\n\n/**\n * @param {Projection|string|undefined} projection Projection.\n * @param {string} defaultCode Default code.\n * @return {Projection} Projection.\n */\nexport function createProjection(projection, defaultCode) {\n if (!projection) {\n return get(defaultCode);\n } else if (typeof projection === 'string') {\n return get(projection);\n } else {\n return (\n /** @type {Projection} */ (projection)\n );\n }\n}\n\n\n/**\n * Creates a {@link module:ol/proj~TransformFunction} from a simple 2D coordinate transform\n * function.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} coordTransform Coordinate\n * transform.\n * @return {TransformFunction} Transform function.\n */\nexport function createTransformFromCoordinateTransform(coordTransform) {\n return (\n /**\n * @param {Array} input Input.\n * @param {Array=} opt_output Output.\n * @param {number=} opt_dimension Dimension.\n * @return {Array} Output.\n */\n function(input, opt_output, opt_dimension) {\n var length = input.length;\n var dimension = opt_dimension !== undefined ? opt_dimension : 2;\n var output = opt_output !== undefined ? opt_output : new Array(length);\n for (var i = 0; i < length; i += dimension) {\n var point = coordTransform([input[i], input[i + 1]]);\n output[i] = point[0];\n output[i + 1] = point[1];\n for (var j = dimension - 1; j >= 2; --j) {\n output[i + j] = input[i + j];\n }\n }\n return output;\n });\n}\n\n\n/**\n * Registers coordinate transform functions to convert coordinates between the\n * source projection and the destination projection.\n * The forward and inverse functions convert coordinate pairs; this function\n * converts these into the functions used internally which also handle\n * extents and coordinate arrays.\n *\n * @param {ProjectionLike} source Source projection.\n * @param {ProjectionLike} destination Destination projection.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} forward The forward transform\n * function (that is, from the source projection to the destination\n * projection) that takes a {@link module:ol/coordinate~Coordinate} as argument and returns\n * the transformed {@link module:ol/coordinate~Coordinate}.\n * @param {function(import(\"./coordinate.js\").Coordinate): import(\"./coordinate.js\").Coordinate} inverse The inverse transform\n * function (that is, from the destination projection to the source\n * projection) that takes a {@link module:ol/coordinate~Coordinate} as argument and returns\n * the transformed {@link module:ol/coordinate~Coordinate}.\n * @api\n */\nexport function addCoordinateTransforms(source, destination, forward, inverse) {\n var sourceProj = get(source);\n var destProj = get(destination);\n addTransformFunc(sourceProj, destProj, createTransformFromCoordinateTransform(forward));\n addTransformFunc(destProj, sourceProj, createTransformFromCoordinateTransform(inverse));\n}\n\n\n/**\n * Transforms a coordinate from longitude/latitude to a different projection.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate as longitude and latitude, i.e.\n * an array with longitude as 1st and latitude as 2nd element.\n * @param {ProjectionLike=} opt_projection Target projection. The\n * default is Web Mercator, i.e. 'EPSG:3857'.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate projected to the target projection.\n * @api\n */\nexport function fromLonLat(coordinate, opt_projection) {\n return transform(coordinate, 'EPSG:4326',\n opt_projection !== undefined ? opt_projection : 'EPSG:3857');\n}\n\n\n/**\n * Transforms a coordinate to longitude/latitude.\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Projected coordinate.\n * @param {ProjectionLike=} opt_projection Projection of the coordinate.\n * The default is Web Mercator, i.e. 'EPSG:3857'.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate as longitude and latitude, i.e. an array\n * with longitude as 1st and latitude as 2nd element.\n * @api\n */\nexport function toLonLat(coordinate, opt_projection) {\n var lonLat = transform(coordinate,\n opt_projection !== undefined ? opt_projection : 'EPSG:3857', 'EPSG:4326');\n var lon = lonLat[0];\n if (lon < -180 || lon > 180) {\n lonLat[0] = modulo(lon + 180, 360) - 180;\n }\n return lonLat;\n}\n\n\n/**\n * Checks if two projections are the same, that is every coordinate in one\n * projection does represent the same geographic point as the same coordinate in\n * the other projection.\n *\n * @param {Projection} projection1 Projection 1.\n * @param {Projection} projection2 Projection 2.\n * @return {boolean} Equivalent.\n * @api\n */\nexport function equivalent(projection1, projection2) {\n if (projection1 === projection2) {\n return true;\n }\n var equalUnits = projection1.getUnits() === projection2.getUnits();\n if (projection1.getCode() === projection2.getCode()) {\n return equalUnits;\n } else {\n var transformFunc = getTransformFromProjections(projection1, projection2);\n return transformFunc === cloneTransform && equalUnits;\n }\n}\n\n\n/**\n * Searches in the list of transform functions for the function for converting\n * coordinates from the source projection to the destination projection.\n *\n * @param {Projection} sourceProjection Source Projection object.\n * @param {Projection} destinationProjection Destination Projection\n * object.\n * @return {TransformFunction} Transform function.\n */\nexport function getTransformFromProjections(sourceProjection, destinationProjection) {\n var sourceCode = sourceProjection.getCode();\n var destinationCode = destinationProjection.getCode();\n var transformFunc = getTransformFunc(sourceCode, destinationCode);\n if (!transformFunc) {\n transformFunc = identityTransform;\n }\n return transformFunc;\n}\n\n\n/**\n * Given the projection-like objects, searches for a transformation\n * function to convert a coordinates array from the source projection to the\n * destination projection.\n *\n * @param {ProjectionLike} source Source.\n * @param {ProjectionLike} destination Destination.\n * @return {TransformFunction} Transform function.\n * @api\n */\nexport function getTransform(source, destination) {\n var sourceProjection = get(source);\n var destinationProjection = get(destination);\n return getTransformFromProjections(sourceProjection, destinationProjection);\n}\n\n\n/**\n * Transforms a coordinate from source projection to destination projection.\n * This returns a new coordinate (and does not modify the original).\n *\n * See {@link module:ol/proj~transformExtent} for extent transformation.\n * See the transform method of {@link module:ol/geom/Geometry~Geometry} and its\n * subclasses for geometry transforms.\n *\n * @param {import(\"./coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {ProjectionLike} source Source projection-like.\n * @param {ProjectionLike} destination Destination projection-like.\n * @return {import(\"./coordinate.js\").Coordinate} Coordinate.\n * @api\n */\nexport function transform(coordinate, source, destination) {\n var transformFunc = getTransform(source, destination);\n return transformFunc(coordinate, undefined, coordinate.length);\n}\n\n\n/**\n * Transforms an extent from source projection to destination projection. This\n * returns a new extent (and does not modify the original).\n *\n * @param {import(\"./extent.js\").Extent} extent The extent to transform.\n * @param {ProjectionLike} source Source projection-like.\n * @param {ProjectionLike} destination Destination projection-like.\n * @return {import(\"./extent.js\").Extent} The transformed extent.\n * @api\n */\nexport function transformExtent(extent, source, destination) {\n var transformFunc = getTransform(source, destination);\n return applyTransform(extent, transformFunc);\n}\n\n\n/**\n * Transforms the given point to the destination projection.\n *\n * @param {import(\"./coordinate.js\").Coordinate} point Point.\n * @param {Projection} sourceProjection Source projection.\n * @param {Projection} destinationProjection Destination projection.\n * @return {import(\"./coordinate.js\").Coordinate} Point.\n */\nexport function transformWithProjections(point, sourceProjection, destinationProjection) {\n var transformFunc = getTransformFromProjections(sourceProjection, destinationProjection);\n return transformFunc(point);\n}\n\n/**\n * Add transforms to and from EPSG:4326 and EPSG:3857. This function is called\n * by when this module is executed and should only need to be called again after\n * `clearAllProjections()` is called (e.g. in tests).\n */\nexport function addCommon() {\n // Add transformations that don't alter coordinates to convert within set of\n // projections with equal meaning.\n addEquivalentProjections(EPSG3857_PROJECTIONS);\n addEquivalentProjections(EPSG4326_PROJECTIONS);\n // Add transformations to convert EPSG:4326 like coordinates to EPSG:3857 like\n // coordinates and back.\n addEquivalentTransforms(EPSG4326_PROJECTIONS, EPSG3857_PROJECTIONS, fromEPSG4326, toEPSG4326);\n}\n\naddCommon();\n\n//# sourceMappingURL=proj.js.map","/**\n * @module ol/dom\n */\n\n\n/**\n * Create an html canvas element and returns its 2d context.\n * @param {number=} opt_width Canvas width.\n * @param {number=} opt_height Canvas height.\n * @return {CanvasRenderingContext2D} The context.\n */\nexport function createCanvasContext2D(opt_width, opt_height) {\n var canvas = /** @type {HTMLCanvasElement} */ (document.createElement('canvas'));\n if (opt_width) {\n canvas.width = opt_width;\n }\n if (opt_height) {\n canvas.height = opt_height;\n }\n return /** @type {CanvasRenderingContext2D} */ (canvas.getContext('2d'));\n}\n\n\n/**\n * Get the current computed width for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerWidth(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The width.\n */\nexport function outerWidth(element) {\n var width = element.offsetWidth;\n var style = getComputedStyle(element);\n width += parseInt(style.marginLeft, 10) + parseInt(style.marginRight, 10);\n\n return width;\n}\n\n\n/**\n * Get the current computed height for the given element including margin,\n * padding and border.\n * Equivalent to jQuery's `$(el).outerHeight(true)`.\n * @param {!HTMLElement} element Element.\n * @return {number} The height.\n */\nexport function outerHeight(element) {\n var height = element.offsetHeight;\n var style = getComputedStyle(element);\n height += parseInt(style.marginTop, 10) + parseInt(style.marginBottom, 10);\n\n return height;\n}\n\n/**\n * @param {Node} newNode Node to replace old node\n * @param {Node} oldNode The node to be replaced\n */\nexport function replaceNode(newNode, oldNode) {\n var parent = oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n}\n\n/**\n * @param {Node} node The node to remove.\n * @returns {Node} The node that was removed or null.\n */\nexport function removeNode(node) {\n return node && node.parentNode ? node.parentNode.removeChild(node) : null;\n}\n\n/**\n * @param {Node} node The node to remove the children from.\n */\nexport function removeChildren(node) {\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n}\n\n//# sourceMappingURL=dom.js.map","/**\n * @module ol/functions\n */\n\n/**\n * Always returns true.\n * @returns {boolean} true.\n */\nexport function TRUE() {\n return true;\n}\n\n/**\n * Always returns false.\n * @returns {boolean} false.\n */\nexport function FALSE() {\n return false;\n}\n\n/**\n * A reusable function, used e.g. as a default for callbacks.\n *\n * @return {void} Nothing.\n */\nexport function VOID() {}\n\n//# sourceMappingURL=functions.js.map","/**\n * @module ol/Object\n */\nimport {getUid} from './util.js';\nimport ObjectEventType from './ObjectEventType.js';\nimport Observable from './Observable.js';\nimport Event from './events/Event.js';\nimport {assign} from './obj.js';\n\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/Object~BaseObject} instances are instances of this type.\n */\nexport var ObjectEvent = /*@__PURE__*/(function (Event) {\n function ObjectEvent(type, key, oldValue) {\n Event.call(this, type);\n\n /**\n * The name of the property whose value is changing.\n * @type {string}\n * @api\n */\n this.key = key;\n\n /**\n * The old value. To get the new value use `e.target.get(e.key)` where\n * `e` is the event object.\n * @type {*}\n * @api\n */\n this.oldValue = oldValue;\n\n }\n\n if ( Event ) ObjectEvent.__proto__ = Event;\n ObjectEvent.prototype = Object.create( Event && Event.prototype );\n ObjectEvent.prototype.constructor = ObjectEvent;\n\n return ObjectEvent;\n}(Event));\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Most non-trivial classes inherit from this.\n *\n * This extends {@link module:ol/Observable} with observable\n * properties, where each property is observable as well as the object as a\n * whole.\n *\n * Classes that inherit from this have pre-defined properties, to which you can\n * add your owns. The pre-defined properties are listed in this documentation as\n * 'Observable Properties', and have their own accessors; for example,\n * {@link module:ol/Map~Map} has a `target` property, accessed with\n * `getTarget()` and changed with `setTarget()`. Not all properties are however\n * settable. There are also general-purpose accessors `get()` and `set()`. For\n * example, `get('target')` is equivalent to `getTarget()`.\n *\n * The `set` accessors trigger a change event, and you can monitor this by\n * registering a listener. For example, {@link module:ol/View~View} has a\n * `center` property, so `view.on('change:center', function(evt) {...});` would\n * call the function whenever the value of the center property changes. Within\n * the function, `evt.target` would be the view, so `evt.target.getCenter()`\n * would return the new center.\n *\n * You can add your own observable properties with\n * `object.set('prop', 'value')`, and retrieve that with `object.get('prop')`.\n * You can listen for changes on that property value with\n * `object.on('change:prop', listener)`. You can get a list of all\n * properties with {@link module:ol/Object~BaseObject#getProperties}.\n *\n * Note that the observable properties are separate from standard JS properties.\n * You can, for example, give your map object a title with\n * `map.title='New title'` and with `map.set('title', 'Another title')`. The\n * first will be a `hasOwnProperty`; the second will appear in\n * `getProperties()`. Only the second is observable.\n *\n * Properties can be deleted by using the unset method. E.g.\n * object.unset('foo').\n *\n * @fires ObjectEvent\n * @api\n */\nvar BaseObject = /*@__PURE__*/(function (Observable) {\n function BaseObject(opt_values) {\n Observable.call(this);\n\n // Call {@link module:ol/util~getUid} to ensure that the order of objects' ids is\n // the same as the order in which they were created. This also helps to\n // ensure that object properties are always added in the same order, which\n // helps many JavaScript engines generate faster code.\n getUid(this);\n\n /**\n * @private\n * @type {!Object}\n */\n this.values_ = {};\n\n if (opt_values !== undefined) {\n this.setProperties(opt_values);\n }\n }\n\n if ( Observable ) BaseObject.__proto__ = Observable;\n BaseObject.prototype = Object.create( Observable && Observable.prototype );\n BaseObject.prototype.constructor = BaseObject;\n\n /**\n * Gets a value.\n * @param {string} key Key name.\n * @return {*} Value.\n * @api\n */\n BaseObject.prototype.get = function get (key) {\n var value;\n if (this.values_.hasOwnProperty(key)) {\n value = this.values_[key];\n }\n return value;\n };\n\n /**\n * Get a list of object property names.\n * @return {Array} List of property names.\n * @api\n */\n BaseObject.prototype.getKeys = function getKeys () {\n return Object.keys(this.values_);\n };\n\n /**\n * Get an object of all property names and values.\n * @return {Object} Object.\n * @api\n */\n BaseObject.prototype.getProperties = function getProperties () {\n return assign({}, this.values_);\n };\n\n /**\n * @param {string} key Key name.\n * @param {*} oldValue Old value.\n */\n BaseObject.prototype.notify = function notify (key, oldValue) {\n var eventType;\n eventType = getChangeEventType(key);\n this.dispatchEvent(new ObjectEvent(eventType, key, oldValue));\n eventType = ObjectEventType.PROPERTYCHANGE;\n this.dispatchEvent(new ObjectEvent(eventType, key, oldValue));\n };\n\n /**\n * Sets a value.\n * @param {string} key Key name.\n * @param {*} value Value.\n * @param {boolean=} opt_silent Update without triggering an event.\n * @api\n */\n BaseObject.prototype.set = function set (key, value, opt_silent) {\n if (opt_silent) {\n this.values_[key] = value;\n } else {\n var oldValue = this.values_[key];\n this.values_[key] = value;\n if (oldValue !== value) {\n this.notify(key, oldValue);\n }\n }\n };\n\n /**\n * Sets a collection of key-value pairs. Note that this changes any existing\n * properties and adds new ones (it does not remove any existing properties).\n * @param {Object} values Values.\n * @param {boolean=} opt_silent Update without triggering an event.\n * @api\n */\n BaseObject.prototype.setProperties = function setProperties (values, opt_silent) {\n for (var key in values) {\n this.set(key, values[key], opt_silent);\n }\n };\n\n /**\n * Unsets a property.\n * @param {string} key Key name.\n * @param {boolean=} opt_silent Unset without triggering an event.\n * @api\n */\n BaseObject.prototype.unset = function unset (key, opt_silent) {\n if (key in this.values_) {\n var oldValue = this.values_[key];\n delete this.values_[key];\n if (!opt_silent) {\n this.notify(key, oldValue);\n }\n }\n };\n\n return BaseObject;\n}(Observable));\n\n\n/**\n * @type {Object}\n */\nvar changeEventTypeCache = {};\n\n\n/**\n * @param {string} key Key name.\n * @return {string} Change name.\n */\nexport function getChangeEventType(key) {\n return changeEventTypeCache.hasOwnProperty(key) ?\n changeEventTypeCache[key] :\n (changeEventTypeCache[key] = 'change:' + key);\n}\n\n\nexport default BaseObject;\n\n//# sourceMappingURL=Object.js.map","/**\n * @module ol/has\n */\n\nvar ua = typeof navigator !== 'undefined' ?\n navigator.userAgent.toLowerCase() : '';\n\n/**\n * User agent string says we are dealing with Firefox as browser.\n * @type {boolean}\n */\nexport var FIREFOX = ua.indexOf('firefox') !== -1;\n\n/**\n * User agent string says we are dealing with Safari as browser.\n * @type {boolean}\n */\nexport var SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;\n\n/**\n * User agent string says we are dealing with a WebKit engine.\n * @type {boolean}\n */\nexport var WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1;\n\n/**\n * User agent string says we are dealing with a Mac as platform.\n * @type {boolean}\n */\nexport var MAC = ua.indexOf('macintosh') !== -1;\n\n\n/**\n * The ratio between physical pixels and device-independent pixels\n * (dips) on the device (`window.devicePixelRatio`).\n * @const\n * @type {number}\n * @api\n */\nexport var DEVICE_PIXEL_RATIO = window.devicePixelRatio || 1;\n\n\n/**\n * True if the browser's Canvas implementation implements {get,set}LineDash.\n * @type {boolean}\n */\nexport var CANVAS_LINE_DASH = function() {\n var has = false;\n try {\n has = !!document.createElement('canvas').getContext('2d').setLineDash;\n } catch (e) {\n // pass\n }\n return has;\n}();\n\n\n/**\n * Is HTML5 geolocation supported in the current browser?\n * @const\n * @type {boolean}\n * @api\n */\nexport var GEOLOCATION = 'geolocation' in navigator;\n\n\n/**\n * True if browser supports touch events.\n * @const\n * @type {boolean}\n * @api\n */\nexport var TOUCH = 'ontouchstart' in window;\n\n\n/**\n * True if browser supports pointer events.\n * @const\n * @type {boolean}\n */\nexport var POINTER = 'PointerEvent' in window;\n\n\n/**\n * True if browser supports ms pointer events (IE 10).\n * @const\n * @type {boolean}\n */\nexport var MSPOINTER = !!(navigator.msPointerEnabled);\n\n\nexport {HAS as WEBGL} from './webgl.js';\n\n//# sourceMappingURL=has.js.map","/**\n * @module ol/geom/GeometryLayout\n */\n\n/**\n * The coordinate layout for geometries, indicating whether a 3rd or 4th z ('Z')\n * or measure ('M') coordinate is available. Supported values are `'XY'`,\n * `'XYZ'`, `'XYM'`, `'XYZM'`.\n * @enum {string}\n */\nexport default {\n XY: 'XY',\n XYZ: 'XYZ',\n XYM: 'XYM',\n XYZM: 'XYZM'\n};\n\n//# sourceMappingURL=GeometryLayout.js.map","/**\n * @module ol/layer/Property\n */\n\n/**\n * @enum {string}\n */\nexport default {\n OPACITY: 'opacity',\n VISIBLE: 'visible',\n EXTENT: 'extent',\n Z_INDEX: 'zIndex',\n MAX_RESOLUTION: 'maxResolution',\n MIN_RESOLUTION: 'minResolution',\n SOURCE: 'source'\n};\n\n//# sourceMappingURL=Property.js.map","/**\n * @module ol/ImageState\n */\n\n/**\n * @enum {number}\n */\nexport default {\n IDLE: 0,\n LOADING: 1,\n LOADED: 2,\n ERROR: 3\n};\n\n//# sourceMappingURL=ImageState.js.map","/**\n * @module ol/easing\n */\n\n\n/**\n * Start slow and speed up.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeIn(t) {\n return Math.pow(t, 3);\n}\n\n\n/**\n * Start fast and slow down.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function easeOut(t) {\n return 1 - easeIn(1 - t);\n}\n\n\n/**\n * Start slow, speed up, and then slow down again.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function inAndOut(t) {\n return 3 * t * t - 2 * t * t * t;\n}\n\n\n/**\n * Maintain a constant speed over time.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function linear(t) {\n return t;\n}\n\n\n/**\n * Start slow, speed up, and at the very end slow down again. This has the\n * same general behavior as {@link module:ol/easing~inAndOut}, but the final\n * slowdown is delayed.\n * @param {number} t Input between 0 and 1.\n * @return {number} Output between 0 and 1.\n * @api\n */\nexport function upAndDown(t) {\n if (t < 0.5) {\n return inAndOut(2 * t);\n } else {\n return 1 - inAndOut(2 * (t - 0.5));\n }\n}\n\n//# sourceMappingURL=easing.js.map","/**\n * @module ol/extent/Relationship\n */\n\n/**\n * Relationship to an extent.\n * @enum {number}\n */\nexport default {\n UNKNOWN: 0,\n INTERSECTING: 1,\n ABOVE: 2,\n RIGHT: 4,\n BELOW: 8,\n LEFT: 16\n};\n\n//# sourceMappingURL=Relationship.js.map","/**\n * @module ol/proj/Units\n */\n\n/**\n * Projection units: `'degrees'`, `'ft'`, `'m'`, `'pixels'`, `'tile-pixels'` or\n * `'us-ft'`.\n * @enum {string}\n */\nvar Units = {\n DEGREES: 'degrees',\n FEET: 'ft',\n METERS: 'm',\n PIXELS: 'pixels',\n TILE_PIXELS: 'tile-pixels',\n USFEET: 'us-ft'\n};\n\n\n/**\n * Meters per unit lookup table.\n * @const\n * @type {Object}\n * @api\n */\nexport var METERS_PER_UNIT = {};\n// use the radius of the Normal sphere\nMETERS_PER_UNIT[Units.DEGREES] = 2 * Math.PI * 6370997 / 360;\nMETERS_PER_UNIT[Units.FEET] = 0.3048;\nMETERS_PER_UNIT[Units.METERS] = 1;\nMETERS_PER_UNIT[Units.USFEET] = 1200 / 3937;\n\nexport default Units;\n\n//# sourceMappingURL=Units.js.map","/**\n * @module ol/css\n */\n\n\n/**\n * The CSS class for hidden feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_HIDDEN = 'ol-hidden';\n\n\n/**\n * The CSS class that we'll give the DOM elements to have them selectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_SELECTABLE = 'ol-selectable';\n\n\n/**\n * The CSS class that we'll give the DOM elements to have them unselectable.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSELECTABLE = 'ol-unselectable';\n\n\n/**\n * The CSS class for unsupported feature.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_UNSUPPORTED = 'ol-unsupported';\n\n\n/**\n * The CSS class for controls.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_CONTROL = 'ol-control';\n\n\n/**\n * The CSS class that we'll give the DOM elements that are collapsed, i.e.\n * to those elements which usually can be expanded.\n *\n * @const\n * @type {string}\n */\nexport var CLASS_COLLAPSED = 'ol-collapsed';\n\n\n/**\n * Get the list of font families from a font spec. Note that this doesn't work\n * for font families that have commas in them.\n * @param {string} The CSS font property.\n * @return {Object} The font families (or null if the input spec is invalid).\n */\nexport var getFontFamilies = (function() {\n var style;\n var cache = {};\n return function(font) {\n if (!style) {\n style = document.createElement('div').style;\n }\n if (!(font in cache)) {\n style.font = font;\n var family = style.fontFamily;\n style.font = '';\n if (!family) {\n return null;\n }\n cache[font] = family.split(/,\\s?/);\n }\n return cache[font];\n };\n})();\n\n//# sourceMappingURL=css.js.map","/**\n * @module ol/events/Event\n */\n\n/**\n * @classdesc\n * Stripped down implementation of the W3C DOM Level 2 Event interface.\n * See https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-interface.\n *\n * This implementation only provides `type` and `target` properties, and\n * `stopPropagation` and `preventDefault` methods. It is meant as base class\n * for higher level events defined in the library, and works with\n * {@link module:ol/events/Target~Target}.\n */\nvar Event = function Event(type) {\n\n /**\n * @type {boolean}\n */\n this.propagationStopped;\n\n /**\n * The event type.\n * @type {string}\n * @api\n */\n this.type = type;\n\n /**\n * The event target.\n * @type {Object}\n * @api\n */\n this.target = null;\n};\n\n/**\n * Stop event propagation.\n * @api\n */\nEvent.prototype.preventDefault = function preventDefault () {\n this.propagationStopped = true;\n};\n\n/**\n * Stop event propagation.\n * @api\n */\nEvent.prototype.stopPropagation = function stopPropagation () {\n this.propagationStopped = true;\n};\n\n\n/**\n * @param {Event|import(\"./Event.js\").default} evt Event\n */\nexport function stopPropagation(evt) {\n evt.stopPropagation();\n}\n\n\n/**\n * @param {Event|import(\"./Event.js\").default} evt Event\n */\nexport function preventDefault(evt) {\n evt.preventDefault();\n}\n\nexport default Event;\n\n//# sourceMappingURL=Event.js.map","/**\n * @module ol/tilecoord\n */\n\n\n/**\n * An array of three numbers representing the location of a tile in a tile\n * grid. The order is `z`, `x`, and `y`. `z` is the zoom level.\n * @typedef {Array} TileCoord\n * @api\n */\n\n\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {TileCoord=} opt_tileCoord Tile coordinate.\n * @return {TileCoord} Tile coordinate.\n */\nexport function createOrUpdate(z, x, y, opt_tileCoord) {\n if (opt_tileCoord !== undefined) {\n opt_tileCoord[0] = z;\n opt_tileCoord[1] = x;\n opt_tileCoord[2] = y;\n return opt_tileCoord;\n } else {\n return [z, x, y];\n }\n}\n\n\n/**\n * @param {number} z Z.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {string} Key.\n */\nexport function getKeyZXY(z, x, y) {\n return z + '/' + x + '/' + y;\n}\n\n\n/**\n * Get the key for a tile coord.\n * @param {TileCoord} tileCoord The tile coord.\n * @return {string} Key.\n */\nexport function getKey(tileCoord) {\n return getKeyZXY(tileCoord[0], tileCoord[1], tileCoord[2]);\n}\n\n\n/**\n * Get a tile coord given a key.\n * @param {string} key The tile coord key.\n * @return {TileCoord} The tile coord.\n */\nexport function fromKey(key) {\n return key.split('/').map(Number);\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coord.\n * @return {number} Hash.\n */\nexport function hash(tileCoord) {\n return (tileCoord[1] << tileCoord[0]) + tileCoord[2];\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coord.\n * @return {string} Quad key.\n */\nexport function quadKey(tileCoord) {\n var z = tileCoord[0];\n var digits = new Array(z);\n var mask = 1 << (z - 1);\n var i, charCode;\n for (i = 0; i < z; ++i) {\n // 48 is charCode for 0 - '0'.charCodeAt(0)\n charCode = 48;\n if (tileCoord[1] & mask) {\n charCode += 1;\n }\n if (tileCoord[2] & mask) {\n charCode += 2;\n }\n digits[i] = String.fromCharCode(charCode);\n mask >>= 1;\n }\n return digits.join('');\n}\n\n\n/**\n * @param {TileCoord} tileCoord Tile coordinate.\n * @param {!import(\"./tilegrid/TileGrid.js\").default} tileGrid Tile grid.\n * @return {boolean} Tile coordinate is within extent and zoom level range.\n */\nexport function withinExtentAndZ(tileCoord, tileGrid) {\n var z = tileCoord[0];\n var x = tileCoord[1];\n var y = tileCoord[2];\n\n if (tileGrid.getMinZoom() > z || z > tileGrid.getMaxZoom()) {\n return false;\n }\n var extent = tileGrid.getExtent();\n var tileRange;\n if (!extent) {\n tileRange = tileGrid.getFullTileRange(z);\n } else {\n tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);\n }\n if (!tileRange) {\n return true;\n } else {\n return tileRange.containsXY(x, y);\n }\n}\n\n//# sourceMappingURL=tilecoord.js.map","/**\n * @module ol/LayerType\n */\n\n/**\n * A layer type used when creating layer renderers.\n * @enum {string}\n */\nexport default {\n IMAGE: 'IMAGE',\n TILE: 'TILE',\n VECTOR_TILE: 'VECTOR_TILE',\n VECTOR: 'VECTOR'\n};\n\n//# sourceMappingURL=LayerType.js.map","/**\n * @module ol/size\n */\n\n\n/**\n * An array of numbers representing a size: `[width, height]`.\n * @typedef {Array} Size\n * @api\n */\n\n\n/**\n * Returns a buffered size.\n * @param {Size} size Size.\n * @param {number} num The amount by which to buffer.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} The buffered size.\n */\nexport function buffer(size, num, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = size[0] + 2 * num;\n opt_size[1] = size[1] + 2 * num;\n return opt_size;\n}\n\n\n/**\n * Determines if a size has a positive area.\n * @param {Size} size The size to test.\n * @return {boolean} The size has a positive area.\n */\nexport function hasArea(size) {\n return size[0] > 0 && size[1] > 0;\n}\n\n\n/**\n * Returns a size scaled by a ratio. The result will be an array of integers.\n * @param {Size} size Size.\n * @param {number} ratio Ratio.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} The scaled size.\n */\nexport function scale(size, ratio, opt_size) {\n if (opt_size === undefined) {\n opt_size = [0, 0];\n }\n opt_size[0] = (size[0] * ratio + 0.5) | 0;\n opt_size[1] = (size[1] * ratio + 0.5) | 0;\n return opt_size;\n}\n\n\n/**\n * Returns an `Size` array for the passed in number (meaning: square) or\n * `Size` array.\n * (meaning: non-square),\n * @param {number|Size} size Width and height.\n * @param {Size=} opt_size Optional reusable size array.\n * @return {Size} Size.\n * @api\n */\nexport function toSize(size, opt_size) {\n if (Array.isArray(size)) {\n return size;\n } else {\n if (opt_size === undefined) {\n opt_size = [size, size];\n } else {\n opt_size[0] = opt_size[1] = /** @type {number} */ (size);\n }\n return opt_size;\n }\n}\n\n//# sourceMappingURL=size.js.map","/**\n * @module ol/geom/flat/transform\n */\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../transform.js\").Transform} transform Transform.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function transform2D(flatCoordinates, offset, end, stride, transform, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var x = flatCoordinates[j];\n var y = flatCoordinates[j + 1];\n dest[i++] = transform[0] * x + transform[2] * y + transform[4];\n dest[i++] = transform[1] * x + transform[3] * y + transform[5];\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} angle Angle.\n * @param {Array} anchor Rotation anchor point.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function rotate(flatCoordinates, offset, end, stride, angle, anchor, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var anchorX = anchor[0];\n var anchorY = anchor[1];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var deltaX = flatCoordinates[j] - anchorX;\n var deltaY = flatCoordinates[j + 1] - anchorY;\n dest[i++] = anchorX + deltaX * cos - deltaY * sin;\n dest[i++] = anchorY + deltaX * sin + deltaY * cos;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * Scale the coordinates.\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} sx Scale factor in the x-direction.\n * @param {number} sy Scale factor in the y-direction.\n * @param {Array} anchor Scale anchor point.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function scale(flatCoordinates, offset, end, stride, sx, sy, anchor, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var anchorX = anchor[0];\n var anchorY = anchor[1];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n var deltaX = flatCoordinates[j] - anchorX;\n var deltaY = flatCoordinates[j + 1] - anchorY;\n dest[i++] = anchorX + sx * deltaX;\n dest[i++] = anchorY + sy * deltaY;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed coordinates.\n */\nexport function translate(flatCoordinates, offset, end, stride, deltaX, deltaY, opt_dest) {\n var dest = opt_dest ? opt_dest : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n dest[i++] = flatCoordinates[j] + deltaX;\n dest[i++] = flatCoordinates[j + 1] + deltaY;\n for (var k = j + 2; k < j + stride; ++k) {\n dest[i++] = flatCoordinates[k];\n }\n }\n if (opt_dest && dest.length != i) {\n dest.length = i;\n }\n return dest;\n}\n\n//# sourceMappingURL=transform.js.map","/**\n * @module ol/CollectionEventType\n */\n\n/**\n * @enum {string}\n */\nexport default {\n /**\n * Triggered when an item is added to the collection.\n * @event module:ol/Collection.CollectionEvent#add\n * @api\n */\n ADD: 'add',\n /**\n * Triggered when an item is removed from the collection.\n * @event module:ol/Collection.CollectionEvent#remove\n * @api\n */\n REMOVE: 'remove'\n};\n\n//# sourceMappingURL=CollectionEventType.js.map","/**\n * @module ol/render/EventType\n */\n\n/**\n * @enum {string}\n */\nexport default {\n /**\n * @event module:ol/render/Event~RenderEvent#postcompose\n * @api\n */\n POSTCOMPOSE: 'postcompose',\n /**\n * @event module:ol/render/Event~RenderEvent#precompose\n * @api\n */\n PRECOMPOSE: 'precompose',\n /**\n * @event module:ol/render/Event~RenderEvent#render\n * @api\n */\n RENDER: 'render',\n /**\n * Triggered when rendering is complete, i.e. all sources and tiles have\n * finished loading for the current viewport, and all tiles are faded in.\n * @event module:ol/render/Event~RenderEvent#rendercomplete\n * @api\n */\n RENDERCOMPLETE: 'rendercomplete'\n};\n\n//# sourceMappingURL=EventType.js.map","/**\n * @module ol/colorlike\n */\nimport {toString} from './color.js';\n\n\n/**\n * A type accepted by CanvasRenderingContext2D.fillStyle\n * or CanvasRenderingContext2D.strokeStyle.\n * Represents a color, pattern, or gradient. The origin for patterns and\n * gradients as fill style is an increment of 512 css pixels from map coordinate\n * `[0, 0]`. For seamless repeat patterns, width and height of the pattern image\n * must be a factor of two (2, 4, 8, ..., 512).\n *\n * @typedef {string|CanvasPattern|CanvasGradient} ColorLike\n * @api\n */\n\n\n/**\n * @param {import(\"./color.js\").Color|ColorLike} color Color.\n * @return {ColorLike} The color as an {@link ol/colorlike~ColorLike}.\n * @api\n */\nexport function asColorLike(color) {\n if (Array.isArray(color)) {\n return toString(color);\n } else {\n return color;\n }\n}\n\n//# sourceMappingURL=colorlike.js.map","/**\n * @module ol/Collection\n */\nimport AssertionError from './AssertionError.js';\nimport CollectionEventType from './CollectionEventType.js';\nimport BaseObject from './Object.js';\nimport Event from './events/Event.js';\n\n\n/**\n * @enum {string}\n * @private\n */\nvar Property = {\n LENGTH: 'length'\n};\n\n\n/**\n * @classdesc\n * Events emitted by {@link module:ol/Collection~Collection} instances are instances of this\n * type.\n */\nexport var CollectionEvent = /*@__PURE__*/(function (Event) {\n function CollectionEvent(type, opt_element) {\n Event.call(this, type);\n\n /**\n * The element that is added to or removed from the collection.\n * @type {*}\n * @api\n */\n this.element = opt_element;\n\n }\n\n if ( Event ) CollectionEvent.__proto__ = Event;\n CollectionEvent.prototype = Object.create( Event && Event.prototype );\n CollectionEvent.prototype.constructor = CollectionEvent;\n\n return CollectionEvent;\n}(Event));\n\n\n/**\n * @typedef {Object} Options\n * @property {boolean} [unique=false] Disallow the same item from being added to\n * the collection twice.\n */\n\n/**\n * @classdesc\n * An expanded version of standard JS Array, adding convenience methods for\n * manipulation. Add and remove changes to the Collection trigger a Collection\n * event. Note that this does not cover changes to the objects _within_ the\n * Collection; they trigger events on the appropriate object, not on the\n * Collection as a whole.\n *\n * @fires CollectionEvent\n *\n * @template T\n * @api\n */\nvar Collection = /*@__PURE__*/(function (BaseObject) {\n function Collection(opt_array, opt_options) {\n\n BaseObject.call(this);\n\n var options = opt_options || {};\n\n /**\n * @private\n * @type {boolean}\n */\n this.unique_ = !!options.unique;\n\n /**\n * @private\n * @type {!Array}\n */\n this.array_ = opt_array ? opt_array : [];\n\n if (this.unique_) {\n for (var i = 0, ii = this.array_.length; i < ii; ++i) {\n this.assertUnique_(this.array_[i], i);\n }\n }\n\n this.updateLength_();\n\n }\n\n if ( BaseObject ) Collection.__proto__ = BaseObject;\n Collection.prototype = Object.create( BaseObject && BaseObject.prototype );\n Collection.prototype.constructor = Collection;\n\n /**\n * Remove all elements from the collection.\n * @api\n */\n Collection.prototype.clear = function clear () {\n while (this.getLength() > 0) {\n this.pop();\n }\n };\n\n /**\n * Add elements to the collection. This pushes each item in the provided array\n * to the end of the collection.\n * @param {!Array} arr Array.\n * @return {Collection} This collection.\n * @api\n */\n Collection.prototype.extend = function extend (arr) {\n for (var i = 0, ii = arr.length; i < ii; ++i) {\n this.push(arr[i]);\n }\n return this;\n };\n\n /**\n * Iterate over each element, calling the provided callback.\n * @param {function(T, number, Array): *} f The function to call\n * for every element. This function takes 3 arguments (the element, the\n * index and the array). The return value is ignored.\n * @api\n */\n Collection.prototype.forEach = function forEach (f) {\n var array = this.array_;\n for (var i = 0, ii = array.length; i < ii; ++i) {\n f(array[i], i, array);\n }\n };\n\n /**\n * Get a reference to the underlying Array object. Warning: if the array\n * is mutated, no events will be dispatched by the collection, and the\n * collection's \"length\" property won't be in sync with the actual length\n * of the array.\n * @return {!Array} Array.\n * @api\n */\n Collection.prototype.getArray = function getArray () {\n return this.array_;\n };\n\n /**\n * Get the element at the provided index.\n * @param {number} index Index.\n * @return {T} Element.\n * @api\n */\n Collection.prototype.item = function item (index) {\n return this.array_[index];\n };\n\n /**\n * Get the length of this collection.\n * @return {number} The length of the array.\n * @observable\n * @api\n */\n Collection.prototype.getLength = function getLength () {\n return this.get(Property.LENGTH);\n };\n\n /**\n * Insert an element at the provided index.\n * @param {number} index Index.\n * @param {T} elem Element.\n * @api\n */\n Collection.prototype.insertAt = function insertAt (index, elem) {\n if (this.unique_) {\n this.assertUnique_(elem);\n }\n this.array_.splice(index, 0, elem);\n this.updateLength_();\n this.dispatchEvent(\n new CollectionEvent(CollectionEventType.ADD, elem));\n };\n\n /**\n * Remove the last element of the collection and return it.\n * Return `undefined` if the collection is empty.\n * @return {T|undefined} Element.\n * @api\n */\n Collection.prototype.pop = function pop () {\n return this.removeAt(this.getLength() - 1);\n };\n\n /**\n * Insert the provided element at the end of the collection.\n * @param {T} elem Element.\n * @return {number} New length of the collection.\n * @api\n */\n Collection.prototype.push = function push (elem) {\n if (this.unique_) {\n this.assertUnique_(elem);\n }\n var n = this.getLength();\n this.insertAt(n, elem);\n return this.getLength();\n };\n\n /**\n * Remove the first occurrence of an element from the collection.\n * @param {T} elem Element.\n * @return {T|undefined} The removed element or undefined if none found.\n * @api\n */\n Collection.prototype.remove = function remove (elem) {\n var arr = this.array_;\n for (var i = 0, ii = arr.length; i < ii; ++i) {\n if (arr[i] === elem) {\n return this.removeAt(i);\n }\n }\n return undefined;\n };\n\n /**\n * Remove the element at the provided index and return it.\n * Return `undefined` if the collection does not contain this index.\n * @param {number} index Index.\n * @return {T|undefined} Value.\n * @api\n */\n Collection.prototype.removeAt = function removeAt (index) {\n var prev = this.array_[index];\n this.array_.splice(index, 1);\n this.updateLength_();\n this.dispatchEvent(new CollectionEvent(CollectionEventType.REMOVE, prev));\n return prev;\n };\n\n /**\n * Set the element at the provided index.\n * @param {number} index Index.\n * @param {T} elem Element.\n * @api\n */\n Collection.prototype.setAt = function setAt (index, elem) {\n var n = this.getLength();\n if (index < n) {\n if (this.unique_) {\n this.assertUnique_(elem, index);\n }\n var prev = this.array_[index];\n this.array_[index] = elem;\n this.dispatchEvent(\n new CollectionEvent(CollectionEventType.REMOVE, prev));\n this.dispatchEvent(\n new CollectionEvent(CollectionEventType.ADD, elem));\n } else {\n for (var j = n; j < index; ++j) {\n this.insertAt(j, undefined);\n }\n this.insertAt(index, elem);\n }\n };\n\n /**\n * @private\n */\n Collection.prototype.updateLength_ = function updateLength_ () {\n this.set(Property.LENGTH, this.array_.length);\n };\n\n /**\n * @private\n * @param {T} elem Element.\n * @param {number=} opt_except Optional index to ignore.\n */\n Collection.prototype.assertUnique_ = function assertUnique_ (elem, opt_except) {\n for (var i = 0, ii = this.array_.length; i < ii; ++i) {\n if (this.array_[i] === elem && i !== opt_except) {\n throw new AssertionError(58);\n }\n }\n };\n\n return Collection;\n}(BaseObject));\n\n\nexport default Collection;\n\n//# sourceMappingURL=Collection.js.map","/**\n * @module ol/reproj/common\n */\n\n/**\n * Default maximum allowed threshold (in pixels) for reprojection\n * triangulation.\n * @type {number}\n */\nexport var ERROR_THRESHOLD = 0.5;\n\n/**\n * Enable automatic reprojection of raster sources. Default is `true`.\n * TODO: decide if we want to expose this as a build flag or remove it\n * @type {boolean}\n */\nexport var ENABLE_RASTER_REPROJECTION = true;\n\n//# sourceMappingURL=common.js.map","/**\n * @module ol/style/Fill\n */\nimport {getUid} from '../util.js';\nimport {asString} from '../color.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} [color] A color, gradient or pattern.\n * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats.\n * Default null; if null, the Canvas/renderer default black will be used.\n */\n\n\n/**\n * @classdesc\n * Set fill style for vector features.\n * @api\n */\nvar Fill = function Fill(opt_options) {\n\n var options = opt_options || {};\n\n /**\n * @private\n * @type {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike}\n */\n this.color_ = options.color !== undefined ? options.color : null;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.checksum_ = undefined;\n};\n\n/**\n * Clones the style. The color is not cloned if it is an {@link module:ol/colorlike~ColorLike}.\n * @return {Fill} The cloned style.\n * @api\n */\nFill.prototype.clone = function clone () {\n var color = this.getColor();\n return new Fill({\n color: Array.isArray(color) ? color.slice() : color || undefined\n });\n};\n\n/**\n * Get the fill color.\n * @return {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} Color.\n * @api\n */\nFill.prototype.getColor = function getColor () {\n return this.color_;\n};\n\n/**\n * Set the color.\n *\n * @param {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} color Color.\n * @api\n */\nFill.prototype.setColor = function setColor (color) {\n this.color_ = color;\n this.checksum_ = undefined;\n};\n\n/**\n * @return {string} The checksum.\n */\nFill.prototype.getChecksum = function getChecksum () {\n if (this.checksum_ === undefined) {\n var color = this.color_;\n if (color) {\n if (Array.isArray(color) || typeof color == 'string') {\n this.checksum_ = 'f' + asString(/** @type {import(\"../color.js\").Color|string} */ (color));\n } else {\n this.checksum_ = getUid(this.color_);\n }\n } else {\n this.checksum_ = 'f-';\n }\n }\n\n return this.checksum_;\n};\n\nexport default Fill;\n\n//# sourceMappingURL=Fill.js.map","/**\n * @module ol/style/Stroke\n */\nimport {getUid} from '../util.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} [color] A color, gradient or pattern.\n * See {@link module:ol/color~Color} and {@link module:ol/colorlike~ColorLike} for possible formats.\n * Default null; if null, the Canvas/renderer default black will be used.\n * @property {string} [lineCap='round'] Line cap style: `butt`, `round`, or `square`.\n * @property {string} [lineJoin='round'] Line join style: `bevel`, `round`, or `miter`.\n * @property {Array} [lineDash] Line dash pattern. Default is `undefined` (no dash).\n * Please note that Internet Explorer 10 and lower do not support the `setLineDash` method on\n * the `CanvasRenderingContext2D` and therefore this option will have no visual effect in these browsers.\n * @property {number} [lineDashOffset=0] Line dash offset.\n * @property {number} [miterLimit=10] Miter limit.\n * @property {number} [width] Width.\n */\n\n\n/**\n * @classdesc\n * Set stroke style for vector features.\n * Note that the defaults given are the Canvas defaults, which will be used if\n * option is not defined. The `get` functions return whatever was entered in\n * the options; they will not return the default.\n * @api\n */\nvar Stroke = function Stroke(opt_options) {\n\n var options = opt_options || {};\n\n /**\n * @private\n * @type {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike}\n */\n this.color_ = options.color !== undefined ? options.color : null;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.lineCap_ = options.lineCap;\n\n /**\n * @private\n * @type {Array}\n */\n this.lineDash_ = options.lineDash !== undefined ? options.lineDash : null;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.lineDashOffset_ = options.lineDashOffset;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.lineJoin_ = options.lineJoin;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.miterLimit_ = options.miterLimit;\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.width_ = options.width;\n\n /**\n * @private\n * @type {string|undefined}\n */\n this.checksum_ = undefined;\n};\n\n/**\n * Clones the style.\n * @return {Stroke} The cloned style.\n * @api\n */\nStroke.prototype.clone = function clone () {\n var color = this.getColor();\n return new Stroke({\n color: Array.isArray(color) ? color.slice() : color || undefined,\n lineCap: this.getLineCap(),\n lineDash: this.getLineDash() ? this.getLineDash().slice() : undefined,\n lineDashOffset: this.getLineDashOffset(),\n lineJoin: this.getLineJoin(),\n miterLimit: this.getMiterLimit(),\n width: this.getWidth()\n });\n};\n\n/**\n * Get the stroke color.\n * @return {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} Color.\n * @api\n */\nStroke.prototype.getColor = function getColor () {\n return this.color_;\n};\n\n/**\n * Get the line cap type for the stroke.\n * @return {string|undefined} Line cap.\n * @api\n */\nStroke.prototype.getLineCap = function getLineCap () {\n return this.lineCap_;\n};\n\n/**\n * Get the line dash style for the stroke.\n * @return {Array} Line dash.\n * @api\n */\nStroke.prototype.getLineDash = function getLineDash () {\n return this.lineDash_;\n};\n\n/**\n * Get the line dash offset for the stroke.\n * @return {number|undefined} Line dash offset.\n * @api\n */\nStroke.prototype.getLineDashOffset = function getLineDashOffset () {\n return this.lineDashOffset_;\n};\n\n/**\n * Get the line join type for the stroke.\n * @return {string|undefined} Line join.\n * @api\n */\nStroke.prototype.getLineJoin = function getLineJoin () {\n return this.lineJoin_;\n};\n\n/**\n * Get the miter limit for the stroke.\n * @return {number|undefined} Miter limit.\n * @api\n */\nStroke.prototype.getMiterLimit = function getMiterLimit () {\n return this.miterLimit_;\n};\n\n/**\n * Get the stroke width.\n * @return {number|undefined} Width.\n * @api\n */\nStroke.prototype.getWidth = function getWidth () {\n return this.width_;\n};\n\n/**\n * Set the color.\n *\n * @param {import(\"../color.js\").Color|import(\"../colorlike.js\").ColorLike} color Color.\n * @api\n */\nStroke.prototype.setColor = function setColor (color) {\n this.color_ = color;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line cap.\n *\n * @param {string|undefined} lineCap Line cap.\n * @api\n */\nStroke.prototype.setLineCap = function setLineCap (lineCap) {\n this.lineCap_ = lineCap;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line dash.\n *\n * Please note that Internet Explorer 10 and lower [do not support][mdn] the\n * `setLineDash` method on the `CanvasRenderingContext2D` and therefore this\n * property will have no visual effect in these browsers.\n *\n * [mdn]: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/setLineDash#Browser_compatibility\n *\n * @param {Array} lineDash Line dash.\n * @api\n */\nStroke.prototype.setLineDash = function setLineDash (lineDash) {\n this.lineDash_ = lineDash;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line dash offset.\n *\n * @param {number|undefined} lineDashOffset Line dash offset.\n * @api\n */\nStroke.prototype.setLineDashOffset = function setLineDashOffset (lineDashOffset) {\n this.lineDashOffset_ = lineDashOffset;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the line join.\n *\n * @param {string|undefined} lineJoin Line join.\n * @api\n */\nStroke.prototype.setLineJoin = function setLineJoin (lineJoin) {\n this.lineJoin_ = lineJoin;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the miter limit.\n *\n * @param {number|undefined} miterLimit Miter limit.\n * @api\n */\nStroke.prototype.setMiterLimit = function setMiterLimit (miterLimit) {\n this.miterLimit_ = miterLimit;\n this.checksum_ = undefined;\n};\n\n/**\n * Set the width.\n *\n * @param {number|undefined} width Width.\n * @api\n */\nStroke.prototype.setWidth = function setWidth (width) {\n this.width_ = width;\n this.checksum_ = undefined;\n};\n\n/**\n * @return {string} The checksum.\n */\nStroke.prototype.getChecksum = function getChecksum () {\n if (this.checksum_ === undefined) {\n this.checksum_ = 's';\n if (this.color_) {\n if (typeof this.color_ === 'string') {\n this.checksum_ += this.color_;\n } else {\n this.checksum_ += getUid(this.color_);\n }\n } else {\n this.checksum_ += '-';\n }\n this.checksum_ += ',' +\n (this.lineCap_ !== undefined ?\n this.lineCap_.toString() : '-') + ',' +\n (this.lineDash_ ?\n this.lineDash_.toString() : '-') + ',' +\n (this.lineDashOffset_ !== undefined ?\n this.lineDashOffset_ : '-') + ',' +\n (this.lineJoin_ !== undefined ?\n this.lineJoin_ : '-') + ',' +\n (this.miterLimit_ !== undefined ?\n this.miterLimit_.toString() : '-') + ',' +\n (this.width_ !== undefined ?\n this.width_.toString() : '-');\n }\n\n return this.checksum_;\n};\n\nexport default Stroke;\n\n//# sourceMappingURL=Stroke.js.map","/**\n * @module ol/events/Target\n */\nimport Disposable from '../Disposable.js';\nimport {unlistenAll} from '../events.js';\nimport {VOID} from '../functions.js';\nimport Event from './Event.js';\n\n\n/**\n * @typedef {EventTarget|Target} EventTargetLike\n */\n\n\n/**\n * @classdesc\n * A simplified implementation of the W3C DOM Level 2 EventTarget interface.\n * See https://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-EventTarget.\n *\n * There are two important simplifications compared to the specification:\n *\n * 1. The handling of `useCapture` in `addEventListener` and\n * `removeEventListener`. There is no real capture model.\n * 2. The handling of `stopPropagation` and `preventDefault` on `dispatchEvent`.\n * There is no event target hierarchy. When a listener calls\n * `stopPropagation` or `preventDefault` on an event object, it means that no\n * more listeners after this one will be called. Same as when the listener\n * returns false.\n */\nvar Target = /*@__PURE__*/(function (Disposable) {\n function Target() {\n\n Disposable.call(this);\n\n /**\n * @private\n * @type {!Object}\n */\n this.pendingRemovals_ = {};\n\n /**\n * @private\n * @type {!Object}\n */\n this.dispatching_ = {};\n\n /**\n * @private\n * @type {!Object>}\n */\n this.listeners_ = {};\n\n }\n\n if ( Disposable ) Target.__proto__ = Disposable;\n Target.prototype = Object.create( Disposable && Disposable.prototype );\n Target.prototype.constructor = Target;\n\n /**\n * @param {string} type Type.\n * @param {import(\"../events.js\").ListenerFunction} listener Listener.\n */\n Target.prototype.addEventListener = function addEventListener (type, listener) {\n var listeners = this.listeners_[type];\n if (!listeners) {\n listeners = this.listeners_[type] = [];\n }\n if (listeners.indexOf(listener) === -1) {\n listeners.push(listener);\n }\n };\n\n /**\n * Dispatches an event and calls all listeners listening for events\n * of this type. The event parameter can either be a string or an\n * Object with a `type` property.\n *\n * @param {{type: string,\n * target: (EventTargetLike|undefined),\n * propagationStopped: (boolean|undefined)}|\n * import(\"./Event.js\").default|string} event Event object.\n * @return {boolean|undefined} `false` if anyone called preventDefault on the\n * event object or if any of the listeners returned false.\n * @api\n */\n Target.prototype.dispatchEvent = function dispatchEvent (event) {\n var evt = typeof event === 'string' ? new Event(event) : event;\n var type = evt.type;\n evt.target = this;\n var listeners = this.listeners_[type];\n var propagate;\n if (listeners) {\n if (!(type in this.dispatching_)) {\n this.dispatching_[type] = 0;\n this.pendingRemovals_[type] = 0;\n }\n ++this.dispatching_[type];\n for (var i = 0, ii = listeners.length; i < ii; ++i) {\n if (listeners[i].call(this, evt) === false || evt.propagationStopped) {\n propagate = false;\n break;\n }\n }\n --this.dispatching_[type];\n if (this.dispatching_[type] === 0) {\n var pendingRemovals = this.pendingRemovals_[type];\n delete this.pendingRemovals_[type];\n while (pendingRemovals--) {\n this.removeEventListener(type, VOID);\n }\n delete this.dispatching_[type];\n }\n return propagate;\n }\n };\n\n /**\n * @inheritDoc\n */\n Target.prototype.disposeInternal = function disposeInternal () {\n unlistenAll(this);\n };\n\n /**\n * Get the listeners for a specified event type. Listeners are returned in the\n * order that they will be called in.\n *\n * @param {string} type Type.\n * @return {Array} Listeners.\n */\n Target.prototype.getListeners = function getListeners (type) {\n return this.listeners_[type];\n };\n\n /**\n * @param {string=} opt_type Type. If not provided,\n * `true` will be returned if this event target has any listeners.\n * @return {boolean} Has listeners.\n */\n Target.prototype.hasListener = function hasListener (opt_type) {\n return opt_type ?\n opt_type in this.listeners_ :\n Object.keys(this.listeners_).length > 0;\n };\n\n /**\n * @param {string} type Type.\n * @param {import(\"../events.js\").ListenerFunction} listener Listener.\n */\n Target.prototype.removeEventListener = function removeEventListener (type, listener) {\n var listeners = this.listeners_[type];\n if (listeners) {\n var index = listeners.indexOf(listener);\n if (type in this.pendingRemovals_) {\n // make listener a no-op, and remove later in #dispatchEvent()\n listeners[index] = VOID;\n ++this.pendingRemovals_[type];\n } else {\n listeners.splice(index, 1);\n if (listeners.length === 0) {\n delete this.listeners_[type];\n }\n }\n }\n };\n\n return Target;\n}(Disposable));\n\n\nexport default Target;\n\n//# sourceMappingURL=Target.js.map","/**\n * @module ol/color\n */\nimport {assert} from './asserts.js';\nimport {clamp} from './math.js';\n\n\n/**\n * A color represented as a short array [red, green, blue, alpha].\n * red, green, and blue should be integers in the range 0..255 inclusive.\n * alpha should be a float in the range 0..1 inclusive. If no alpha value is\n * given then `1` will be used.\n * @typedef {Array} Color\n * @api\n */\n\n\n/**\n * This RegExp matches # followed by 3, 4, 6, or 8 hex digits.\n * @const\n * @type {RegExp}\n * @private\n */\nvar HEX_COLOR_RE_ = /^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i;\n\n\n/**\n * Regular expression for matching potential named color style strings.\n * @const\n * @type {RegExp}\n * @private\n */\nvar NAMED_COLOR_RE_ = /^([a-z]*)$/i;\n\n\n/**\n * Return the color as an rgba string.\n * @param {Color|string} color Color.\n * @return {string} Rgba string.\n * @api\n */\nexport function asString(color) {\n if (typeof color === 'string') {\n return color;\n } else {\n return toString(color);\n }\n}\n\n/**\n * Return named color as an rgba string.\n * @param {string} color Named color.\n * @return {string} Rgb string.\n */\nfunction fromNamed(color) {\n var el = document.createElement('div');\n el.style.color = color;\n if (el.style.color !== '') {\n document.body.appendChild(el);\n var rgb = getComputedStyle(el).color;\n document.body.removeChild(el);\n return rgb;\n } else {\n return '';\n }\n}\n\n\n/**\n * @param {string} s String.\n * @return {Color} Color.\n */\nexport var fromString = (\n function() {\n\n // We maintain a small cache of parsed strings. To provide cheap LRU-like\n // semantics, whenever the cache grows too large we simply delete an\n // arbitrary 25% of the entries.\n\n /**\n * @const\n * @type {number}\n */\n var MAX_CACHE_SIZE = 1024;\n\n /**\n * @type {Object}\n */\n var cache = {};\n\n /**\n * @type {number}\n */\n var cacheSize = 0;\n\n return (\n /**\n * @param {string} s String.\n * @return {Color} Color.\n */\n function(s) {\n var color;\n if (cache.hasOwnProperty(s)) {\n color = cache[s];\n } else {\n if (cacheSize >= MAX_CACHE_SIZE) {\n var i = 0;\n for (var key in cache) {\n if ((i++ & 3) === 0) {\n delete cache[key];\n --cacheSize;\n }\n }\n }\n color = fromStringInternal_(s);\n cache[s] = color;\n ++cacheSize;\n }\n return color;\n }\n );\n\n })();\n\n/**\n * Return the color as an array. This function maintains a cache of calculated\n * arrays which means the result should not be modified.\n * @param {Color|string} color Color.\n * @return {Color} Color.\n * @api\n */\nexport function asArray(color) {\n if (Array.isArray(color)) {\n return color;\n } else {\n return fromString(color);\n }\n}\n\n/**\n * @param {string} s String.\n * @private\n * @return {Color} Color.\n */\nfunction fromStringInternal_(s) {\n var r, g, b, a, color;\n\n if (NAMED_COLOR_RE_.exec(s)) {\n s = fromNamed(s);\n }\n\n if (HEX_COLOR_RE_.exec(s)) { // hex\n var n = s.length - 1; // number of hex digits\n var d; // number of digits per channel\n if (n <= 4) {\n d = 1;\n } else {\n d = 2;\n }\n var hasAlpha = n === 4 || n === 8;\n r = parseInt(s.substr(1 + 0 * d, d), 16);\n g = parseInt(s.substr(1 + 1 * d, d), 16);\n b = parseInt(s.substr(1 + 2 * d, d), 16);\n if (hasAlpha) {\n a = parseInt(s.substr(1 + 3 * d, d), 16);\n } else {\n a = 255;\n }\n if (d == 1) {\n r = (r << 4) + r;\n g = (g << 4) + g;\n b = (b << 4) + b;\n if (hasAlpha) {\n a = (a << 4) + a;\n }\n }\n color = [r, g, b, a / 255];\n } else if (s.indexOf('rgba(') == 0) { // rgba()\n color = s.slice(5, -1).split(',').map(Number);\n normalize(color);\n } else if (s.indexOf('rgb(') == 0) { // rgb()\n color = s.slice(4, -1).split(',').map(Number);\n color.push(1);\n normalize(color);\n } else {\n assert(false, 14); // Invalid color\n }\n return color;\n}\n\n\n/**\n * TODO this function is only used in the test, we probably shouldn't export it\n * @param {Color} color Color.\n * @return {Color} Clamped color.\n */\nexport function normalize(color) {\n color[0] = clamp((color[0] + 0.5) | 0, 0, 255);\n color[1] = clamp((color[1] + 0.5) | 0, 0, 255);\n color[2] = clamp((color[2] + 0.5) | 0, 0, 255);\n color[3] = clamp(color[3], 0, 1);\n return color;\n}\n\n\n/**\n * @param {Color} color Color.\n * @return {string} String.\n */\nexport function toString(color) {\n var r = color[0];\n if (r != (r | 0)) {\n r = (r + 0.5) | 0;\n }\n var g = color[1];\n if (g != (g | 0)) {\n g = (g + 0.5) | 0;\n }\n var b = color[2];\n if (b != (b | 0)) {\n b = (b + 0.5) | 0;\n }\n var a = color[3] === undefined ? 1 : color[3];\n return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';\n}\n\n//# sourceMappingURL=color.js.map","/**\n * @module ol/tilegrid/TileGrid\n */\nimport {DEFAULT_TILE_SIZE} from './common.js';\nimport {assert} from '../asserts.js';\nimport TileRange, {createOrUpdate as createOrUpdateTileRange} from '../TileRange.js';\nimport {isSorted, linearFindNearest} from '../array.js';\nimport {createOrUpdate, getTopLeft} from '../extent.js';\nimport {clamp} from '../math.js';\nimport {toSize} from '../size.js';\nimport {createOrUpdate as createOrUpdateTileCoord} from '../tilecoord.js';\n\n\n/**\n * @private\n * @type {import(\"../tilecoord.js\").TileCoord}\n */\nvar tmpTileCoord = [0, 0, 0];\n\n\n/**\n * @typedef {Object} Options\n * @property {import(\"../extent.js\").Extent} [extent] Extent for the tile grid. No tiles outside this\n * extent will be requested by {@link module:ol/source/Tile} sources. When no `origin` or\n * `origins` are configured, the `origin` will be set to the top-left corner of the extent.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {import(\"../coordinate.js\").Coordinate} [origin] The tile grid origin, i.e. where the `x`\n * and `y` axes meet (`[z, 0, 0]`). Tile coordinates increase left to right and upwards. If not\n * specified, `extent` or `origins` must be provided.\n * @property {Array} [origins] Tile grid origins, i.e. where\n * the `x` and `y` axes meet (`[z, 0, 0]`), for each zoom level. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * origin. Tile coordinates increase left to right and upwards. If not specified, `extent` or\n * `origin` must be provided.\n * @property {!Array} resolutions Resolutions. The array index of each resolution needs\n * to match the zoom level. This means that even if a `minZoom` is configured, the resolutions\n * array will have a length of `maxZoom + 1`.\n * @property {Array} [sizes] Sizes.\n * @property {number|import(\"../size.js\").Size} [tileSize] Tile size.\n * Default is `[256, 256]`.\n * @property {Array} [tileSizes] Tile sizes. If given, the array length\n * should match the length of the `resolutions` array, i.e. each resolution can have a different\n * tile size.\n */\n\n\n/**\n * @classdesc\n * Base class for setting the grid pattern for sources accessing tiled-image\n * servers.\n * @api\n */\nvar TileGrid = function TileGrid(options) {\n\n /**\n * @protected\n * @type {number}\n */\n this.minZoom = options.minZoom !== undefined ? options.minZoom : 0;\n\n /**\n * @private\n * @type {!Array}\n */\n this.resolutions_ = options.resolutions;\n assert(isSorted(this.resolutions_, function(a, b) {\n return b - a;\n }, true), 17); // `resolutions` must be sorted in descending order\n\n\n // check if we've got a consistent zoom factor and origin\n var zoomFactor;\n if (!options.origins) {\n for (var i = 0, ii = this.resolutions_.length - 1; i < ii; ++i) {\n if (!zoomFactor) {\n zoomFactor = this.resolutions_[i] / this.resolutions_[i + 1];\n } else {\n if (this.resolutions_[i] / this.resolutions_[i + 1] !== zoomFactor) {\n zoomFactor = undefined;\n break;\n }\n }\n }\n }\n\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.zoomFactor_ = zoomFactor;\n\n\n /**\n * @protected\n * @type {number}\n */\n this.maxZoom = this.resolutions_.length - 1;\n\n /**\n * @private\n * @type {import(\"../coordinate.js\").Coordinate}\n */\n this.origin_ = options.origin !== undefined ? options.origin : null;\n\n /**\n * @private\n * @type {Array}\n */\n this.origins_ = null;\n if (options.origins !== undefined) {\n this.origins_ = options.origins;\n assert(this.origins_.length == this.resolutions_.length,\n 20); // Number of `origins` and `resolutions` must be equal\n }\n\n var extent = options.extent;\n\n if (extent !== undefined &&\n !this.origin_ && !this.origins_) {\n this.origin_ = getTopLeft(extent);\n }\n\n assert(\n (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_),\n 18); // Either `origin` or `origins` must be configured, never both\n\n /**\n * @private\n * @type {Array}\n */\n this.tileSizes_ = null;\n if (options.tileSizes !== undefined) {\n this.tileSizes_ = options.tileSizes;\n assert(this.tileSizes_.length == this.resolutions_.length,\n 19); // Number of `tileSizes` and `resolutions` must be equal\n }\n\n /**\n * @private\n * @type {number|import(\"../size.js\").Size}\n */\n this.tileSize_ = options.tileSize !== undefined ?\n options.tileSize :\n !this.tileSizes_ ? DEFAULT_TILE_SIZE : null;\n assert(\n (!this.tileSize_ && this.tileSizes_) ||\n (this.tileSize_ && !this.tileSizes_),\n 22); // Either `tileSize` or `tileSizes` must be configured, never both\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = extent !== undefined ? extent : null;\n\n\n /**\n * @private\n * @type {Array}\n */\n this.fullTileRanges_ = null;\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.tmpSize_ = [0, 0];\n\n if (options.sizes !== undefined) {\n this.fullTileRanges_ = options.sizes.map(function(size, z) {\n var tileRange = new TileRange(\n Math.min(0, size[0]), Math.max(size[0] - 1, -1),\n Math.min(0, size[1]), Math.max(size[1] - 1, -1));\n return tileRange;\n }, this);\n } else if (extent) {\n this.calculateTileRanges_(extent);\n }\n\n};\n\n/**\n * Call a function with each tile coordinate for a given extent and zoom level.\n *\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} zoom Integer zoom level.\n * @param {function(import(\"../tilecoord.js\").TileCoord)} callback Function called with each tile coordinate.\n * @api\n */\nTileGrid.prototype.forEachTileCoord = function forEachTileCoord (extent, zoom, callback) {\n var tileRange = this.getTileRangeForExtentAndZ(extent, zoom);\n for (var i = tileRange.minX, ii = tileRange.maxX; i <= ii; ++i) {\n for (var j = tileRange.minY, jj = tileRange.maxY; j <= jj; ++j) {\n callback([zoom, i, j]);\n }\n }\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {function(this: T, number, import(\"../TileRange.js\").default): boolean} callback Callback.\n * @param {T=} opt_this The object to use as `this` in `callback`.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {boolean} Callback succeeded.\n * @template T\n */\nTileGrid.prototype.forEachTileCoordParentTileRange = function forEachTileCoordParentTileRange (tileCoord, callback, opt_this, opt_tileRange, opt_extent) {\n var tileRange, x, y;\n var tileCoordExtent = null;\n var z = tileCoord[0] - 1;\n if (this.zoomFactor_ === 2) {\n x = tileCoord[1];\n y = tileCoord[2];\n } else {\n tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent);\n }\n while (z >= this.minZoom) {\n if (this.zoomFactor_ === 2) {\n x = Math.floor(x / 2);\n y = Math.floor(y / 2);\n tileRange = createOrUpdateTileRange(x, x, y, y, opt_tileRange);\n } else {\n tileRange = this.getTileRangeForExtentAndZ(tileCoordExtent, z, opt_tileRange);\n }\n if (callback.call(opt_this, z, tileRange)) {\n return true;\n }\n --z;\n }\n return false;\n};\n\n/**\n * Get the extent for this tile grid, if it was configured.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\nTileGrid.prototype.getExtent = function getExtent () {\n return this.extent_;\n};\n\n/**\n * Get the maximum zoom level for the grid.\n * @return {number} Max zoom.\n * @api\n */\nTileGrid.prototype.getMaxZoom = function getMaxZoom () {\n return this.maxZoom;\n};\n\n/**\n * Get the minimum zoom level for the grid.\n * @return {number} Min zoom.\n * @api\n */\nTileGrid.prototype.getMinZoom = function getMinZoom () {\n return this.minZoom;\n};\n\n/**\n * Get the origin for the grid at the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {import(\"../coordinate.js\").Coordinate} Origin.\n * @api\n */\nTileGrid.prototype.getOrigin = function getOrigin (z) {\n if (this.origin_) {\n return this.origin_;\n } else {\n return this.origins_[z];\n }\n};\n\n/**\n * Get the resolution for the given zoom level.\n * @param {number} z Integer zoom level.\n * @return {number} Resolution.\n * @api\n */\nTileGrid.prototype.getResolution = function getResolution (z) {\n return this.resolutions_[z];\n};\n\n/**\n * Get the list of resolutions for the tile grid.\n * @return {Array} Resolutions.\n * @api\n */\nTileGrid.prototype.getResolutions = function getResolutions () {\n return this.resolutions_;\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary import(\"../TileRange.js\").default object.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../TileRange.js\").default} Tile range.\n */\nTileGrid.prototype.getTileCoordChildTileRange = function getTileCoordChildTileRange (tileCoord, opt_tileRange, opt_extent) {\n if (tileCoord[0] < this.maxZoom) {\n if (this.zoomFactor_ === 2) {\n var minX = tileCoord[1] * 2;\n var minY = tileCoord[2] * 2;\n return createOrUpdateTileRange(minX, minX + 1, minY, minY + 1, opt_tileRange);\n }\n var tileCoordExtent = this.getTileCoordExtent(tileCoord, opt_extent);\n return this.getTileRangeForExtentAndZ(\n tileCoordExtent, tileCoord[0] + 1, opt_tileRange);\n }\n return null;\n};\n\n/**\n * Get the extent for a tile range.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default} tileRange Tile range.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary import(\"../extent.js\").Extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n */\nTileGrid.prototype.getTileRangeExtent = function getTileRangeExtent (z, tileRange, opt_extent) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n var minX = origin[0] + tileRange.minX * tileSize[0] * resolution;\n var maxX = origin[0] + (tileRange.maxX + 1) * tileSize[0] * resolution;\n var minY = origin[1] + tileRange.minY * tileSize[1] * resolution;\n var maxY = origin[1] + (tileRange.maxY + 1) * tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n};\n\n/**\n * Get a tile range for the given extent and integer zoom level.\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @param {number} z Integer zoom level.\n * @param {import(\"../TileRange.js\").default=} opt_tileRange Temporary tile range object.\n * @return {import(\"../TileRange.js\").default} Tile range.\n */\nTileGrid.prototype.getTileRangeForExtentAndZ = function getTileRangeForExtentAndZ (extent, z, opt_tileRange) {\n var tileCoord = tmpTileCoord;\n this.getTileCoordForXYAndZ_(extent[0], extent[1], z, false, tileCoord);\n var minX = tileCoord[1];\n var minY = tileCoord[2];\n this.getTileCoordForXYAndZ_(extent[2], extent[3], z, true, tileCoord);\n return createOrUpdateTileRange(minX, tileCoord[1], minY, tileCoord[2], opt_tileRange);\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {import(\"../coordinate.js\").Coordinate} Tile center.\n */\nTileGrid.prototype.getTileCoordCenter = function getTileCoordCenter (tileCoord) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n return [\n origin[0] + (tileCoord[1] + 0.5) * tileSize[0] * resolution,\n origin[1] + (tileCoord[2] + 0.5) * tileSize[1] * resolution\n ];\n};\n\n/**\n * Get the extent of a tile coordinate.\n *\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"../extent.js\").Extent=} opt_extent Temporary extent object.\n * @return {import(\"../extent.js\").Extent} Extent.\n * @api\n */\nTileGrid.prototype.getTileCoordExtent = function getTileCoordExtent (tileCoord, opt_extent) {\n var origin = this.getOrigin(tileCoord[0]);\n var resolution = this.getResolution(tileCoord[0]);\n var tileSize = toSize(this.getTileSize(tileCoord[0]), this.tmpSize_);\n var minX = origin[0] + tileCoord[1] * tileSize[0] * resolution;\n var minY = origin[1] + tileCoord[2] * tileSize[1] * resolution;\n var maxX = minX + tileSize[0] * resolution;\n var maxY = minY + tileSize[1] * resolution;\n return createOrUpdate(minX, minY, maxX, maxY, opt_extent);\n};\n\n/**\n * Get the tile coordinate for the given map coordinate and resolution.This\n * method considers that coordinates that intersect tile boundaries should be\n * assigned the higher tile coordinate.\n *\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} resolution Resolution.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\nTileGrid.prototype.getTileCoordForCoordAndResolution = function getTileCoordForCoordAndResolution (coordinate, resolution, opt_tileCoord) {\n return this.getTileCoordForXYAndResolution_(\n coordinate[0], coordinate[1], resolution, false, opt_tileCoord);\n};\n\n/**\n * Note that this method should not be called for resolutions that correspond\n * to an integer zoom level.Instead call the `getTileCoordForXYAndZ_` method.\n * @param {number} x X.\n * @param {number} y Y.\n * @param {number} resolution Resolution (for a non-integer zoom level).\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\nTileGrid.prototype.getTileCoordForXYAndResolution_ = function getTileCoordForXYAndResolution_ (x, y, resolution, reverseIntersectionPolicy, opt_tileCoord) {\n var z = this.getZForResolution(resolution);\n var scale = resolution / this.getResolution(z);\n var origin = this.getOrigin(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n\n var adjustX = reverseIntersectionPolicy ? 0.5 : 0;\n var adjustY = reverseIntersectionPolicy ? 0 : 0.5;\n var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX);\n var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY);\n var tileCoordX = scale * xFromOrigin / tileSize[0];\n var tileCoordY = scale * yFromOrigin / tileSize[1];\n\n if (reverseIntersectionPolicy) {\n tileCoordX = Math.ceil(tileCoordX) - 1;\n tileCoordY = Math.ceil(tileCoordY) - 1;\n } else {\n tileCoordX = Math.floor(tileCoordX);\n tileCoordY = Math.floor(tileCoordY);\n }\n\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n};\n\n/**\n * Although there is repetition between this method and `getTileCoordForXYAndResolution_`,\n * they should have separate implementations.This method is for integer zoom\n * levels.The other method should only be called for resolutions corresponding\n * to non-integer zoom levels.\n * @param {number} x Map x coordinate.\n * @param {number} y Map y coordinate.\n * @param {number} z Integer zoom level.\n * @param {boolean} reverseIntersectionPolicy Instead of letting edge\n * intersections go to the higher tile coordinate, let edge intersections\n * go to the lower tile coordinate.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Temporary import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @private\n */\nTileGrid.prototype.getTileCoordForXYAndZ_ = function getTileCoordForXYAndZ_ (x, y, z, reverseIntersectionPolicy, opt_tileCoord) {\n var origin = this.getOrigin(z);\n var resolution = this.getResolution(z);\n var tileSize = toSize(this.getTileSize(z), this.tmpSize_);\n\n var adjustX = reverseIntersectionPolicy ? 0.5 : 0;\n var adjustY = reverseIntersectionPolicy ? 0 : 0.5;\n var xFromOrigin = Math.floor((x - origin[0]) / resolution + adjustX);\n var yFromOrigin = Math.floor((y - origin[1]) / resolution + adjustY);\n var tileCoordX = xFromOrigin / tileSize[0];\n var tileCoordY = yFromOrigin / tileSize[1];\n\n if (reverseIntersectionPolicy) {\n tileCoordX = Math.ceil(tileCoordX) - 1;\n tileCoordY = Math.ceil(tileCoordY) - 1;\n } else {\n tileCoordX = Math.floor(tileCoordX);\n tileCoordY = Math.floor(tileCoordY);\n }\n\n return createOrUpdateTileCoord(z, tileCoordX, tileCoordY, opt_tileCoord);\n};\n\n/**\n * Get a tile coordinate given a map coordinate and zoom level.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @param {number} z Zoom level.\n * @param {import(\"../tilecoord.js\").TileCoord=} opt_tileCoord Destination import(\"../tilecoord.js\").TileCoord object.\n * @return {import(\"../tilecoord.js\").TileCoord} Tile coordinate.\n * @api\n */\nTileGrid.prototype.getTileCoordForCoordAndZ = function getTileCoordForCoordAndZ (coordinate, z, opt_tileCoord) {\n return this.getTileCoordForXYAndZ_(\n coordinate[0], coordinate[1], z, false, opt_tileCoord);\n};\n\n/**\n * @param {import(\"../tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @return {number} Tile resolution.\n */\nTileGrid.prototype.getTileCoordResolution = function getTileCoordResolution (tileCoord) {\n return this.resolutions_[tileCoord[0]];\n};\n\n/**\n * Get the tile size for a zoom level. The type of the return value matches the\n * `tileSize` or `tileSizes` that the tile grid was configured with. To always\n * get an `import(\"../size.js\").Size`, run the result through `import(\"../size.js\").Size.toSize()`.\n * @param {number} z Z.\n * @return {number|import(\"../size.js\").Size} Tile size.\n * @api\n */\nTileGrid.prototype.getTileSize = function getTileSize (z) {\n if (this.tileSize_) {\n return this.tileSize_;\n } else {\n return this.tileSizes_[z];\n }\n};\n\n/**\n * @param {number} z Zoom level.\n * @return {import(\"../TileRange.js\").default} Extent tile range for the specified zoom level.\n */\nTileGrid.prototype.getFullTileRange = function getFullTileRange (z) {\n if (!this.fullTileRanges_) {\n return null;\n } else {\n return this.fullTileRanges_[z];\n }\n};\n\n/**\n * @param {number} resolution Resolution.\n * @param {number=} opt_direction If 0, the nearest resolution will be used.\n * If 1, the nearest lower resolution will be used. If -1, the nearest\n * higher resolution will be used. Default is 0.\n * @return {number} Z.\n * @api\n */\nTileGrid.prototype.getZForResolution = function getZForResolution (resolution, opt_direction) {\n var z = linearFindNearest(this.resolutions_, resolution, opt_direction || 0);\n return clamp(z, this.minZoom, this.maxZoom);\n};\n\n/**\n * @param {!import(\"../extent.js\").Extent} extent Extent for this tile grid.\n * @private\n */\nTileGrid.prototype.calculateTileRanges_ = function calculateTileRanges_ (extent) {\n var length = this.resolutions_.length;\n var fullTileRanges = new Array(length);\n for (var z = this.minZoom; z < length; ++z) {\n fullTileRanges[z] = this.getTileRangeForExtentAndZ(extent, z);\n }\n this.fullTileRanges_ = fullTileRanges;\n};\n\n\nexport default TileGrid;\n\n//# sourceMappingURL=TileGrid.js.map","/**\n * @module ol/tilegrid\n */\nimport {DEFAULT_MAX_ZOOM, DEFAULT_TILE_SIZE} from './tilegrid/common.js';\nimport {toSize} from './size.js';\nimport {containsCoordinate, createOrUpdate, getCorner, getHeight, getWidth} from './extent.js';\nimport Corner from './extent/Corner.js';\nimport {get as getProjection, METERS_PER_UNIT} from './proj.js';\nimport Units from './proj/Units.js';\nimport TileGrid from './tilegrid/TileGrid.js';\n\n\n/**\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {!TileGrid} Default tile grid for the\n * passed projection.\n */\nexport function getForProjection(projection) {\n var tileGrid = projection.getDefaultTileGrid();\n if (!tileGrid) {\n tileGrid = createForProjection(projection);\n projection.setDefaultTileGrid(tileGrid);\n }\n return tileGrid;\n}\n\n\n/**\n * @param {TileGrid} tileGrid Tile grid.\n * @param {import(\"./tilecoord.js\").TileCoord} tileCoord Tile coordinate.\n * @param {import(\"./proj/Projection.js\").default} projection Projection.\n * @return {import(\"./tilecoord.js\").TileCoord} Tile coordinate.\n */\nexport function wrapX(tileGrid, tileCoord, projection) {\n var z = tileCoord[0];\n var center = tileGrid.getTileCoordCenter(tileCoord);\n var projectionExtent = extentFromProjection(projection);\n if (!containsCoordinate(projectionExtent, center)) {\n var worldWidth = getWidth(projectionExtent);\n var worldsAway = Math.ceil((projectionExtent[0] - center[0]) / worldWidth);\n center[0] += worldWidth * worldsAway;\n return tileGrid.getTileCoordForCoordAndZ(center, z);\n } else {\n return tileCoord;\n }\n}\n\n\n/**\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {Corner=} opt_corner Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner) {\n var corner = opt_corner !== undefined ? opt_corner : Corner.TOP_LEFT;\n\n var resolutions = resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize);\n\n return new TileGrid({\n extent: extent,\n origin: getCorner(extent, corner),\n resolutions: resolutions,\n tileSize: opt_tileSize\n });\n}\n\n\n/**\n * @typedef {Object} XYZOptions\n * @property {import(\"./extent.js\").Extent} [extent] Extent for the tile grid. The origin for an XYZ tile grid is the\n * top-left corner of the extent. The zero level of the grid is defined by the resolution at which one tile fits in the\n * provided extent. If not provided, the extent of the EPSG:3857 projection is used.\n * @property {number} [maxZoom] Maximum zoom. The default is `42`. This determines the number of levels\n * in the grid set. For example, a `maxZoom` of 21 means there are 22 levels in the grid set.\n * @property {number} [minZoom=0] Minimum zoom.\n * @property {number|import(\"./size.js\").Size} [tileSize=[256, 256]] Tile size in pixels.\n */\n\n\n/**\n * Creates a tile grid with a standard XYZ tiling scheme.\n * @param {XYZOptions=} opt_options Tile grid options.\n * @return {!TileGrid} Tile grid instance.\n * @api\n */\nexport function createXYZ(opt_options) {\n /** @type {XYZOptions} */\n var xyzOptions = opt_options || {};\n\n var extent = xyzOptions.extent || getProjection('EPSG:3857').getExtent();\n\n /** @type {import(\"./tilegrid/TileGrid.js\").Options} */\n var gridOptions = {\n extent: extent,\n minZoom: xyzOptions.minZoom,\n tileSize: xyzOptions.tileSize,\n resolutions: resolutionsFromExtent(\n extent,\n xyzOptions.maxZoom,\n xyzOptions.tileSize\n )\n };\n return new TileGrid(gridOptions);\n}\n\n\n/**\n * Create a resolutions array from an extent. A zoom factor of 2 is assumed.\n * @param {import(\"./extent.js\").Extent} extent Extent.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @return {!Array} Resolutions array.\n */\nfunction resolutionsFromExtent(extent, opt_maxZoom, opt_tileSize) {\n var maxZoom = opt_maxZoom !== undefined ?\n opt_maxZoom : DEFAULT_MAX_ZOOM;\n\n var height = getHeight(extent);\n var width = getWidth(extent);\n\n var tileSize = toSize(opt_tileSize !== undefined ?\n opt_tileSize : DEFAULT_TILE_SIZE);\n var maxResolution = Math.max(\n width / tileSize[0], height / tileSize[1]);\n\n var length = maxZoom + 1;\n var resolutions = new Array(length);\n for (var z = 0; z < length; ++z) {\n resolutions[z] = maxResolution / Math.pow(2, z);\n }\n return resolutions;\n}\n\n\n/**\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @param {number=} opt_maxZoom Maximum zoom level (default is\n * DEFAULT_MAX_ZOOM).\n * @param {number|import(\"./size.js\").Size=} opt_tileSize Tile size (default uses\n * DEFAULT_TILE_SIZE).\n * @param {Corner=} opt_corner Extent corner (default is `'top-left'`).\n * @return {!TileGrid} TileGrid instance.\n */\nexport function createForProjection(projection, opt_maxZoom, opt_tileSize, opt_corner) {\n var extent = extentFromProjection(projection);\n return createForExtent(extent, opt_maxZoom, opt_tileSize, opt_corner);\n}\n\n\n/**\n * Generate a tile grid extent from a projection. If the projection has an\n * extent, it is used. If not, a global extent is assumed.\n * @param {import(\"./proj.js\").ProjectionLike} projection Projection.\n * @return {import(\"./extent.js\").Extent} Extent.\n */\nexport function extentFromProjection(projection) {\n projection = getProjection(projection);\n var extent = projection.getExtent();\n if (!extent) {\n var half = 180 * METERS_PER_UNIT[Units.DEGREES] / projection.getMetersPerUnit();\n extent = createOrUpdate(-half, -half, half, half);\n }\n return extent;\n}\n\n//# sourceMappingURL=tilegrid.js.map","/**\n * @module ol/string\n */\n\n/**\n * @param {number} number Number to be formatted\n * @param {number} width The desired width\n * @param {number=} opt_precision Precision of the output string (i.e. number of decimal places)\n * @returns {string} Formatted string\n */\nexport function padNumber(number, width, opt_precision) {\n var numberString = opt_precision !== undefined ? number.toFixed(opt_precision) : '' + number;\n var decimal = numberString.indexOf('.');\n decimal = decimal === -1 ? numberString.length : decimal;\n return decimal > width ? numberString : new Array(1 + width - decimal).join('0') + numberString;\n}\n\n\n/**\n * Adapted from https://github.com/omichelsen/compare-versions/blob/master/index.js\n * @param {string|number} v1 First version\n * @param {string|number} v2 Second version\n * @returns {number} Value\n */\nexport function compareVersions(v1, v2) {\n var s1 = ('' + v1).split('.');\n var s2 = ('' + v2).split('.');\n\n for (var i = 0; i < Math.max(s1.length, s2.length); i++) {\n var n1 = parseInt(s1[i] || '0', 10);\n var n2 = parseInt(s2[i] || '0', 10);\n\n if (n1 > n2) {\n return 1;\n }\n if (n2 > n1) {\n return -1;\n }\n }\n\n return 0;\n}\n\n//# sourceMappingURL=string.js.map","/**\n * @module ol/coordinate\n */\nimport {modulo} from './math.js';\nimport {padNumber} from './string.js';\n\n\n/**\n * An array of numbers representing an xy coordinate. Example: `[16, 48]`.\n * @typedef {Array} Coordinate\n * @api\n */\n\n\n/**\n * A function that takes a {@link module:ol/coordinate~Coordinate} and\n * transforms it into a `{string}`.\n *\n * @typedef {function((Coordinate|undefined)): string} CoordinateFormat\n * @api\n */\n\n\n/**\n * Add `delta` to `coordinate`. `coordinate` is modified in place and returned\n * by the function.\n *\n * Example:\n *\n * import {add} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * add(coord, [-2, 4]);\n * // coord is now [5.85, 51.983333]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {Coordinate} delta Delta.\n * @return {Coordinate} The input coordinate adjusted by\n * the given delta.\n * @api\n */\nexport function add(coordinate, delta) {\n coordinate[0] += delta[0];\n coordinate[1] += delta[1];\n return coordinate;\n}\n\n\n/**\n * Calculates the point closest to the passed coordinate on the passed circle.\n *\n * @param {Coordinate} coordinate The coordinate.\n * @param {import(\"./geom/Circle.js\").default} circle The circle.\n * @return {Coordinate} Closest point on the circumference.\n */\nexport function closestOnCircle(coordinate, circle) {\n var r = circle.getRadius();\n var center = circle.getCenter();\n var x0 = center[0];\n var y0 = center[1];\n var x1 = coordinate[0];\n var y1 = coordinate[1];\n\n var dx = x1 - x0;\n var dy = y1 - y0;\n if (dx === 0 && dy === 0) {\n dx = 1;\n }\n var d = Math.sqrt(dx * dx + dy * dy);\n\n var x = x0 + r * dx / d;\n var y = y0 + r * dy / d;\n\n return [x, y];\n}\n\n\n/**\n * Calculates the point closest to the passed coordinate on the passed segment.\n * This is the foot of the perpendicular of the coordinate to the segment when\n * the foot is on the segment, or the closest segment coordinate when the foot\n * is outside the segment.\n *\n * @param {Coordinate} coordinate The coordinate.\n * @param {Array} segment The two coordinates\n * of the segment.\n * @return {Coordinate} The foot of the perpendicular of\n * the coordinate to the segment.\n */\nexport function closestOnSegment(coordinate, segment) {\n var x0 = coordinate[0];\n var y0 = coordinate[1];\n var start = segment[0];\n var end = segment[1];\n var x1 = start[0];\n var y1 = start[1];\n var x2 = end[0];\n var y2 = end[1];\n var dx = x2 - x1;\n var dy = y2 - y1;\n var along = (dx === 0 && dy === 0) ? 0 :\n ((dx * (x0 - x1)) + (dy * (y0 - y1))) / ((dx * dx + dy * dy) || 0);\n var x, y;\n if (along <= 0) {\n x = x1;\n y = y1;\n } else if (along >= 1) {\n x = x2;\n y = y2;\n } else {\n x = x1 + along * dx;\n y = y1 + along * dy;\n }\n return [x, y];\n}\n\n\n/**\n * Returns a {@link module:ol/coordinate~CoordinateFormat} function that can be\n * used to format\n * a {Coordinate} to a string.\n *\n * Example without specifying the fractional digits:\n *\n * import {createStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var stringifyFunc = createStringXY();\n * var out = stringifyFunc(coord);\n * // out is now '8, 48'\n *\n * Example with explicitly specifying 2 fractional digits:\n *\n * import {createStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var stringifyFunc = createStringXY(2);\n * var out = stringifyFunc(coord);\n * // out is now '7.85, 47.98'\n *\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {CoordinateFormat} Coordinate format.\n * @api\n */\nexport function createStringXY(opt_fractionDigits) {\n return (\n /**\n * @param {Coordinate} coordinate Coordinate.\n * @return {string} String XY.\n */\n function(coordinate) {\n return toStringXY(coordinate, opt_fractionDigits);\n }\n );\n}\n\n\n/**\n * @param {string} hemispheres Hemispheres.\n * @param {number} degrees Degrees.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} String.\n */\nexport function degreesToStringHDMS(hemispheres, degrees, opt_fractionDigits) {\n var normalizedDegrees = modulo(degrees + 180, 360) - 180;\n var x = Math.abs(3600 * normalizedDegrees);\n var dflPrecision = opt_fractionDigits || 0;\n var precision = Math.pow(10, dflPrecision);\n\n var deg = Math.floor(x / 3600);\n var min = Math.floor((x - deg * 3600) / 60);\n var sec = x - (deg * 3600) - (min * 60);\n sec = Math.ceil(sec * precision) / precision;\n\n if (sec >= 60) {\n sec = 0;\n min += 1;\n }\n\n if (min >= 60) {\n min = 0;\n deg += 1;\n }\n\n return deg + '\\u00b0 ' + padNumber(min, 2) + '\\u2032 ' +\n padNumber(sec, 2, dflPrecision) + '\\u2033' +\n (normalizedDegrees == 0 ? '' : ' ' + hemispheres.charAt(normalizedDegrees < 0 ? 1 : 0));\n}\n\n\n/**\n * Transforms the given {@link module:ol/coordinate~Coordinate} to a string\n * using the given string template. The strings `{x}` and `{y}` in the template\n * will be replaced with the first and second coordinate values respectively.\n *\n * Example without specifying the fractional digits:\n *\n * import {format} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var template = 'Coordinate is ({x}|{y}).';\n * var out = format(coord, template);\n * // out is now 'Coordinate is (8|48).'\n *\n * Example explicitly specifying the fractional digits:\n *\n * import {format} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var template = 'Coordinate is ({x}|{y}).';\n * var out = format(coord, template, 2);\n * // out is now 'Coordinate is (7.85|47.98).'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {string} template A template string with `{x}` and `{y}` placeholders\n * that will be replaced by first and second coordinate values.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} Formatted coordinate.\n * @api\n */\nexport function format(coordinate, template, opt_fractionDigits) {\n if (coordinate) {\n return template\n .replace('{x}', coordinate[0].toFixed(opt_fractionDigits))\n .replace('{y}', coordinate[1].toFixed(opt_fractionDigits));\n } else {\n return '';\n }\n}\n\n\n/**\n * @param {Coordinate} coordinate1 First coordinate.\n * @param {Coordinate} coordinate2 Second coordinate.\n * @return {boolean} The two coordinates are equal.\n */\nexport function equals(coordinate1, coordinate2) {\n var equals = true;\n for (var i = coordinate1.length - 1; i >= 0; --i) {\n if (coordinate1[i] != coordinate2[i]) {\n equals = false;\n break;\n }\n }\n return equals;\n}\n\n\n/**\n * Rotate `coordinate` by `angle`. `coordinate` is modified in place and\n * returned by the function.\n *\n * Example:\n *\n * import {rotate} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var rotateRadians = Math.PI / 2; // 90 degrees\n * rotate(coord, rotateRadians);\n * // coord is now [-47.983333, 7.85]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number} angle Angle in radian.\n * @return {Coordinate} Coordinate.\n * @api\n */\nexport function rotate(coordinate, angle) {\n var cosAngle = Math.cos(angle);\n var sinAngle = Math.sin(angle);\n var x = coordinate[0] * cosAngle - coordinate[1] * sinAngle;\n var y = coordinate[1] * cosAngle + coordinate[0] * sinAngle;\n coordinate[0] = x;\n coordinate[1] = y;\n return coordinate;\n}\n\n\n/**\n * Scale `coordinate` by `scale`. `coordinate` is modified in place and returned\n * by the function.\n *\n * Example:\n *\n * import {scale as scaleCoordinate} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var scale = 1.2;\n * scaleCoordinate(coord, scale);\n * // coord is now [9.42, 57.5799996]\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number} scale Scale factor.\n * @return {Coordinate} Coordinate.\n */\nexport function scale(coordinate, scale) {\n coordinate[0] *= scale;\n coordinate[1] *= scale;\n return coordinate;\n}\n\n\n/**\n * @param {Coordinate} coord1 First coordinate.\n * @param {Coordinate} coord2 Second coordinate.\n * @return {number} Squared distance between coord1 and coord2.\n */\nexport function squaredDistance(coord1, coord2) {\n var dx = coord1[0] - coord2[0];\n var dy = coord1[1] - coord2[1];\n return dx * dx + dy * dy;\n}\n\n\n/**\n * @param {Coordinate} coord1 First coordinate.\n * @param {Coordinate} coord2 Second coordinate.\n * @return {number} Distance between coord1 and coord2.\n */\nexport function distance(coord1, coord2) {\n return Math.sqrt(squaredDistance(coord1, coord2));\n}\n\n\n/**\n * Calculate the squared distance from a coordinate to a line segment.\n *\n * @param {Coordinate} coordinate Coordinate of the point.\n * @param {Array} segment Line segment (2\n * coordinates).\n * @return {number} Squared distance from the point to the line segment.\n */\nexport function squaredDistanceToSegment(coordinate, segment) {\n return squaredDistance(coordinate,\n closestOnSegment(coordinate, segment));\n}\n\n\n/**\n * Format a geographic coordinate with the hemisphere, degrees, minutes, and\n * seconds.\n *\n * Example without specifying fractional digits:\n *\n * import {toStringHDMS} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringHDMS(coord);\n * // out is now '47° 58′ 60″ N 7° 50′ 60″ E'\n *\n * Example explicitly specifying 1 fractional digit:\n *\n * import {toStringHDMS} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringHDMS(coord, 1);\n * // out is now '47° 58′ 60.0″ N 7° 50′ 60.0″ E'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} Hemisphere, degrees, minutes and seconds.\n * @api\n */\nexport function toStringHDMS(coordinate, opt_fractionDigits) {\n if (coordinate) {\n return degreesToStringHDMS('NS', coordinate[1], opt_fractionDigits) + ' ' +\n degreesToStringHDMS('EW', coordinate[0], opt_fractionDigits);\n } else {\n return '';\n }\n}\n\n\n/**\n * Format a coordinate as a comma delimited string.\n *\n * Example without specifying fractional digits:\n *\n * import {toStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringXY(coord);\n * // out is now '8, 48'\n *\n * Example explicitly specifying 1 fractional digit:\n *\n * import {toStringXY} from 'ol/coordinate';\n *\n * var coord = [7.85, 47.983333];\n * var out = toStringXY(coord, 1);\n * // out is now '7.8, 48.0'\n *\n * @param {Coordinate} coordinate Coordinate.\n * @param {number=} opt_fractionDigits The number of digits to include\n * after the decimal point. Default is `0`.\n * @return {string} XY.\n * @api\n */\nexport function toStringXY(coordinate, opt_fractionDigits) {\n return format(coordinate, '{x}, {y}', opt_fractionDigits);\n}\n\n//# sourceMappingURL=coordinate.js.map","/**\n * @module ol/layer/Layer\n */\nimport {listen, unlistenByKey} from '../events.js';\nimport EventType from '../events/EventType.js';\nimport {getUid} from '../util.js';\nimport {getChangeEventType} from '../Object.js';\nimport BaseLayer from './Base.js';\nimport LayerProperty from './Property.js';\nimport {assign} from '../obj.js';\nimport RenderEventType from '../render/EventType.js';\nimport SourceState from '../source/State.js';\n\n\n/**\n * @typedef {Object} Options\n * @property {number} [opacity=1] Opacity (0, 1).\n * @property {boolean} [visible=true] Visibility.\n * @property {import(\"../extent.js\").Extent} [extent] The bounding extent for layer rendering. The layer will not be\n * rendered outside of this extent.\n * @property {number} [zIndex] The z-index for layer rendering. At rendering time, the layers\n * will be ordered, first by Z-index and then by position. When `undefined`, a `zIndex` of 0 is assumed\n * for layers that are added to the map's `layers` collection, or `Infinity` when the layer's `setMap()`\n * method was used.\n * @property {number} [minResolution] The minimum resolution (inclusive) at which this layer will be\n * visible.\n * @property {number} [maxResolution] The maximum resolution (exclusive) below which this layer will\n * be visible.\n * @property {import(\"../source/Source.js\").default} [source] Source for this layer. If not provided to the constructor,\n * the source can be set by calling {@link module:ol/layer/Layer#setSource layer.setSource(source)} after\n * construction.\n * @property {import(\"../PluggableMap.js\").default} [map] Map.\n */\n\n\n/**\n * @typedef {Object} State\n * @property {import(\"./Base.js\").default} layer\n * @property {number} opacity\n * @property {SourceState} sourceState\n * @property {boolean} visible\n * @property {boolean} managed\n * @property {import(\"../extent.js\").Extent} [extent]\n * @property {number} zIndex\n * @property {number} maxResolution\n * @property {number} minResolution\n */\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * A visual representation of raster or vector map data.\n * Layers group together those properties that pertain to how the data is to be\n * displayed, irrespective of the source of that data.\n *\n * Layers are usually added to a map with {@link module:ol/Map#addLayer}. Components\n * like {@link module:ol/interaction/Select~Select} use unmanaged layers\n * internally. These unmanaged layers are associated with the map using\n * {@link module:ol/layer/Layer~Layer#setMap} instead.\n *\n * A generic `change` event is fired when the state of the source changes.\n *\n * @fires import(\"../render/Event.js\").RenderEvent\n */\nvar Layer = /*@__PURE__*/(function (BaseLayer) {\n function Layer(options) {\n\n var baseOptions = assign({}, options);\n delete baseOptions.source;\n\n BaseLayer.call(this, baseOptions);\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.mapPrecomposeKey_ = null;\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.mapRenderKey_ = null;\n\n /**\n * @private\n * @type {?import(\"../events.js\").EventsKey}\n */\n this.sourceChangeKey_ = null;\n\n if (options.map) {\n this.setMap(options.map);\n }\n\n listen(this,\n getChangeEventType(LayerProperty.SOURCE),\n this.handleSourcePropertyChange_, this);\n\n var source = options.source ? options.source : null;\n this.setSource(source);\n }\n\n if ( BaseLayer ) Layer.__proto__ = BaseLayer;\n Layer.prototype = Object.create( BaseLayer && BaseLayer.prototype );\n Layer.prototype.constructor = Layer;\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getLayersArray = function getLayersArray (opt_array) {\n var array = opt_array ? opt_array : [];\n array.push(this);\n return array;\n };\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getLayerStatesArray = function getLayerStatesArray (opt_states) {\n var states = opt_states ? opt_states : [];\n states.push(this.getLayerState());\n return states;\n };\n\n /**\n * Get the layer source.\n * @return {import(\"../source/Source.js\").default} The layer source (or `null` if not yet set).\n * @observable\n * @api\n */\n Layer.prototype.getSource = function getSource () {\n var source = this.get(LayerProperty.SOURCE);\n return (\n /** @type {import(\"../source/Source.js\").default} */ (source) || null\n );\n };\n\n /**\n * @inheritDoc\n */\n Layer.prototype.getSourceState = function getSourceState () {\n var source = this.getSource();\n return !source ? SourceState.UNDEFINED : source.getState();\n };\n\n /**\n * @private\n */\n Layer.prototype.handleSourceChange_ = function handleSourceChange_ () {\n this.changed();\n };\n\n /**\n * @private\n */\n Layer.prototype.handleSourcePropertyChange_ = function handleSourcePropertyChange_ () {\n if (this.sourceChangeKey_) {\n unlistenByKey(this.sourceChangeKey_);\n this.sourceChangeKey_ = null;\n }\n var source = this.getSource();\n if (source) {\n this.sourceChangeKey_ = listen(source,\n EventType.CHANGE, this.handleSourceChange_, this);\n }\n this.changed();\n };\n\n /**\n * Sets the layer to be rendered on top of other layers on a map. The map will\n * not manage this layer in its layers collection, and the callback in\n * {@link module:ol/Map#forEachLayerAtPixel} will receive `null` as layer. This\n * is useful for temporary layers. To remove an unmanaged layer from the map,\n * use `#setMap(null)`.\n *\n * To add the layer to a map and have it managed by the map, use\n * {@link module:ol/Map#addLayer} instead.\n * @param {import(\"../PluggableMap.js\").default} map Map.\n * @api\n */\n Layer.prototype.setMap = function setMap (map) {\n if (this.mapPrecomposeKey_) {\n unlistenByKey(this.mapPrecomposeKey_);\n this.mapPrecomposeKey_ = null;\n }\n if (!map) {\n this.changed();\n }\n if (this.mapRenderKey_) {\n unlistenByKey(this.mapRenderKey_);\n this.mapRenderKey_ = null;\n }\n if (map) {\n this.mapPrecomposeKey_ = listen(map, RenderEventType.PRECOMPOSE, function(evt) {\n var renderEvent = /** @type {import(\"../render/Event.js\").default} */ (evt);\n var layerState = this.getLayerState();\n layerState.managed = false;\n if (this.getZIndex() === undefined) {\n layerState.zIndex = Infinity;\n }\n renderEvent.frameState.layerStatesArray.push(layerState);\n renderEvent.frameState.layerStates[getUid(this)] = layerState;\n }, this);\n this.mapRenderKey_ = listen(this, EventType.CHANGE, map.render, map);\n this.changed();\n }\n };\n\n /**\n * Set the layer source.\n * @param {import(\"../source/Source.js\").default} source The layer source.\n * @observable\n * @api\n */\n Layer.prototype.setSource = function setSource (source) {\n this.set(LayerProperty.SOURCE, source);\n };\n\n return Layer;\n}(BaseLayer));\n\n\n/**\n * Return `true` if the layer is visible, and if the passed resolution is\n * between the layer's minResolution and maxResolution. The comparison is\n * inclusive for `minResolution` and exclusive for `maxResolution`.\n * @param {State} layerState Layer state.\n * @param {number} resolution Resolution.\n * @return {boolean} The layer is visible at the given resolution.\n */\nexport function visibleAtResolution(layerState, resolution) {\n return layerState.visible && resolution >= layerState.minResolution &&\n resolution < layerState.maxResolution;\n}\n\n\nexport default Layer;\n\n//# sourceMappingURL=Layer.js.map","/**\n * @module ol/layer/VectorTileRenderType\n */\n\n/**\n * @enum {string}\n * Render mode for vector tiles:\n * * `'image'`: Vector tiles are rendered as images. Great performance, but\n * point symbols and texts are always rotated with the view and pixels are\n * scaled during zoom animations.\n * * `'hybrid'`: Polygon and line elements are rendered as images, so pixels\n * are scaled during zoom animations. Point symbols and texts are accurately\n * rendered as vectors and can stay upright on rotated views.\n * * `'vector'`: Vector tiles are rendered as vectors. Most accurate rendering\n * even during animations, but slower performance than the other options.\n * @api\n */\nexport default {\n IMAGE: 'image',\n HYBRID: 'hybrid',\n VECTOR: 'vector'\n};\n\n//# sourceMappingURL=VectorTileRenderType.js.map","/**\n * @module ol/source/State\n */\n\n/**\n * @enum {string}\n * State of the source, one of 'undefined', 'loading', 'ready' or 'error'.\n */\nexport default {\n UNDEFINED: 'undefined',\n LOADING: 'loading',\n READY: 'ready',\n ERROR: 'error'\n};\n\n//# sourceMappingURL=State.js.map","/**\n * @module ol/geom/Geometry\n */\nimport {abstract} from '../util.js';\nimport BaseObject from '../Object.js';\nimport {createEmpty, getHeight, returnOrUpdate} from '../extent.js';\nimport {transform2D} from './flat/transform.js';\nimport {get as getProjection, getTransform} from '../proj.js';\nimport Units from '../proj/Units.js';\nimport {create as createTransform, compose as composeTransform} from '../transform.js';\n\n\n/**\n * @type {import(\"../transform.js\").Transform}\n */\nvar tmpTransform = createTransform();\n\n\n/**\n * @classdesc\n * Abstract base class; normally only used for creating subclasses and not\n * instantiated in apps.\n * Base class for vector geometries.\n *\n * To get notified of changes to the geometry, register a listener for the\n * generic `change` event on your geometry instance.\n *\n * @abstract\n * @api\n */\nvar Geometry = /*@__PURE__*/(function (BaseObject) {\n function Geometry() {\n\n BaseObject.call(this);\n\n /**\n * @private\n * @type {import(\"../extent.js\").Extent}\n */\n this.extent_ = createEmpty();\n\n /**\n * @private\n * @type {number}\n */\n this.extentRevision_ = -1;\n\n /**\n * @protected\n * @type {Object}\n */\n this.simplifiedGeometryCache = {};\n\n /**\n * @protected\n * @type {number}\n */\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n\n /**\n * @protected\n * @type {number}\n */\n this.simplifiedGeometryRevision = 0;\n\n }\n\n if ( BaseObject ) Geometry.__proto__ = BaseObject;\n Geometry.prototype = Object.create( BaseObject && BaseObject.prototype );\n Geometry.prototype.constructor = Geometry;\n\n /**\n * Make a complete copy of the geometry.\n * @abstract\n * @return {!Geometry} Clone.\n */\n Geometry.prototype.clone = function clone () {\n return abstract();\n };\n\n /**\n * @abstract\n * @param {number} x X.\n * @param {number} y Y.\n * @param {import(\"../coordinate.js\").Coordinate} closestPoint Closest point.\n * @param {number} minSquaredDistance Minimum squared distance.\n * @return {number} Minimum squared distance.\n */\n Geometry.prototype.closestPointXY = function closestPointXY (x, y, closestPoint, minSquaredDistance) {\n return abstract();\n };\n\n /**\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\n Geometry.prototype.containsXY = function containsXY (x, y) {\n return false;\n };\n\n /**\n * Return the closest point of the geometry to the passed point as\n * {@link module:ol/coordinate~Coordinate coordinate}.\n * @param {import(\"../coordinate.js\").Coordinate} point Point.\n * @param {import(\"../coordinate.js\").Coordinate=} opt_closestPoint Closest point.\n * @return {import(\"../coordinate.js\").Coordinate} Closest point.\n * @api\n */\n Geometry.prototype.getClosestPoint = function getClosestPoint (point, opt_closestPoint) {\n var closestPoint = opt_closestPoint ? opt_closestPoint : [NaN, NaN];\n this.closestPointXY(point[0], point[1], closestPoint, Infinity);\n return closestPoint;\n };\n\n /**\n * Returns true if this geometry includes the specified coordinate. If the\n * coordinate is on the boundary of the geometry, returns false.\n * @param {import(\"../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} Contains coordinate.\n * @api\n */\n Geometry.prototype.intersectsCoordinate = function intersectsCoordinate (coordinate) {\n return this.containsXY(coordinate[0], coordinate[1]);\n };\n\n /**\n * @abstract\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @protected\n * @return {import(\"../extent.js\").Extent} extent Extent.\n */\n Geometry.prototype.computeExtent = function computeExtent (extent) {\n return abstract();\n };\n\n /**\n * Get the extent of the geometry.\n * @param {import(\"../extent.js\").Extent=} opt_extent Extent.\n * @return {import(\"../extent.js\").Extent} extent Extent.\n * @api\n */\n Geometry.prototype.getExtent = function getExtent (opt_extent) {\n if (this.extentRevision_ != this.getRevision()) {\n this.extent_ = this.computeExtent(this.extent_);\n this.extentRevision_ = this.getRevision();\n }\n return returnOrUpdate(this.extent_, opt_extent);\n };\n\n /**\n * Rotate the geometry around a given coordinate. This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} angle Rotation angle in radians.\n * @param {import(\"../coordinate.js\").Coordinate} anchor The rotation center.\n * @api\n */\n Geometry.prototype.rotate = function rotate (angle, anchor) {\n abstract();\n };\n\n /**\n * Scale the geometry (with an optional origin). This modifies the geometry\n * coordinates in place.\n * @abstract\n * @param {number} sx The scaling factor in the x-direction.\n * @param {number=} opt_sy The scaling factor in the y-direction (defaults to\n * sx).\n * @param {import(\"../coordinate.js\").Coordinate=} opt_anchor The scale origin (defaults to the center\n * of the geometry extent).\n * @api\n */\n Geometry.prototype.scale = function scale (sx, opt_sy, opt_anchor) {\n abstract();\n };\n\n /**\n * Create a simplified version of this geometry. For linestrings, this uses\n * the the {@link\n * https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm\n * Douglas Peucker} algorithm. For polygons, a quantization-based\n * simplification is used to preserve topology.\n * @param {number} tolerance The tolerance distance for simplification.\n * @return {Geometry} A new, simplified version of the original geometry.\n * @api\n */\n Geometry.prototype.simplify = function simplify (tolerance) {\n return this.getSimplifiedGeometry(tolerance * tolerance);\n };\n\n /**\n * Create a simplified version of this geometry using the Douglas Peucker\n * algorithm.\n * See https://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm.\n * @abstract\n * @param {number} squaredTolerance Squared tolerance.\n * @return {Geometry} Simplified geometry.\n */\n Geometry.prototype.getSimplifiedGeometry = function getSimplifiedGeometry (squaredTolerance) {\n return abstract();\n };\n\n /**\n * Get the type of this geometry.\n * @abstract\n * @return {import(\"./GeometryType.js\").default} Geometry type.\n */\n Geometry.prototype.getType = function getType () {\n return abstract();\n };\n\n /**\n * Apply a transform function to each coordinate of the geometry.\n * The geometry is modified in place.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n * @abstract\n * @param {import(\"../proj.js\").TransformFunction} transformFn Transform.\n */\n Geometry.prototype.applyTransform = function applyTransform (transformFn) {\n abstract();\n };\n\n /**\n * Test if the geometry and the passed extent intersect.\n * @abstract\n * @param {import(\"../extent.js\").Extent} extent Extent.\n * @return {boolean} `true` if the geometry and the extent intersect.\n */\n Geometry.prototype.intersectsExtent = function intersectsExtent (extent) {\n return abstract();\n };\n\n /**\n * Translate the geometry. This modifies the geometry coordinates in place. If\n * instead you want a new geometry, first `clone()` this geometry.\n * @abstract\n * @param {number} deltaX Delta X.\n * @param {number} deltaY Delta Y.\n * @api\n */\n Geometry.prototype.translate = function translate (deltaX, deltaY) {\n abstract();\n };\n\n /**\n * Transform each coordinate of the geometry from one coordinate reference\n * system to another. The geometry is modified in place.\n * For example, a line will be transformed to a line and a circle to a circle.\n * If you do not want the geometry modified in place, first `clone()` it and\n * then use this function on the clone.\n *\n * @param {import(\"../proj.js\").ProjectionLike} source The current projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @param {import(\"../proj.js\").ProjectionLike} destination The desired projection. Can be a\n * string identifier or a {@link module:ol/proj/Projection~Projection} object.\n * @return {Geometry} This geometry. Note that original geometry is\n * modified in place.\n * @api\n */\n Geometry.prototype.transform = function transform (source, destination) {\n /** @type {import(\"../proj/Projection.js\").default} */\n var sourceProj = getProjection(source);\n var transformFn = sourceProj.getUnits() == Units.TILE_PIXELS ?\n function(inCoordinates, outCoordinates, stride) {\n var pixelExtent = sourceProj.getExtent();\n var projectedExtent = sourceProj.getWorldExtent();\n var scale = getHeight(projectedExtent) / getHeight(pixelExtent);\n composeTransform(tmpTransform,\n projectedExtent[0], projectedExtent[3],\n scale, -scale, 0,\n 0, 0);\n transform2D(inCoordinates, 0, inCoordinates.length, stride,\n tmpTransform, outCoordinates);\n return getTransform(sourceProj, destination)(inCoordinates, outCoordinates, stride);\n } :\n getTransform(sourceProj, destination);\n this.applyTransform(transformFn);\n return this;\n };\n\n return Geometry;\n}(BaseObject));\n\n\nexport default Geometry;\n\n//# sourceMappingURL=Geometry.js.map","/**\n * @module ol/geom/SimpleGeometry\n */\nimport {abstract} from '../util.js';\nimport {createOrUpdateFromFlatCoordinates, getCenter} from '../extent.js';\nimport Geometry from './Geometry.js';\nimport GeometryLayout from './GeometryLayout.js';\nimport {rotate, scale, translate, transform2D} from './flat/transform.js';\nimport {clear} from '../obj.js';\n\n/**\n * @classdesc\n * Abstract base class; only used for creating subclasses; do not instantiate\n * in apps, as cannot be rendered.\n *\n * @abstract\n * @api\n */\nvar SimpleGeometry = /*@__PURE__*/(function (Geometry) {\n function SimpleGeometry() {\n\n Geometry.call(this);\n\n /**\n * @protected\n * @type {GeometryLayout}\n */\n this.layout = GeometryLayout.XY;\n\n /**\n * @protected\n * @type {number}\n */\n this.stride = 2;\n\n /**\n * @protected\n * @type {Array}\n */\n this.flatCoordinates = null;\n\n }\n\n if ( Geometry ) SimpleGeometry.__proto__ = Geometry;\n SimpleGeometry.prototype = Object.create( Geometry && Geometry.prototype );\n SimpleGeometry.prototype.constructor = SimpleGeometry;\n\n /**\n * @inheritDoc\n */\n SimpleGeometry.prototype.computeExtent = function computeExtent (extent) {\n return createOrUpdateFromFlatCoordinates(this.flatCoordinates,\n 0, this.flatCoordinates.length, this.stride, extent);\n };\n\n /**\n * @abstract\n * @return {Array} Coordinates.\n */\n SimpleGeometry.prototype.getCoordinates = function getCoordinates () {\n return abstract();\n };\n\n /**\n * Return the first coordinate of the geometry.\n * @return {import(\"../coordinate.js\").Coordinate} First coordinate.\n * @api\n */\n SimpleGeometry.prototype.getFirstCoordinate = function getFirstCoordinate () {\n return this.flatCoordinates.slice(0, this.stride);\n };\n\n /**\n * @return {Array} Flat coordinates.\n */\n SimpleGeometry.prototype.getFlatCoordinates = function getFlatCoordinates () {\n return this.flatCoordinates;\n };\n\n /**\n * Return the last coordinate of the geometry.\n * @return {import(\"../coordinate.js\").Coordinate} Last point.\n * @api\n */\n SimpleGeometry.prototype.getLastCoordinate = function getLastCoordinate () {\n return this.flatCoordinates.slice(this.flatCoordinates.length - this.stride);\n };\n\n /**\n * Return the {@link module:ol/geom/GeometryLayout layout} of the geometry.\n * @return {GeometryLayout} Layout.\n * @api\n */\n SimpleGeometry.prototype.getLayout = function getLayout () {\n return this.layout;\n };\n\n /**\n * @inheritDoc\n */\n SimpleGeometry.prototype.getSimplifiedGeometry = function getSimplifiedGeometry (squaredTolerance) {\n if (this.simplifiedGeometryRevision != this.getRevision()) {\n clear(this.simplifiedGeometryCache);\n this.simplifiedGeometryMaxMinSquaredTolerance = 0;\n this.simplifiedGeometryRevision = this.getRevision();\n }\n // If squaredTolerance is negative or if we know that simplification will not\n // have any effect then just return this.\n if (squaredTolerance < 0 ||\n (this.simplifiedGeometryMaxMinSquaredTolerance !== 0 &&\n squaredTolerance <= this.simplifiedGeometryMaxMinSquaredTolerance)) {\n return this;\n }\n var key = squaredTolerance.toString();\n if (this.simplifiedGeometryCache.hasOwnProperty(key)) {\n return this.simplifiedGeometryCache[key];\n } else {\n var simplifiedGeometry =\n this.getSimplifiedGeometryInternal(squaredTolerance);\n var simplifiedFlatCoordinates = simplifiedGeometry.getFlatCoordinates();\n if (simplifiedFlatCoordinates.length < this.flatCoordinates.length) {\n this.simplifiedGeometryCache[key] = simplifiedGeometry;\n return simplifiedGeometry;\n } else {\n // Simplification did not actually remove any coordinates. We now know\n // that any calls to getSimplifiedGeometry with a squaredTolerance less\n // than or equal to the current squaredTolerance will also not have any\n // effect. This allows us to short circuit simplification (saving CPU\n // cycles) and prevents the cache of simplified geometries from filling\n // up with useless identical copies of this geometry (saving memory).\n this.simplifiedGeometryMaxMinSquaredTolerance = squaredTolerance;\n return this;\n }\n }\n };\n\n /**\n * @param {number} squaredTolerance Squared tolerance.\n * @return {SimpleGeometry} Simplified geometry.\n * @protected\n */\n SimpleGeometry.prototype.getSimplifiedGeometryInternal = function getSimplifiedGeometryInternal (squaredTolerance) {\n return this;\n };\n\n /**\n * @return {number} Stride.\n */\n SimpleGeometry.prototype.getStride = function getStride () {\n return this.stride;\n };\n\n /**\n * @param {GeometryLayout} layout Layout.\n * @param {Array} flatCoordinates Flat coordinates.\n */\n SimpleGeometry.prototype.setFlatCoordinates = function setFlatCoordinates (layout, flatCoordinates) {\n this.stride = getStrideForLayout(layout);\n this.layout = layout;\n this.flatCoordinates = flatCoordinates;\n };\n\n /**\n * @abstract\n * @param {!Array} coordinates Coordinates.\n * @param {GeometryLayout=} opt_layout Layout.\n */\n SimpleGeometry.prototype.setCoordinates = function setCoordinates (coordinates, opt_layout) {\n abstract();\n };\n\n /**\n * @param {GeometryLayout|undefined} layout Layout.\n * @param {Array} coordinates Coordinates.\n * @param {number} nesting Nesting.\n * @protected\n */\n SimpleGeometry.prototype.setLayout = function setLayout (layout, coordinates, nesting) {\n /** @type {number} */\n var stride;\n if (layout) {\n stride = getStrideForLayout(layout);\n } else {\n for (var i = 0; i < nesting; ++i) {\n if (coordinates.length === 0) {\n this.layout = GeometryLayout.XY;\n this.stride = 2;\n return;\n } else {\n coordinates = /** @type {Array} */ (coordinates[0]);\n }\n }\n stride = coordinates.length;\n layout = getLayoutForStride(stride);\n }\n this.layout = layout;\n this.stride = stride;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.applyTransform = function applyTransform (transformFn) {\n if (this.flatCoordinates) {\n transformFn(this.flatCoordinates, this.flatCoordinates, this.stride);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.rotate = function rotate$1 (angle, anchor) {\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n rotate(\n flatCoordinates, 0, flatCoordinates.length,\n stride, angle, anchor, flatCoordinates);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.scale = function scale$1 (sx, opt_sy, opt_anchor) {\n var sy = opt_sy;\n if (sy === undefined) {\n sy = sx;\n }\n var anchor = opt_anchor;\n if (!anchor) {\n anchor = getCenter(this.getExtent());\n }\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n scale(\n flatCoordinates, 0, flatCoordinates.length,\n stride, sx, sy, anchor, flatCoordinates);\n this.changed();\n }\n };\n\n /**\n * @inheritDoc\n * @api\n */\n SimpleGeometry.prototype.translate = function translate$1 (deltaX, deltaY) {\n var flatCoordinates = this.getFlatCoordinates();\n if (flatCoordinates) {\n var stride = this.getStride();\n translate(\n flatCoordinates, 0, flatCoordinates.length, stride,\n deltaX, deltaY, flatCoordinates);\n this.changed();\n }\n };\n\n return SimpleGeometry;\n}(Geometry));\n\n\n/**\n * @param {number} stride Stride.\n * @return {GeometryLayout} layout Layout.\n */\nfunction getLayoutForStride(stride) {\n var layout;\n if (stride == 2) {\n layout = GeometryLayout.XY;\n } else if (stride == 3) {\n layout = GeometryLayout.XYZ;\n } else if (stride == 4) {\n layout = GeometryLayout.XYZM;\n }\n return (\n /** @type {GeometryLayout} */ (layout)\n );\n}\n\n\n/**\n * @param {GeometryLayout} layout Layout.\n * @return {number} Stride.\n */\nexport function getStrideForLayout(layout) {\n var stride;\n if (layout == GeometryLayout.XY) {\n stride = 2;\n } else if (layout == GeometryLayout.XYZ || layout == GeometryLayout.XYM) {\n stride = 3;\n } else if (layout == GeometryLayout.XYZM) {\n stride = 4;\n }\n return /** @type {number} */ (stride);\n}\n\n\n/**\n * @param {SimpleGeometry} simpleGeometry Simple geometry.\n * @param {import(\"../transform.js\").Transform} transform Transform.\n * @param {Array=} opt_dest Destination.\n * @return {Array} Transformed flat coordinates.\n */\nexport function transformGeom2D(simpleGeometry, transform, opt_dest) {\n var flatCoordinates = simpleGeometry.getFlatCoordinates();\n if (!flatCoordinates) {\n return null;\n } else {\n var stride = simpleGeometry.getStride();\n return transform2D(\n flatCoordinates, 0, flatCoordinates.length, stride,\n transform, opt_dest);\n }\n}\n\nexport default SimpleGeometry;\n\n//# sourceMappingURL=SimpleGeometry.js.map","/**\n * @module ol/geom/flat/inflate\n */\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {Array=} opt_coordinates Coordinates.\n * @return {Array} Coordinates.\n */\nexport function inflateCoordinates(flatCoordinates, offset, end, stride, opt_coordinates) {\n var coordinates = opt_coordinates !== undefined ? opt_coordinates : [];\n var i = 0;\n for (var j = offset; j < end; j += stride) {\n coordinates[i++] = flatCoordinates.slice(j, j + stride);\n }\n coordinates.length = i;\n return coordinates;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {Array>=} opt_coordinatess Coordinatess.\n * @return {Array>} Coordinatess.\n */\nexport function inflateCoordinatesArray(flatCoordinates, offset, ends, stride, opt_coordinatess) {\n var coordinatess = opt_coordinatess !== undefined ? opt_coordinatess : [];\n var i = 0;\n for (var j = 0, jj = ends.length; j < jj; ++j) {\n var end = ends[j];\n coordinatess[i++] = inflateCoordinates(\n flatCoordinates, offset, end, stride, coordinatess[i]);\n offset = end;\n }\n coordinatess.length = i;\n return coordinatess;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {Array>>=} opt_coordinatesss\n * Coordinatesss.\n * @return {Array>>} Coordinatesss.\n */\nexport function inflateMultiCoordinatesArray(flatCoordinates, offset, endss, stride, opt_coordinatesss) {\n var coordinatesss = opt_coordinatesss !== undefined ? opt_coordinatesss : [];\n var i = 0;\n for (var j = 0, jj = endss.length; j < jj; ++j) {\n var ends = endss[j];\n coordinatesss[i++] = inflateCoordinatesArray(\n flatCoordinates, offset, ends, stride, coordinatesss[i]);\n offset = ends[ends.length - 1];\n }\n coordinatesss.length = i;\n return coordinatesss;\n}\n\n//# sourceMappingURL=inflate.js.map","/**\n * @module ol/geom/flat/contains\n */\nimport {forEachCorner} from '../../extent.js';\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {import(\"../../extent.js\").Extent} extent Extent.\n * @return {boolean} Contains extent.\n */\nexport function linearRingContainsExtent(flatCoordinates, offset, end, stride, extent) {\n var outside = forEachCorner(extent,\n /**\n * @param {import(\"../../coordinate.js\").Coordinate} coordinate Coordinate.\n * @return {boolean} Contains (x, y).\n */\n function(coordinate) {\n return !linearRingContainsXY(flatCoordinates, offset, end, stride, coordinate[0], coordinate[1]);\n });\n return !outside;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {number} end End.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingContainsXY(flatCoordinates, offset, end, stride, x, y) {\n // http://geomalgorithms.com/a03-_inclusion.html\n // Copyright 2000 softSurfer, 2012 Dan Sunday\n // This code may be freely used and modified for any purpose\n // providing that this copyright notice is included with it.\n // SoftSurfer makes no warranty for this code, and cannot be held\n // liable for any real or imagined damage resulting from its use.\n // Users of this code must verify correctness for their application.\n var wn = 0;\n var x1 = flatCoordinates[end - stride];\n var y1 = flatCoordinates[end - stride + 1];\n for (; offset < end; offset += stride) {\n var x2 = flatCoordinates[offset];\n var y2 = flatCoordinates[offset + 1];\n if (y1 <= y) {\n if (y2 > y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) > 0) {\n wn++;\n }\n } else if (y2 <= y && ((x2 - x1) * (y - y1)) - ((x - x1) * (y2 - y1)) < 0) {\n wn--;\n }\n x1 = x2;\n y1 = y2;\n }\n return wn !== 0;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array} ends Ends.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y) {\n if (ends.length === 0) {\n return false;\n }\n if (!linearRingContainsXY(flatCoordinates, offset, ends[0], stride, x, y)) {\n return false;\n }\n for (var i = 1, ii = ends.length; i < ii; ++i) {\n if (linearRingContainsXY(flatCoordinates, ends[i - 1], ends[i], stride, x, y)) {\n return false;\n }\n }\n return true;\n}\n\n\n/**\n * @param {Array} flatCoordinates Flat coordinates.\n * @param {number} offset Offset.\n * @param {Array>} endss Endss.\n * @param {number} stride Stride.\n * @param {number} x X.\n * @param {number} y Y.\n * @return {boolean} Contains (x, y).\n */\nexport function linearRingssContainsXY(flatCoordinates, offset, endss, stride, x, y) {\n if (endss.length === 0) {\n return false;\n }\n for (var i = 0, ii = endss.length; i < ii; ++i) {\n var ends = endss[i];\n if (linearRingsContainsXY(flatCoordinates, offset, ends, stride, x, y)) {\n return true;\n }\n offset = ends[ends.length - 1];\n }\n return false;\n}\n\n//# sourceMappingURL=contains.js.map","/**\n * @module ol/rotationconstraint\n */\nimport {toRadians} from './math.js';\n\n\n/**\n * @typedef {function((number|undefined), number): (number|undefined)} Type\n */\n\n\n/**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\nexport function disable(rotation, delta) {\n if (rotation !== undefined) {\n return 0;\n } else {\n return undefined;\n }\n}\n\n\n/**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\nexport function none(rotation, delta) {\n if (rotation !== undefined) {\n return rotation + delta;\n } else {\n return undefined;\n }\n}\n\n\n/**\n * @param {number} n N.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToN(n) {\n var theta = 2 * Math.PI / n;\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\n function(rotation, delta) {\n if (rotation !== undefined) {\n rotation = Math.floor((rotation + delta) / theta + 0.5) * theta;\n return rotation;\n } else {\n return undefined;\n }\n });\n}\n\n\n/**\n * @param {number=} opt_tolerance Tolerance.\n * @return {Type} Rotation constraint.\n */\nexport function createSnapToZero(opt_tolerance) {\n var tolerance = opt_tolerance || toRadians(5);\n return (\n /**\n * @param {number|undefined} rotation Rotation.\n * @param {number} delta Delta.\n * @return {number|undefined} Rotation.\n */\n function(rotation, delta) {\n if (rotation !== undefined) {\n if (Math.abs(rotation + delta) <= tolerance) {\n return 0;\n } else {\n return rotation + delta;\n }\n } else {\n return undefined;\n }\n });\n}\n\n//# sourceMappingURL=rotationconstraint.js.map","/**\n * @module ol/layer/TileProperty\n */\n\n/**\n * @enum {string}\n */\nexport default {\n PRELOAD: 'preload',\n USE_INTERIM_TILES_ON_ERROR: 'useInterimTilesOnError'\n};\n\n//# sourceMappingURL=TileProperty.js.map","/**\n * @module ol/style/Style\n */\n\n/**\n * Feature styles.\n *\n * If no style is defined, the following default style is used:\n * ```js\n * import {Fill, Stroke, Circle, Style} from 'ol/style';\n *\n * var fill = new Fill({\n * color: 'rgba(255,255,255,0.4)'\n * });\n * var stroke = new Stroke({\n * color: '#3399CC',\n * width: 1.25\n * });\n * var styles = [\n * new Style({\n * image: new Circle({\n * fill: fill,\n * stroke: stroke,\n * radius: 5\n * }),\n * fill: fill,\n * stroke: stroke\n * })\n * ];\n * ```\n *\n * A separate editing style has the following defaults:\n * ```js\n * import {Fill, Stroke, Circle, Style} from 'ol/style';\n * import GeometryType from 'ol/geom/GeometryType';\n *\n * var white = [255, 255, 255, 1];\n * var blue = [0, 153, 255, 1];\n * var width = 3;\n * styles[GeometryType.POLYGON] = [\n * new Style({\n * fill: new Fill({\n * color: [255, 255, 255, 0.5]\n * })\n * })\n * ];\n * styles[GeometryType.MULTI_POLYGON] =\n * styles[GeometryType.POLYGON];\n * styles[GeometryType.LINE_STRING] = [\n * new Style({\n * stroke: new Stroke({\n * color: white,\n * width: width + 2\n * })\n * }),\n * new Style({\n * stroke: new Stroke({\n * color: blue,\n * width: width\n * })\n * })\n * ];\n * styles[GeometryType.MULTI_LINE_STRING] =\n * styles[GeometryType.LINE_STRING];\n * styles[GeometryType.POINT] = [\n * new Style({\n * image: new Circle({\n * radius: width * 2,\n * fill: new Fill({\n * color: blue\n * }),\n * stroke: new Stroke({\n * color: white,\n * width: width / 2\n * })\n * }),\n * zIndex: Infinity\n * })\n * ];\n * styles[GeometryType.MULTI_POINT] =\n * styles[GeometryType.POINT];\n * styles[GeometryType.GEOMETRY_COLLECTION] =\n * styles[GeometryType.POLYGON].concat(\n * styles[GeometryType.LINE_STRING],\n * styles[GeometryType.POINT]\n * );\n * ```\n */\nimport {assert} from '../asserts.js';\nimport GeometryType from '../geom/GeometryType.js';\nimport CircleStyle from './Circle.js';\nimport Fill from './Fill.js';\nimport Stroke from './Stroke.js';\n\n\n/**\n * A function that takes an {@link module:ol/Feature} and a `{number}`\n * representing the view's resolution. The function should return a\n * {@link module:ol/style/Style} or an array of them. This way e.g. a\n * vector layer can be styled.\n *\n * @typedef {function(import(\"../Feature.js\").FeatureLike, number):(Style|Array