{"version":3,"sources":["webpack:///./node_modules/ol/dom.js","webpack:///./node_modules/ol/style/TextPlacement.js","webpack:///./node_modules/ol/style/RegularShape.js","webpack:///./node_modules/ol/structs/LRUCache.js","webpack:///./node_modules/ol/color.js","webpack:///./node_modules/ol/has.js","webpack:///./node_modules/ol/style/Style.js","webpack:///./node_modules/ol/style/Text.js","webpack:///./node_modules/ol/style/Fill.js","webpack:///./node_modules/ol/style/Stroke.js","webpack:///./node_modules/ol/ImageState.js","webpack:///./node_modules/ol/style/Image.js","webpack:///./node_modules/ol/css.js","webpack:///./node_modules/ol/style/Circle.js","webpack:///./node_modules/ol/render/canvas.js","webpack:///./node_modules/ol/colorlike.js"],"names":["createCanvasContext2D","opt_width","opt_height","canvas","document","createElement","width","height","getContext","outerWidth","element","offsetWidth","style","getComputedStyle","parseInt","marginLeft","marginRight","outerHeight","offsetHeight","marginTop","marginBottom","replaceNode","newNode","oldNode","parent","parentNode","replaceChild","removeNode","node","removeChild","removeChildren","lastChild","__webpack_require__","d","__webpack_exports__","POINT","LINE","_color_js__WEBPACK_IMPORTED_MODULE_0__","_colorlike_js__WEBPACK_IMPORTED_MODULE_1__","_dom_js__WEBPACK_IMPORTED_MODULE_2__","_has_js__WEBPACK_IMPORTED_MODULE_3__","_ImageState_js__WEBPACK_IMPORTED_MODULE_4__","_render_canvas_js__WEBPACK_IMPORTED_MODULE_5__","_Image_js__WEBPACK_IMPORTED_MODULE_6__","RegularShape","ImageStyle","options","rotateWithView","undefined","call","this","opacity","rotation","scale","checksums_","canvas_","hitDetectionCanvas_","fill_","fill","origin_","points_","points","radius_","radius","radius1","radius2_","radius2","angle_","angle","stroke_","stroke","anchor_","size_","imageSize_","hitDetectionImageSize_","atlasManager_","atlasManager","render_","__proto__","prototype","Object","create","constructor","clone","getFill","getPoints","getRadius","getRadius2","getAngle","getStroke","getRotation","getRotateWithView","setOpacity","getOpacity","setScale","getScale","getAnchor","getHitDetectionImage","pixelRatio","getImage","getImageSize","getHitDetectionImageSize","getImageState","LOADED","getOrigin","getSize","listenImageChange","listener","thisArg","load","unlistenImageChange","imageSize","strokeStyle","lineCap","lineJoin","miterLimit","lineDash","lineDashOffset","strokeWidth","getColor","getWidth","getLineDash","getLineDashOffset","getLineJoin","getLineCap","getMiterLimit","size","renderOptions","context","draw_","createHitDetectionCanvas_","Math","round","renderHitDetectionCallback","hasCustomHitDetectionImage","drawHitDetectionCanvas_","bind","id","getChecksum","info","add","image","offsetX","offsetY","hitImage","x","y","i","angle0","radiusC","setTransform","translate","beginPath","Infinity","arc","PI","lineTo","cos","sin","color","fillStyle","lineWidth","setLineDash","closePath","strokeChecksum","fillChecksum","recalculate","checksum","toString","_asserts_js__WEBPACK_IMPORTED_MODULE_0__","_events_Target_js__WEBPACK_IMPORTED_MODULE_1__","_events_EventType_js__WEBPACK_IMPORTED_MODULE_2__","LRUCache","EventTarget","opt_highWaterMark","highWaterMark","count_","entries_","oldest_","newest_","canExpireCache","getCount","clear","dispatchEvent","CLEAR","containsKey","key","hasOwnProperty","forEach","f","opt_this","entry","value_","key_","newer","get","older","remove","getKeys","keys","Array","getValues","values","peekLast","peekLastKey","peekFirstKey","pop","replace","value","set","setSize","prune","asString","asArray","_math_js__WEBPACK_IMPORTED_MODULE_1__","HEX_COLOR_RE_","NAMED_COLOR_RE_","fromNamed","el","body","appendChild","rgb","fromString","MAX_CACHE_SIZE","cache","cacheSize","s","fromStringInternal_","isArray","r","g","b","a","exec","n","length","hasAlpha","substr","indexOf","slice","split","map","Number","normalize","push","FIREFOX","SAFARI","WEBKIT","MAC","DEVICE_PIXEL_RATIO","CANVAS_LINE_DASH","GEOLOCATION","TOUCH","POINTER","MSPOINTER","ua","navigator","userAgent","toLowerCase","window","devicePixelRatio","has","e","toFunction","createDefaultStyle","createEditingStyle","_geom_GeometryType_js__WEBPACK_IMPORTED_MODULE_1__","_Circle_js__WEBPACK_IMPORTED_MODULE_2__","_Fill_js__WEBPACK_IMPORTED_MODULE_3__","_Stroke_js__WEBPACK_IMPORTED_MODULE_4__","Style","opt_options","geometry_","geometryFunction_","defaultGeometryFunction","geometry","setGeometry","image_","renderer_","renderer","text_","text","zIndex_","zIndex","obj","styleFunction","styles","getZIndex","getGeometry","getText","getRenderer","setRenderer","getGeometryFunction","setFill","setImage","setStroke","setText","feature","setZIndex","defaultStyles","resolution","white","blue","POLYGON","MULTI_POLYGON","LINE_STRING","MULTI_LINE_STRING","CIRCLE","concat","MULTI_POINT","GEOMETRY_COLLECTION","_Fill_js__WEBPACK_IMPORTED_MODULE_0__","_TextPlacement_js__WEBPACK_IMPORTED_MODULE_1__","DEFAULT_FILL_COLOR","Text","font_","font","rotation_","rotateWithView_","scale_","textAlign_","textAlign","textBaseline_","textBaseline","maxAngle_","maxAngle","placement_","placement","overflow_","overflow","offsetX_","offsetY_","backgroundFill_","backgroundFill","backgroundStroke_","backgroundStroke","padding_","padding","getFont","getPlacement","getMaxAngle","getOverflow","getTextAlign","getTextBaseline","getOffsetX","getOffsetY","getBackgroundFill","getBackgroundStroke","getPadding","setOverflow","setFont","setMaxAngle","setOffsetX","setOffsetY","setPlacement","setRotation","setTextAlign","setTextBaseline","setBackgroundFill","setBackgroundStroke","setPadding","_util_js__WEBPACK_IMPORTED_MODULE_0__","_color_js__WEBPACK_IMPORTED_MODULE_1__","Fill","color_","checksum_","setColor","Stroke","lineCap_","lineDash_","lineDashOffset_","lineJoin_","miterLimit_","width_","setLineCap","setLineDashOffset","setLineJoin","setMiterLimit","setWidth","IDLE","LOADING","ERROR","opacity_","getSnapToPixel","setRotateWithView","setSnapToPixel","snapToPixel","CLASS_HIDDEN","CLASS_SELECTABLE","CLASS_UNSELECTABLE","CLASS_CONTROL","CLASS_COLLAPSED","getFontFamilies","family","fontFamily","_RegularShape_js__WEBPACK_IMPORTED_MODULE_0__","CircleStyle","setRadius","defaultFont","defaultFillStyle","defaultLineCap","defaultLineDash","defaultLineDashOffset","defaultLineJoin","defaultMiterLimit","defaultStrokeStyle","defaultTextAlign","defaultTextBaseline","defaultPadding","defaultLineWidth","labelCache","checkFont","measureTextHeight","measureTextWidth","rotateAtOffset","resetTransform","drawImage","_css_js__WEBPACK_IMPORTED_MODULE_0__","_dom_js__WEBPACK_IMPORTED_MODULE_1__","_obj_js__WEBPACK_IMPORTED_MODULE_2__","_structs_LRUCache_js__WEBPACK_IMPORTED_MODULE_3__","_transform_js__WEBPACK_IMPORTED_MODULE_4__","checkedFonts","measureContext","textHeights","interval","referenceWidth","retries","checked","referenceFonts","len","isAvailable","getMeasureContext","weight","fontWeight","available","referenceFont","measureText","check","done","clearInterval","fontSpec","fontFamilies","ii","setInterval","span","heights","textContent","margin","position","left","rotate","transform","originX","originY","w","h","alpha","globalAlpha","apply","asColorLike"],"mappings":"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","file":"js/chunk-12addaea.41750488.js","sourcesContent":["/**\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/style/TextPlacement\n */\n\n/**\n * Text placement. One of `'point'`, `'line'`. Default is `'point'`. Note that\n * `'line'` requires the underlying geometry to be a {@link module:ol/geom/LineString~LineString},\n * {@link module:ol/geom/Polygon~Polygon}, {@link module:ol/geom/MultiLineString~MultiLineString} or\n * {@link module:ol/geom/MultiPolygon~MultiPolygon}.\n * @enum {string}\n */\nexport default {\n POINT: 'point',\n LINE: 'line'\n};\n\n//# sourceMappingURL=TextPlacement.js.map","/**\n * @module ol/style/RegularShape\n */\n\nimport {asString} from '../color.js';\nimport {asColorLike} from '../colorlike.js';\nimport {createCanvasContext2D} from '../dom.js';\nimport {CANVAS_LINE_DASH} from '../has.js';\nimport ImageState from '../ImageState.js';\nimport {defaultStrokeStyle, defaultFillStyle, defaultLineCap, defaultLineWidth, defaultLineJoin, defaultMiterLimit} from '../render/canvas.js';\nimport ImageStyle from './Image.js';\n\n\n/**\n * Specify radius for regular polygons, or radius1 and radius2 for stars.\n * @typedef {Object} Options\n * @property {import(\"./Fill.js\").default} [fill] Fill style.\n * @property {number} points Number of points for stars and regular polygons. In case of a polygon, the number of points\n * is the number of sides.\n * @property {number} [radius] Radius of a regular polygon.\n * @property {number} [radius1] Outer radius of a star.\n * @property {number} [radius2] Inner radius of a star.\n * @property {number} [angle=0] Shape's angle in radians. A value of 0 will have one of the shape's point facing up.\n * @property {import(\"./Stroke.js\").default} [stroke] Stroke style.\n * @property {number} [rotation=0] Rotation in radians (positive rotation clockwise).\n * @property {boolean} [rotateWithView=false] Whether to rotate the shape with the view.\n * @property {import(\"./AtlasManager.js\").default} [atlasManager] The atlas manager to use for this symbol. When\n * using WebGL it is recommended to use an atlas manager to avoid texture switching. If an atlas manager is given, the\n * symbol is added to an atlas. By default no atlas manager is used.\n */\n\n\n/**\n * @typedef {Object} RenderOptions\n * @property {import(\"../colorlike.js\").ColorLike} [strokeStyle]\n * @property {number} strokeWidth\n * @property {number} size\n * @property {string} lineCap\n * @property {Array} lineDash\n * @property {number} lineDashOffset\n * @property {string} lineJoin\n * @property {number} miterLimit\n */\n\n\n/**\n * @classdesc\n * Set regular shape style for vector features. The resulting shape will be\n * a regular polygon when `radius` is provided, or a star when `radius1` and\n * `radius2` are provided.\n * @api\n */\nvar RegularShape = /*@__PURE__*/(function (ImageStyle) {\n function RegularShape(options) {\n /**\n * @type {boolean}\n */\n var rotateWithView = options.rotateWithView !== undefined ?\n options.rotateWithView : false;\n\n ImageStyle.call(this, {\n opacity: 1,\n rotateWithView: rotateWithView,\n rotation: options.rotation !== undefined ? options.rotation : 0,\n scale: 1\n });\n\n /**\n * @private\n * @type {Array}\n */\n this.checksums_ = null;\n\n /**\n * @private\n * @type {HTMLCanvasElement}\n */\n this.canvas_ = null;\n\n /**\n * @private\n * @type {HTMLCanvasElement}\n */\n this.hitDetectionCanvas_ = null;\n\n /**\n * @private\n * @type {import(\"./Fill.js\").default}\n */\n this.fill_ = options.fill !== undefined ? options.fill : null;\n\n /**\n * @private\n * @type {Array}\n */\n this.origin_ = [0, 0];\n\n /**\n * @private\n * @type {number}\n */\n this.points_ = options.points;\n\n /**\n * @protected\n * @type {number}\n */\n this.radius_ = /** @type {number} */ (options.radius !== undefined ?\n options.radius : options.radius1);\n\n /**\n * @private\n * @type {number|undefined}\n */\n this.radius2_ = options.radius2;\n\n /**\n * @private\n * @type {number}\n */\n this.angle_ = options.angle !== undefined ? options.angle : 0;\n\n /**\n * @private\n * @type {import(\"./Stroke.js\").default}\n */\n this.stroke_ = options.stroke !== undefined ? options.stroke : null;\n\n /**\n * @private\n * @type {Array}\n */\n this.anchor_ = null;\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.size_ = null;\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.imageSize_ = null;\n\n /**\n * @private\n * @type {import(\"../size.js\").Size}\n */\n this.hitDetectionImageSize_ = null;\n\n /**\n * @protected\n * @type {import(\"./AtlasManager.js\").default|undefined}\n */\n this.atlasManager_ = options.atlasManager;\n\n this.render_(this.atlasManager_);\n\n }\n\n if ( ImageStyle ) RegularShape.__proto__ = ImageStyle;\n RegularShape.prototype = Object.create( ImageStyle && ImageStyle.prototype );\n RegularShape.prototype.constructor = RegularShape;\n\n /**\n * Clones the style. If an atlasmanager was provided to the original style it will be used in the cloned style, too.\n * @return {RegularShape} The cloned style.\n * @api\n */\n RegularShape.prototype.clone = function clone () {\n var style = new RegularShape({\n fill: this.getFill() ? this.getFill().clone() : undefined,\n points: this.getPoints(),\n radius: this.getRadius(),\n radius2: this.getRadius2(),\n angle: this.getAngle(),\n stroke: this.getStroke() ? this.getStroke().clone() : undefined,\n rotation: this.getRotation(),\n rotateWithView: this.getRotateWithView(),\n atlasManager: this.atlasManager_\n });\n style.setOpacity(this.getOpacity());\n style.setScale(this.getScale());\n return style;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n RegularShape.prototype.getAnchor = function getAnchor () {\n return this.anchor_;\n };\n\n /**\n * Get the angle used in generating the shape.\n * @return {number} Shape's rotation in radians.\n * @api\n */\n RegularShape.prototype.getAngle = function getAngle () {\n return this.angle_;\n };\n\n /**\n * Get the fill style for the shape.\n * @return {import(\"./Fill.js\").default} Fill style.\n * @api\n */\n RegularShape.prototype.getFill = function getFill () {\n return this.fill_;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.getHitDetectionImage = function getHitDetectionImage (pixelRatio) {\n return this.hitDetectionCanvas_;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n RegularShape.prototype.getImage = function getImage (pixelRatio) {\n return this.canvas_;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.getImageSize = function getImageSize () {\n return this.imageSize_;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.getHitDetectionImageSize = function getHitDetectionImageSize () {\n return this.hitDetectionImageSize_;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.getImageState = function getImageState () {\n return ImageState.LOADED;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n RegularShape.prototype.getOrigin = function getOrigin () {\n return this.origin_;\n };\n\n /**\n * Get the number of points for generating the shape.\n * @return {number} Number of points for stars and regular polygons.\n * @api\n */\n RegularShape.prototype.getPoints = function getPoints () {\n return this.points_;\n };\n\n /**\n * Get the (primary) radius for the shape.\n * @return {number} Radius.\n * @api\n */\n RegularShape.prototype.getRadius = function getRadius () {\n return this.radius_;\n };\n\n /**\n * Get the secondary radius for the shape.\n * @return {number|undefined} Radius2.\n * @api\n */\n RegularShape.prototype.getRadius2 = function getRadius2 () {\n return this.radius2_;\n };\n\n /**\n * @inheritDoc\n * @api\n */\n RegularShape.prototype.getSize = function getSize () {\n return this.size_;\n };\n\n /**\n * Get the stroke style for the shape.\n * @return {import(\"./Stroke.js\").default} Stroke style.\n * @api\n */\n RegularShape.prototype.getStroke = function getStroke () {\n return this.stroke_;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.listenImageChange = function listenImageChange (listener, thisArg) {\n return undefined;\n };\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.load = function load () {};\n\n /**\n * @inheritDoc\n */\n RegularShape.prototype.unlistenImageChange = function unlistenImageChange (listener, thisArg) {};\n\n /**\n * @protected\n * @param {import(\"./AtlasManager.js\").default|undefined} atlasManager An atlas manager.\n */\n RegularShape.prototype.render_ = function render_ (atlasManager) {\n var imageSize;\n var lineCap = '';\n var lineJoin = '';\n var miterLimit = 0;\n var lineDash = null;\n var lineDashOffset = 0;\n var strokeStyle;\n var strokeWidth = 0;\n\n if (this.stroke_) {\n strokeStyle = this.stroke_.getColor();\n if (strokeStyle === null) {\n strokeStyle = defaultStrokeStyle;\n }\n strokeStyle = asColorLike(strokeStyle);\n strokeWidth = this.stroke_.getWidth();\n if (strokeWidth === undefined) {\n strokeWidth = defaultLineWidth;\n }\n lineDash = this.stroke_.getLineDash();\n lineDashOffset = this.stroke_.getLineDashOffset();\n if (!CANVAS_LINE_DASH) {\n lineDash = null;\n lineDashOffset = 0;\n }\n lineJoin = this.stroke_.getLineJoin();\n if (lineJoin === undefined) {\n lineJoin = defaultLineJoin;\n }\n lineCap = this.stroke_.getLineCap();\n if (lineCap === undefined) {\n lineCap = defaultLineCap;\n }\n miterLimit = this.stroke_.getMiterLimit();\n if (miterLimit === undefined) {\n miterLimit = defaultMiterLimit;\n }\n }\n\n var size = 2 * (this.radius_ + strokeWidth) + 1;\n\n /** @type {RenderOptions} */\n var renderOptions = {\n strokeStyle: strokeStyle,\n strokeWidth: strokeWidth,\n size: size,\n lineCap: lineCap,\n lineDash: lineDash,\n lineDashOffset: lineDashOffset,\n lineJoin: lineJoin,\n miterLimit: miterLimit\n };\n\n if (atlasManager === undefined) {\n // no atlas manager is used, create a new canvas\n var context = createCanvasContext2D(size, size);\n this.canvas_ = context.canvas;\n\n // canvas.width and height are rounded to the closest integer\n size = this.canvas_.width;\n imageSize = size;\n\n this.draw_(renderOptions, context, 0, 0);\n\n this.createHitDetectionCanvas_(renderOptions);\n } else {\n // an atlas manager is used, add the symbol to an atlas\n size = Math.round(size);\n\n var hasCustomHitDetectionImage = !this.fill_;\n var renderHitDetectionCallback;\n if (hasCustomHitDetectionImage) {\n // render the hit-detection image into a separate atlas image\n renderHitDetectionCallback =\n this.drawHitDetectionCanvas_.bind(this, renderOptions);\n }\n\n var id = this.getChecksum();\n var info = atlasManager.add(\n id, size, size, this.draw_.bind(this, renderOptions),\n renderHitDetectionCallback);\n\n this.canvas_ = info.image;\n this.origin_ = [info.offsetX, info.offsetY];\n imageSize = info.image.width;\n\n if (hasCustomHitDetectionImage) {\n this.hitDetectionCanvas_ = info.hitImage;\n this.hitDetectionImageSize_ =\n [info.hitImage.width, info.hitImage.height];\n } else {\n this.hitDetectionCanvas_ = this.canvas_;\n this.hitDetectionImageSize_ = [imageSize, imageSize];\n }\n }\n\n this.anchor_ = [size / 2, size / 2];\n this.size_ = [size, size];\n this.imageSize_ = [imageSize, imageSize];\n };\n\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n * @param {CanvasRenderingContext2D} context The rendering context.\n * @param {number} x The origin for the symbol (x).\n * @param {number} y The origin for the symbol (y).\n */\n RegularShape.prototype.draw_ = function draw_ (renderOptions, context, x, y) {\n var i, angle0, radiusC;\n // reset transform\n context.setTransform(1, 0, 0, 1, 0, 0);\n\n // then move to (x, y)\n context.translate(x, y);\n\n context.beginPath();\n\n var points = this.points_;\n if (points === Infinity) {\n context.arc(\n renderOptions.size / 2, renderOptions.size / 2,\n this.radius_, 0, 2 * Math.PI, true);\n } else {\n var radius2 = (this.radius2_ !== undefined) ? this.radius2_\n : this.radius_;\n if (radius2 !== this.radius_) {\n points = 2 * points;\n }\n for (i = 0; i <= points; i++) {\n angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;\n radiusC = i % 2 === 0 ? this.radius_ : radius2;\n context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),\n renderOptions.size / 2 + radiusC * Math.sin(angle0));\n }\n }\n\n\n if (this.fill_) {\n var color = this.fill_.getColor();\n if (color === null) {\n color = defaultFillStyle;\n }\n context.fillStyle = asColorLike(color);\n context.fill();\n }\n if (this.stroke_) {\n context.strokeStyle = renderOptions.strokeStyle;\n context.lineWidth = renderOptions.strokeWidth;\n if (renderOptions.lineDash) {\n context.setLineDash(renderOptions.lineDash);\n context.lineDashOffset = renderOptions.lineDashOffset;\n }\n context.lineCap = /** @type {CanvasLineCap} */ (renderOptions.lineCap);\n context.lineJoin = /** @type {CanvasLineJoin} */ (renderOptions.lineJoin);\n context.miterLimit = renderOptions.miterLimit;\n context.stroke();\n }\n context.closePath();\n };\n\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n */\n RegularShape.prototype.createHitDetectionCanvas_ = function createHitDetectionCanvas_ (renderOptions) {\n this.hitDetectionImageSize_ = [renderOptions.size, renderOptions.size];\n if (this.fill_) {\n this.hitDetectionCanvas_ = this.canvas_;\n return;\n }\n\n // if no fill style is set, create an extra hit-detection image with a\n // default fill style\n var context = createCanvasContext2D(renderOptions.size, renderOptions.size);\n this.hitDetectionCanvas_ = context.canvas;\n\n this.drawHitDetectionCanvas_(renderOptions, context, 0, 0);\n };\n\n /**\n * @private\n * @param {RenderOptions} renderOptions Render options.\n * @param {CanvasRenderingContext2D} context The context.\n * @param {number} x The origin for the symbol (x).\n * @param {number} y The origin for the symbol (y).\n */\n RegularShape.prototype.drawHitDetectionCanvas_ = function drawHitDetectionCanvas_ (renderOptions, context, x, y) {\n // reset transform\n context.setTransform(1, 0, 0, 1, 0, 0);\n\n // then move to (x, y)\n context.translate(x, y);\n\n context.beginPath();\n\n var points = this.points_;\n if (points === Infinity) {\n context.arc(\n renderOptions.size / 2, renderOptions.size / 2,\n this.radius_, 0, 2 * Math.PI, true);\n } else {\n var radius2 = (this.radius2_ !== undefined) ? this.radius2_\n : this.radius_;\n if (radius2 !== this.radius_) {\n points = 2 * points;\n }\n var i, radiusC, angle0;\n for (i = 0; i <= points; i++) {\n angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;\n radiusC = i % 2 === 0 ? this.radius_ : radius2;\n context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),\n renderOptions.size / 2 + radiusC * Math.sin(angle0));\n }\n }\n\n context.fillStyle = asString(defaultFillStyle);\n context.fill();\n if (this.stroke_) {\n context.strokeStyle = renderOptions.strokeStyle;\n context.lineWidth = renderOptions.strokeWidth;\n if (renderOptions.lineDash) {\n context.setLineDash(renderOptions.lineDash);\n context.lineDashOffset = renderOptions.lineDashOffset;\n }\n context.stroke();\n }\n context.closePath();\n };\n\n /**\n * @return {string} The checksum.\n */\n RegularShape.prototype.getChecksum = function getChecksum () {\n var strokeChecksum = this.stroke_ ?\n this.stroke_.getChecksum() : '-';\n var fillChecksum = this.fill_ ?\n this.fill_.getChecksum() : '-';\n\n var recalculate = !this.checksums_ ||\n (strokeChecksum != this.checksums_[1] ||\n fillChecksum != this.checksums_[2] ||\n this.radius_ != this.checksums_[3] ||\n this.radius2_ != this.checksums_[4] ||\n this.angle_ != this.checksums_[5] ||\n this.points_ != this.checksums_[6]);\n\n if (recalculate) {\n var checksum = 'r' + strokeChecksum + fillChecksum +\n (this.radius_ !== undefined ? this.radius_.toString() : '-') +\n (this.radius2_ !== undefined ? this.radius2_.toString() : '-') +\n (this.angle_ !== undefined ? this.angle_.toString() : '-') +\n (this.points_ !== undefined ? this.points_.toString() : '-');\n this.checksums_ = [checksum, strokeChecksum, fillChecksum,\n this.radius_, this.radius2_, this.angle_, this.points_];\n }\n\n return /** @type {string} */ (this.checksums_[0]);\n };\n\n return RegularShape;\n}(ImageStyle));\n\n\nexport default RegularShape;\n\n//# sourceMappingURL=RegularShape.js.map","/**\n * @module ol/structs/LRUCache\n */\n\nimport {assert} from '../asserts.js';\nimport EventTarget from '../events/Target.js';\nimport EventType from '../events/EventType.js';\n\n\n/**\n * @typedef {Object} Entry\n * @property {string} key_\n * @property {Object} newer\n * @property {Object} older\n * @property {*} value_\n */\n\n\n/**\n * @classdesc\n * Implements a Least-Recently-Used cache where the keys do not conflict with\n * Object's properties (e.g. 'hasOwnProperty' is not allowed as a key). Expiring\n * items from the cache is the responsibility of the user.\n *\n * @fires import(\"../events/Event.js\").Event\n * @template T\n */\nvar LRUCache = /*@__PURE__*/(function (EventTarget) {\n function LRUCache(opt_highWaterMark) {\n\n EventTarget.call(this);\n\n /**\n * @type {number}\n */\n this.highWaterMark = opt_highWaterMark !== undefined ? opt_highWaterMark : 2048;\n\n /**\n * @private\n * @type {number}\n */\n this.count_ = 0;\n\n /**\n * @private\n * @type {!Object}\n */\n this.entries_ = {};\n\n /**\n * @private\n * @type {?Entry}\n */\n this.oldest_ = null;\n\n /**\n * @private\n * @type {?Entry}\n */\n this.newest_ = null;\n\n }\n\n if ( EventTarget ) LRUCache.__proto__ = EventTarget;\n LRUCache.prototype = Object.create( EventTarget && EventTarget.prototype );\n LRUCache.prototype.constructor = LRUCache;\n\n\n /**\n * @return {boolean} Can expire cache.\n */\n LRUCache.prototype.canExpireCache = function canExpireCache () {\n return this.getCount() > this.highWaterMark;\n };\n\n\n /**\n * FIXME empty description for jsdoc\n */\n LRUCache.prototype.clear = function clear () {\n this.count_ = 0;\n this.entries_ = {};\n this.oldest_ = null;\n this.newest_ = null;\n this.dispatchEvent(EventType.CLEAR);\n };\n\n\n /**\n * @param {string} key Key.\n * @return {boolean} Contains key.\n */\n LRUCache.prototype.containsKey = function containsKey (key) {\n return this.entries_.hasOwnProperty(key);\n };\n\n\n /**\n * @param {function(this: S, T, string, LRUCache): ?} f The function\n * to call for every entry from the oldest to the newer. This function takes\n * 3 arguments (the entry value, the entry key and the LRUCache object).\n * The return value is ignored.\n * @param {S=} opt_this The object to use as `this` in `f`.\n * @template S\n */\n LRUCache.prototype.forEach = function forEach (f, opt_this) {\n var entry = this.oldest_;\n while (entry) {\n f.call(opt_this, entry.value_, entry.key_, this);\n entry = entry.newer;\n }\n };\n\n\n /**\n * @param {string} key Key.\n * @return {T} Value.\n */\n LRUCache.prototype.get = function get (key) {\n var entry = this.entries_[key];\n assert(entry !== undefined,\n 15); // Tried to get a value for a key that does not exist in the cache\n if (entry === this.newest_) {\n return entry.value_;\n } else if (entry === this.oldest_) {\n this.oldest_ = /** @type {Entry} */ (this.oldest_.newer);\n this.oldest_.older = null;\n } else {\n entry.newer.older = entry.older;\n entry.older.newer = entry.newer;\n }\n entry.newer = null;\n entry.older = this.newest_;\n this.newest_.newer = entry;\n this.newest_ = entry;\n return entry.value_;\n };\n\n\n /**\n * Remove an entry from the cache.\n * @param {string} key The entry key.\n * @return {T} The removed entry.\n */\n LRUCache.prototype.remove = function remove (key) {\n var entry = this.entries_[key];\n assert(entry !== undefined, 15); // Tried to get a value for a key that does not exist in the cache\n if (entry === this.newest_) {\n this.newest_ = /** @type {Entry} */ (entry.older);\n if (this.newest_) {\n this.newest_.newer = null;\n }\n } else if (entry === this.oldest_) {\n this.oldest_ = /** @type {Entry} */ (entry.newer);\n if (this.oldest_) {\n this.oldest_.older = null;\n }\n } else {\n entry.newer.older = entry.older;\n entry.older.newer = entry.newer;\n }\n delete this.entries_[key];\n --this.count_;\n return entry.value_;\n };\n\n\n /**\n * @return {number} Count.\n */\n LRUCache.prototype.getCount = function getCount () {\n return this.count_;\n };\n\n\n /**\n * @return {Array} Keys.\n */\n LRUCache.prototype.getKeys = function getKeys () {\n var keys = new Array(this.count_);\n var i = 0;\n var entry;\n for (entry = this.newest_; entry; entry = entry.older) {\n keys[i++] = entry.key_;\n }\n return keys;\n };\n\n\n /**\n * @return {Array} Values.\n */\n LRUCache.prototype.getValues = function getValues () {\n var values = new Array(this.count_);\n var i = 0;\n var entry;\n for (entry = this.newest_; entry; entry = entry.older) {\n values[i++] = entry.value_;\n }\n return values;\n };\n\n\n /**\n * @return {T} Last value.\n */\n LRUCache.prototype.peekLast = function peekLast () {\n return this.oldest_.value_;\n };\n\n\n /**\n * @return {string} Last key.\n */\n LRUCache.prototype.peekLastKey = function peekLastKey () {\n return this.oldest_.key_;\n };\n\n\n /**\n * Get the key of the newest item in the cache. Throws if the cache is empty.\n * @return {string} The newest key.\n */\n LRUCache.prototype.peekFirstKey = function peekFirstKey () {\n return this.newest_.key_;\n };\n\n\n /**\n * @return {T} value Value.\n */\n LRUCache.prototype.pop = function pop () {\n var entry = this.oldest_;\n delete this.entries_[entry.key_];\n if (entry.newer) {\n entry.newer.older = null;\n }\n this.oldest_ = /** @type {Entry} */ (entry.newer);\n if (!this.oldest_) {\n this.newest_ = null;\n }\n --this.count_;\n return entry.value_;\n };\n\n\n /**\n * @param {string} key Key.\n * @param {T} value Value.\n */\n LRUCache.prototype.replace = function replace (key, value) {\n this.get(key); // update `newest_`\n this.entries_[key].value_ = value;\n };\n\n\n /**\n * @param {string} key Key.\n * @param {T} value Value.\n */\n LRUCache.prototype.set = function set (key, value) {\n assert(!(key in this.entries_),\n 16); // Tried to set a value for a key that is used already\n var entry = /** @type {Entry} */ ({\n key_: key,\n newer: null,\n older: this.newest_,\n value_: value\n });\n if (!this.newest_) {\n this.oldest_ = entry;\n } else {\n this.newest_.newer = entry;\n }\n this.newest_ = entry;\n this.entries_[key] = entry;\n ++this.count_;\n };\n\n\n /**\n * Set a maximum number of entries for the cache.\n * @param {number} size Cache size.\n * @api\n */\n LRUCache.prototype.setSize = function setSize (size) {\n this.highWaterMark = size;\n };\n\n\n /**\n * Prune the cache.\n */\n LRUCache.prototype.prune = function prune () {\n while (this.canExpireCache()) {\n this.pop();\n }\n };\n\n return LRUCache;\n}(EventTarget));\n\nexport default LRUCache;\n\n//# sourceMappingURL=LRUCache.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/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/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